Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 13/14] Klamry {} w if...else

Ostatnio zmodyfikowano 2012-06-25 20:50
Autor Wiadomość
SeaMonster131
» 2012-06-22 21:26:55
Nie możesz dać:
C/C++
if( cos tam )
     instrukcja;

TutajNastepnaInstrukcja();
IJeszczeJedna();

else
     instrukcja2;

Konstrukcja if{}else wygląda tak:
C/C++
if( cos tam )
     instrukcja;
else
     instrukcja2;

// lub:

if( cos tam )
{
    instrukcja1;
    instrukcja2;
    instrukcja3;
    ...
}
else
{
    ...
}
P-58940
DejaVu
» 2012-06-22 22:34:47
(...) a po zalogowaniu na Somiss'a nie działała żadna podstrona?
Konta nie aktywowałeś. Link aktywacyjny nadaje uprawnienia użytkownikowi.
P-58943
Netro
» 2012-06-23 10:59:08
teraz kompiluje sie :)
sprawdź kod poprawiony z tym co miałeś poprzednio


C/C++
#include <iostream>
int main()
{
    int liczba;
   
    std::cout << "Wybierz rodzaj dzialania: " << std::endl;
    std::cout << "1. Dodawanie" << std::endl;
    std::cout << "2. Odejmowanie" << std::endl;
    std::cout << "3. Mnozenie" << std::endl;
    std::cout << "4. Dzielenie" << std::endl;
    std::cin >> liczba;
   
    float a;
    std::cout << "Podaj liczbe pierwsza: ";
    std::cin >> a;
   
    float b;
    std::cout << "Podaj liczbe druga: ";
    std::cin >> b;
   
    switch( liczba )
    {
    case 1:
        {
            std::cout << "a + b = " << a + b << std::endl;
            std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
            break;
        }
    case 2:
        {
            std::cout << "a - b = " << a - b << std::endl;
            std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
            break;
        }
    case 3:
        {
            std::cout << "a * b = " << a * b << std::endl;
            std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
            break;
        }
    case 4:
        {
           
            if( b == 0 )
            {
                std::cout << "Tylko chuck Norris moze dzielic przez 0!" << std::endl;
                return - 1;
            }
            else
            {
                std::cout << "a / b = " << a / b << std::endl;
                std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
                break;
            }
            default:
            {
                std::cout << "Nie wybrales zadnego z powyzszych dzialan, kalkulator wylaczy sie" << std::endl;
                break;
            }
        }
    }
}
P-58957
Wafel
» 2012-06-23 13:32:24
Mój kod z tym powyżej jest niemal identyczny. Jedyna różnica jaką zauważyłem to taka, że na końcu jest tam o 1 klamrę } więcej. Poza tym program nadal nie wraca do tego żeby wpisać jeszcze raz liczby tylko wyłącza się. Chciałem też pokazać go koledze, więc wysłałem mu kalkulator jako aplikację. I wtedy wyszedł kolejny błąd bo po wpisaniu liczb błyskawicznie się wyłącza. Można go jakoś spowolnić, żeby nie zamykał się tak szybko?

//edit

Całkiem możliwe, że nie aktywowałem maila i zagubił się pośród 2326 innych wiadomości na chwilę obecną.
P-58961
kampar
» 2012-06-23 15:01:08
a jak chcesz, żeby po wykonaniu działania z powrotem wróciło do menu skoro tego nie napisałeś? Musisz po prostu całe ciało programu wsadzić do pętli.
P-58975
SeaMonster131
» 2012-06-23 16:47:21
Można go jakoś spowolnić, żeby nie zamykał się tak szybko?
Można, na przykład getch() z conio.h lub system("pause") i inne..
P-58979
Wafel
» 2012-06-23 21:17:11
C/C++
#include <iostream>
int main()
{
    int liczba;
   
    do
    {
       
        std::cout << "Wybierz rodzaj dzialania: " << std::endl;
        std::cout << "1. Dodawanie" << std::endl;
        std::cout << "2. Odejmowanie" << std::endl;
        std::cout << "3. Mnozenie" << std::endl;
        std::cout << "4. Dzielenie" << std::endl;
        std::cout << "5. Wyjscie" << std::endl;
        std::cin >> liczba;
       
        float a;
        std::cout << "Podaj liczbe pierwsza: ";
        std::cin >> a;
       
        float b;
        std::cout << "Podaj liczbe druga: ";
        std::cin >> b;
       
        switch( liczba )
        {
        case 1:
            {
                std::cout << "a + b = " << a + b << std::endl;
                std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
                break;
            }
        case 2:
            {
                std::cout << "a - b = " << a - b << std::endl;
                std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
                break;
            }
        case 3:
            {
                std::cout << "a * b = " << a * b << std::endl;
                std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
                break;
            }
        case 4:
            {
               
                if( b == 0 )
                {
                    std::cout << "Tylko chuck Norris moze dzielic przez 0!" << std::endl;
                    return - 1;
                }
                else
                {
                    std::cout << "a / b = " << a / b << std::endl;
                    std::cout << "Dzieki za skorzystanie z kalkulatora, milego dnia :) " << std::endl;
                    break;
                }
                default:
                {
                    std::cout << "Nie wybrales zadnego z powyzszych dzialan, kalkulator wylaczy sie" << std::endl;
                    break;
                   
                }
            }
        }
    } while( liczba != 5 );
   
    std::cout << "Program zostanie zamkniety" << std::endl;
}

Zrobiłem tą pętlę. Wyjaśni mi ktoś dlaczego przed zamknięciem program chce żeby wpisać liczby a i b? Jak się tego pozbyć?
P-58997
SeaMonster131
» 2012-06-23 22:13:45
Po
std::cin >> liczba;
 daj
C/C++
if( liczba == 5 )
     break;

Lub daj jakiegoś if'a zeby wpisywanie liczb było wtedy, gdy wybrana opcja to >= 1 i <= 4, lub cokolwiek. A dzieje sie tak, bo tak skonstruowałeś program :)
P-59000
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona