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

Lekcja 15 zadanie kalkulator

Ostatnio zmodyfikowano 2016-12-15 20:43
Autor Wiadomość
IceMan85PL
Temat założony przez niniejszego użytkownika
Lekcja 15 zadanie kalkulator
» 2016-12-15 20:25:59
Witam. Mam problem poniewaz w kodzie przy
C/C++
if(( spr_z == 0 ) ||( znak > 5 ) ||( znak < 0 ) );

{
    cout << "Zly znak, podaj poprawne rownanie" << endl;
}
 program za kazdym razem czyta instrukcje z if chodź nie powinien. O to cały kod
C/C++
#include <iostream>


using namespace std;

int main()
{
    int wynik = 0, a, b, znak;
    bool spr_a, spr_b, spr_z;
   
   
    cout << "-----KALKULATOR-----" << endl;
    do
    {
        do
        {
            cout << "Obecny wynik: " << wynik << endl;
            cout << "Wprowadz liczbe: ";
            cin >> a;
            spr_a = cin.good();
            cin.clear();
            cin.sync();
            cout << "wprowadz druga liczbe: ";
            cin >> b;
            spr_b = cin.good();
            cin.clear();
            cin.sync();
            if(( spr_a == 0 ) ||( spr_b == 0 ) );
           
            {
                cout << "Niepoprawne dane, wprowadz liczby" << endl;
            }
        } while(( spr_a != 1 ) ||( spr_b != 1 ) );
       
        if(( a != 0 && b != 0 ) )
        {
           
            do
            {
                cout << "[1]Dodawanie" << endl << "[2]Odejmowanie" << endl << "[3]Mnozenie" << endl << "[4]Dzielenie" << endl << "[5]Zakoncz" << endl;
                cin >> znak;
                spr_z = cin.good();
                cin.clear();
                cin.sync();
                cout << spr_z << endl;
                if(( spr_z == 0 ) ||( znak > 5 ) ||( znak < 0 ) );
               
                {
                    cout << "Zly znak, podaj poprawne rownanie" << endl;
                }
            } while(( spr_z != 1 ) ||( znak > 5 ) ||( znak < 0 ) );
           
            switch( znak )
            {
            case 1:
                cout << a + b << endl;;
                break;
            case 2:
                cout << a - b << endl;
                break;
            case 3:
                cout << a * b << endl;
                break;
            case 4:
                cout << a / b << endl;
                break;
            case 5:
                cout << "Koniec" << endl;
                break;
            }
        }
    } while(( znak != 5 ) &&( a != 0 ) &&( b != 0 ) );
   
   
    return 0;
}
P-155010
czaffik
» 2016-12-15 20:39:39
Linie 28 i 46, niepotrzebny średnik po warunku; warunek się wykona ale to co następuje zaraz po nim także, niezależnie od wyniku warunku, bo już do niego nie należy.
P-155012
IceMan85PL
Temat założony przez niniejszego użytkownika
» 2016-12-15 20:43:32
Dzieki. Głowiłem się nad tym sporo czasu :), teraz bede pamietał o tym.
P-155013
« 1 »
  Strona 1 z 1