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

lekcja 15 - kalkulator, problem z działaniem petli

Ostatnio zmodyfikowano 2012-02-12 20:13
Autor Wiadomość
SunsetGirl
Temat założony przez niniejszego użytkownika
lekcja 15 - kalkulator, problem z działaniem petli
» 2012-02-12 18:06:50
Witam, zastanawiam się, jak utworzyć pętlę,  żeby po wciśnięciu [6] można było zakończyć pracę kalkulatora (tj. żeby podany w kodzie napis "Rezygnuje" i "Koniec" się wyświetlił, i żeby nie można było ponownie wpisać liczb a i b). Na razie działa tak, że po [6] się po prostu zacina.

P.S. Kalkulator nie jest w 100% napisany zgodnie z zadaniem domowym, więc prosiłabym o komentarze dotyczące tylko tego problemu.




C/C++
#include <iostream>

using namespace std;

int main()
{
    cout << "Kalkulator prosty\n" << endl;
   
    float a;
    float b;
    int dzialanie;
   
   
    do
    { cout << "Podaj liczbe a: " << endl;
        cin >> a;
        cin.clear();
        cin.sync();
       
       
       
        cout << "Podaj liczbe b:" << endl;
       
        cin >> b;
        cin.clear();
        cin.sync();
       
       
        if( b == 0 )
       
        cout << "Musisz podac liczbe wieksza od 0 \n"
             "Podaj liczby jeszcze raz: " << endl;
       
    } while( b == 0 );
   
   
    cout << "Wybierz dzialanie: \n"
    "[1] dodawanie \n"
    "[2] odejmowanie a - b \n"
    "[3] odejmowanie b-a \n"
    "[4] mnozenie \n"
    "[5] dzielenie \n"
    "[6] rezygnuje \n"
    << endl;
   
   
    do {
        cin >> dzialanie;
       
        cin.clear();
        cin.sync();
       
        switch( dzialanie )
       
        {
        case 1:
           
            cout << "Wynik dodawania: " << a + b << endl;
           
            break;
           
        case 2:
           
            cout << "Wynik odejmowania a-b: " << a - b << endl;
           
            break;
           
        case 3:
           
            cout << "Wynik odejmowania b-a: " << b - a << endl;
           
            break;
           
        case 4:
           
            cout << "Wynik mnozenia: " << a * b << endl;
           
            break;
           
        case 5:
            cout << "Wynik dzielenia: " << a / b << endl;
            break;
           
        }
       
    } while( cin.good() );
   
   
    do {
        cin >> dzialanie;
        cin.clear();
        cin.sync();
       
        switch( dzialanie )
       
        {
        case 6:
            cout << "Rezygnuje \n\n" << endl;
        }
       
        cout << "Koniec" << endl;
       
    } while( cin.good() );
   
    return 0;
   
}
P-50582
grizzPL
While
» 2012-02-12 19:43:35
Zmień "while (cin.good());" na "while ((dzialanie >= 1) && (dzialanie <=5));". A potem:

    cout << "Rezygnuje \n\n" << endl;
    cout << "Koniec" << endl;

    return 0;

}
P-50592
SunsetGirl
Temat założony przez niniejszego użytkownika
Działa
» 2012-02-12 20:13:24
Dziękuję za wskazówkę, bo przy grze losowej miałam podobny hochlik;)
P-50600
« 1 »
  Strona 1 z 1