Lekcja 15 zadanie kalkulator
Ostatnio zmodyfikowano 2016-12-15 20:43
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 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 #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; }
|
|
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. |
|
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. |
|
« 1 » |