Mateusz0230 Temat założony przez niniejszego użytkownika |
Switch Case - zadanie domowe » 2016-11-14 17:10:15 Siemka wszystkim! Siedzę już około półtora godziny przy tym rozdziale i nie umiem zrobić zadania domowego, po prostu za cholerę nie mogę zrozumieć tego tematu. Jest zadanie: "Napisz prosty kalkulator dla dwóch liczb, obsługujący cztery działania matematycznie: +, -, * i /. Wykorzystaj wiedzę zdobytą z niniejszego rozdziału.". Napisałem coś takiego: #include <iostream> int main() { int a, b; std::cout << "Podaj liczbe a: " << std::endl; std::cin >> a; std::cout << "Podaj liczbe b: " << std::endl; std::cin >> b; switch( a, b ) { case 12: std::cout << "Wynik z dodawania:" << a + b << std::endl; break; case 8: std::cout << "Wynik z odejmowania:" << a - b << std::endl; break; case 20: std::cout << "Wynik z mnozenia:" << a * b << std::endl; break; case 5: std::cout << "Wynik z dzielenia:" << a / b << std::endl; break; } return 0; }
Dla Was to pewnie pestka, więc jakby ktoś mógł mi powiedzieć co tutaj źle robię, nie piszcie żebym dokładnie przeczytał jeszcze raz rozdział bo to i tak u mnie nie działa, już próbowałem parę razy i dalej to samo. |
|
grego |
» 2016-11-14 18:27:44 A czego dokładnie nie możesz zrozumieć ? :) |
|
Mateusz0230 Temat założony przez niniejszego użytkownika |
» 2016-11-14 19:05:51 Dokładnie to nie wiem czego nie rozumiem właśnie xD. Kod wydaje mi się dobrze napisany, ale gdy uruchomie program to nie działają te działania.. w sumie jeśli chcesz to możesz sam wkleić i zobaczyć. Z góry dzięki. |
|
karambaHZP |
» 2016-11-14 19:30:48 nie piszcie żebym dokładnie przeczytał jeszcze raz rozdział bo to i tak u mnie nie działa, już próbowałem parę razy i dalej to samo. |
Przy kolejnym czytaniu zwróć uwagę na szczegóły. Instrukcja switch() przyjmuje jeden parametr, a u ciebie są dwa. |
|
grego |
» 2016-11-14 19:42:37 Warto dodać, że case w tym przypadku zwraca uwagę co jest w 'b' a nie w 'a' ze względu na operator " , " , który powduje że case ( w tym przypadku ) zwraca uwagę na wartości te najbardziej z prawej ( nie dotyczy wywołań funkcji). |
|
Mateusz0230 Temat założony przez niniejszego użytkownika |
» 2016-11-14 21:09:38 Dziękuje Panowie, rzeczywiście pominąłem to. No to jak mam zrobić to zadanie, żeby programik obliczał te wartości (+,-,*,/)? Jak tutaj to zmienić? |
|
carlosmay |
» 2016-11-14 22:51:15 np. tak: #include <iostream> #include <iostream> int main() { float a, b; char dzialanie; std::cout << "Podaj dane w formie: a dzialanie b " << std::endl; std::cin >> a >> dzialanie >> b; switch( dzialanie ) { case '+': std::cout << "Wynik z dodawania:" << a + b << std::endl; break; case '-': std::cout << "Wynik z odejmowania:" << a - b << std::endl; break; case '*': std::cout << "Wynik z mnozenia:" << a * b << std::endl; break; case '/': if( b != 0 ) std::cout << "Wynik z dzielenia:" << a / b << std::endl; else std::cerr << "Dzielenie przez zero jest niedozowlone.\n"; break; default: std::cerr << "Nieznane dzialanie.\n"; break; } return 0; } |
|
Mateusz0230 Temat założony przez niniejszego użytkownika |
» 2016-11-15 15:03:43 Dzięki za pomoc :D. |
|
« 1 » |