switch case problem z default
Ostatnio zmodyfikowano 2016-10-23 14:23
kirito1996 Temat założony przez niniejszego użytkownika |
switch case problem z default » 2016-10-23 13:59:41 cześć mam taki problem że program nie wyświetla komunikatu z default, znaczy wyświetla ale tylko za pierwszą próbą tzn. podaje poprawną liczbę pierwszą podaję również drugą potem program pokazuje jakie są dostępne opcję i właśnie w tym momencie jak wpiszę literę to ok komunikat się wyświetli ale gdy wybiorę daną funkcję programu dajmy na to [1] - dodawanie, program to policzy poda wynik i jak teraz spróbuję wpisać literę zamiast liczby to nic się nie stanie to znaczy że program zrobi pętle ale nie wyświetli komunikatu a jak podam teraz błędną liczbę tzn. "9" to pojawi się komunikat, bez sensu wytłumaczycie mi to ?? #include <cstdio> #include <iostream> #include <windows.h> #include <cstdlib> using namespace std;
int wczytajliczbe() { int a; bool b; do { cin >> a; b = cin.good(); cin.clear(); cin.sync(); } while( b == 0 ); return a; }
int main() { int wynik = 0; int c; int a; int b; bool sukces; do { cout << "obecny wynik to = " << wynik << endl; cin.clear(); cin.sync(); cout << "podaj liczbe pierwsza: "; a = wczytajliczbe(); if( a != 0 ) { cout << "podaj liczbe druda: "; b = wczytajliczbe(); } else return 0; if( b != 0 && a != 0 ) { do { cout << " [1] Dodawania \n [2] Odejmowanie \n [3] mnozenie \n [4] dzielenie \n [5] powrot \n [6] wyjscie \n"; cin >> c; sukces = cin.good(); cin.clear(); cin.sync(); system( "cls" ); switch( c ) { case 1: wynik = a + b; cout << a << " + " << b << " = " << wynik << endl; break; case 2: wynik = a - b; cout << a << " - " << b << " = " << wynik << endl; break; case 3: wynik = a * b; cout << a << " * " << b << " = " << wynik << endl; break; case 4: wynik = a / b; cout << a << " / " << b << " = " << wynik << endl; break; case 5: break; case 6: return 0; break; default: system( "cls" ); cout << "nie poprawny wybor \n"; } } while( c != 5 || sukces == 0 ); } else return 0; } while( c != 6 ); return 0; }
|
|
carlosmay |
» 2016-10-23 14:07:30 |
|
kirito1996 Temat założony przez niniejszego użytkownika |
» 2016-10-23 14:23:13 o fajnie ;D teraz wszystko gra ;DD |
|
« 1 » |