[Lekcja 15] Kalkulator
Ostatnio zmodyfikowano 2014-01-06 13:12
Cray Temat założony przez niniejszego użytkownika |
[Lekcja 15] Kalkulator » 2014-01-06 12:44:10 Witam wszystkich! Napisałem następujący kod: #include <iostream> using namespace std;
int main() { int a; int b; int c; int d; do { cin.clear(); cin.sync(); cout << "\t \tKALKULATOR" << endl; cout << "\nPodaj liczbe = "; cin >> a; cout << "Podaj druga liczbe = "; cin >> b; cout << "\nWybierz dzialanie: \nDodawanie - 1 \nDzielenie - 2 \nMnozenie - 3 \nDzielenie - 4 \nZakoncz - 0" << endl; cout << "\nWybor - "; cin >> c; switch( c ) { case 1: cout << "\nSuma = " << a + b << endl; break; case 2: cout << "\nRoznica = " << a - b << endl; break; case 3: cout << "\nIloczyn = " << a * b << endl; break; case 4: switch( b ) { case 0: cout << "\nNie dzielmy przez 0!" << endl; break; default: cout << "\nIloraz = " << a / b << endl; break; } case 0: return 0; default: cout << "\nMialo byc od 1 do 4..." << endl; break; } } while( d != 0 ); return 0; } Mam następujący problem - gdy program wykonuje dzielenie zamiast powrócić na początek to on wyłącza się. Poza tym proszę o wasze komentarze - co o tym sądzicie i co można zmienić. |
|
leon_w |
» 2014-01-06 12:52:14 Pewnie dlatego, że d nie ma przypisanej żadnej wartości. |
|
Cray Temat założony przez niniejszego użytkownika |
» 2014-01-06 13:01:06 Zmieniłem wartość d na 1 ale i tak dzielenie nadal nie działa. |
|
leon_w |
» 2014-01-06 13:07:39 Musisz dać break za klamrą kończącą instrukcje switch b. Teraz wykonuje się tak instrukcja, masz break po case 0 i default, ale gdy wychodzisz poza tą instrukcje, wykonuje się następna, czyli case 0; |
|
Cray Temat założony przez niniejszego użytkownika |
» 2014-01-06 13:12:41 Dzięki, teraz działa. Podczas nauki niestety takie rzeczy się zdarzają. :C
Jeszcze raz wielkie dzięki. |
|
« 1 » |