Pętla do...while
Ostatnio zmodyfikowano 2017-05-05 15:18
adrian.paz Temat założony przez niniejszego użytkownika |
Pętla do...while » 2017-05-04 17:41:27 Witam mam problem z petlą w kalkulatorze. Po wybraniu opcji 'powrót do głównego menu' pętla powtarza się bez końca i znów prosi o podanie liczb x i y.. Próbowałem już na różne sposoby umieścić tą opcję nr '5' ale nic nie działa :( Jeżeli problem leży głębiej i mam podać kod całego programu gdzie są jeszcze inne funkcje proszę napisać :) Nie podawałem ponieważ jest bardzo długi :) { float x, y; char wybor; do { system( "cls" ); cout << "Wybierz pierwsza liczbe: "; cin >> x; cout << "Wybierz druga liczbe: "; cin >> y; system( "cls" ); cout << "****MENU KALKULATORA****" << endl; cout << "******************************" << endl; cout << "[1] Dodawanie" << endl; cout << "[2) Odejmowanie" << endl; cout << "[3] Mnozenie" << endl; cout << "[4] Dzielenie" << endl; cout << "[5] Powrot do glownego menu" << endl; cout << "[6] Wyjscie" << endl; wybor = getch(); switch( wybor ) { case '1': cout << "Suma = " << x + y; getchar(); getchar(); system( "cls" ); break; case '2': cout << "Roznica = " << x - y; getchar(); getchar(); system( "cls" ); break; case '3': cout << "Iloczyn = " << x * y; getchar(); getchar(); system( "cls" ); break; case '4': if( y == 0 ) cout << "Nie dzielimy przez zero!" << "\a" << endl; else cout << "Iloraz = " << x / y; getchar(); getchar(); system( "cls" ); break; case '6': exit( 0 ); break; default: cout << "Nie znaleziono takiej opcji" << "\a" << endl; } } while( wybor != 5 ); moja_funkcja(); } |
|
pimpek |
» 2017-05-04 19:12:05 W pętli while(wybor!= '5') MUSISZ 5 wziąć w '' , bo wybor=getch(); pobiera kod ASCII klawisza(w tym wypadku 5). KOD ASCII 5 w systemie dziesietnym to 53. Więc twoja pętla powina wygladac tak: while(wybor!='5'); lub while(wybor!=53); wtedy pętla się zakończy.
Ewentualnie możesz wykorzystać Case '5': instrukcja powrotu do menu i tyle ( np goto) . Pozdro. |
|
karambaHZP |
» 2017-05-04 19:45:58 Case '5': instrukcja powrotu do menu i tyle ( np goto) . |
goto to zła praktyka (nie uczyć się). |
|
adrian.paz Temat założony przez niniejszego użytkownika |
Petla do...while » 2017-05-05 15:18:14 Udało się :) Pętla już działa :D Tylko nie wiem czemu nie działa opcja while(wybor!='5') tylko działa akurat while(wybor!=53) Ktoś wie czemu? |
|
« 1 » |