Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyjście z pętli

Ostatnio zmodyfikowano 2018-07-09 09:13
Autor Wiadomość
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
C/C++
#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; // na raze hie skończony
           
           
           
        default: cout << "Błędny wybór\n";
        }
    }
}
P-117702
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.
P-117703
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.
P-117707
pekfos
» 2014-09-28 13:58:38
Można konkrety, a nie "na przykład", "coś w rodzaju"..?
P-117708
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
P-117709
Monika90
» 2014-09-28 14:12:27
C/C++
cout << "ile jest " << liczba1 << "*" << liczba2 << "?";
cin >> wybor;
if( wybor == 'x' )
     return 0;

cin.putback( wybor );
cin >> odp;
P-117710
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 ?
P-117712
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.
P-117720
« 1 » 2
  Strona 1 z 2 Następna strona