Wyjście z pętli
Ostatnio zmodyfikowano 2018-07-09 09:13
diooda Temat założony przez niniejszego użytkownika |
Wyjście z pętli » 2014-09-28 13:13:04 Witam. program tabliczka mnożenia. Wiem że takich tematów było milion ale nie chciałbym przepisywać gotowych wzorców tylko samemu przejść ten temat. mianowicie: Wpisałem dla pętli for 10 powtorzeń. jaka jest możliwość wcześniejszego wyjśćia z tej pętli np po trzech zapytaniach o mnożenie chcemy wyjść do menu głównego. dzięki #include <iostream> #include <string>
using namespace std;
int main( int argc, const char * argv[] ) { char wybor; int liczba1 = 0; int liczba2 = 0; int wynik; int odp; cout << " Wybierasz mnożenie czy dzielenie? Jeśli mnożenie wybierz m jeśli dzielenie wybierz d, jeśli chcesz zakończyć wybierz x"; while( cin >> wybor ) { if( wybor == 'x' ) break; switch( wybor ) { case 'm': cout << "wybrałeś mnożenie "; for( int i = 1; i <= 10; i++ ) { srand( unsigned( time( 0 ) ) ); liczba1 = rand() % 10; liczba2 = rand() % 10; cout << "ile jest " << liczba1 << "*" << liczba2 << "?"; cin >> odp; wynik = liczba1 * liczba2; cout << wynik; if( wynik == odp ) cout << "\ngratulacje\n"; else cout << "\nzle\n"; } case 'd': cout << "wybrałeś dzielenie"; return 0; break; default: cout << "Błędny wybór\n"; } } } |
|
pekfos |
» 2014-09-28 13:16:59 jaka jest możliwość wcześniejszego wyjśćia z tej pętli | break, return, lepszy warunek pętli. |
|
diooda Temat założony przez niniejszego użytkownika |
» 2014-09-28 13:48:50 bardziej mi chodzi o coś w rodzaju esc czyli aby mój wcześniej użyty x działał globalnie. |
|
pekfos |
» 2014-09-28 13:58:38 Można konkrety, a nie "na przykład", "coś w rodzaju"..? |
|
diooda Temat założony przez niniejszego użytkownika |
» 2014-09-28 14:05:15 podałem:
"mój wcześniej użyty x działał globalnie"
Zawsze możesz wyjść naciskając x
|
|
Monika90 |
» 2014-09-28 14:12:27 cout << "ile jest " << liczba1 << "*" << liczba2 << "?"; cin >> wybor; if( wybor == 'x' ) return 0;
cin.putback( wybor ); cin >> odp;
|
|
diooda Temat założony przez niniejszego użytkownika |
» 2014-09-28 14:35:10 wow dziękuje Monika90 jak to działa ? czy cin.putback( wybor ); pomija cin >> wybor; i skacze do cin >>odp; chyba że wpisaliśmy x ? |
|
Monika90 |
» 2014-09-28 16:12:32 To działa tak: Odczytujemy jeden znak ze strumienia, jeżeli to jest 'x' to wychodzimy z main za pomocą return 0;, w przeciwnym wypadku (np. gdy była to cyfra) wstawiamy ten znak z powrotem do strumienia, tak że następna operacja odczytu (czyli cin >> odp;) odczyta ten wstawiony z powrotem znak i ewentualnie jakieś następne, które w strumieniu znajdują się po nim. |
|
« 1 » 2 |