[Lekcja 13/14] Klamry {} w if...else
Ostatnio zmodyfikowano 2012-06-25 20:50
SeaMonster131 |
» 2012-06-22 21:26:55 Nie możesz dać: if( cos tam ) instrukcja;
TutajNastepnaInstrukcja(); IJeszczeJedna();
else instrukcja2;
Konstrukcja if{}else wygląda tak: if( cos tam ) instrukcja; else instrukcja2;
if( cos tam ) { instrukcja1; instrukcja2; instrukcja3; ... } else { ... }
|
|
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. |
|
Netro |
» 2012-06-23 10:59:08 teraz kompiluje sie :) sprawdź kod poprawiony z tym co miałeś poprzednio #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; } } } }
|
|
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ą. |
|
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. |
|
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.. |
|
Wafel |
» 2012-06-23 21:17:11 #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ć? |
|
SeaMonster131 |
» 2012-06-23 22:13:45 Po std::cin >> liczba; daj 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 :) |
|
1 « 2 » 3 |