Rozdzial 15 kalkulator
Ostatnio zmodyfikowano 2016-10-05 14:04
IceMan85PL Temat założony przez niniejszego użytkownika |
Rozdzial 15 kalkulator » 2016-10-04 18:01:44 Witam. Mam pytanie odnosnie zakonczenia petli do while. Chcialem by petla zakonczyla sie kiedy zmienna (z) bedzie rowna 0 i tym samym program sie zakonczyl, lecz tak nie jest. Co nalezy poprawic? #include <iostream>
using namespace std;
int main() { int a, b; char z; cout << "**********KALKULATOR**********" << endl; do { cout << "Podaj pierwsza liczbe:"; cin >> a; cout << "Podaj druga liczbe:"; cin >> b; cout << "1.Dodawanie (+)" << endl << "2.Odejmowanie (-)" << endl << "3.Mnozenie (*)" << endl << "4.Dzielenie (/)" << endl << "5.Reszta z dzielenia (%)" << endl << "6.Zakoncz program (0)" << endl; cout << "Wybierz dzialanie:"; cin >> z; switch( z ) { case '+': cout << "Wynik to: " << a + b << endl; break; case '-': cout << "Wynik to: " << a - b << endl; break; case '*': cout << "Wynik to: " << a * b << endl; break; case '/': cout << "Wynik to: " << a / b << endl; break; case '%': cout << "Wynik to: " << a % b << endl; break; case '0': cout << "Koniec" << endl; break; default: cout << "Zly wybor" << endl; } } while( z != 0 ); return 0; }
|
|
ARdiann |
while » 2016-10-04 18:25:52 pod koniec: while (z==0); |
|
IceMan85PL Temat założony przez niniejszego użytkownika |
» 2016-10-04 18:30:06 Gdy dam (z==0) petla wykona sie tylko raz i program sie zakonczy. |
|
karambaHZP |
» 2016-10-04 18:56:32 |
|
IceMan85PL Temat założony przez niniejszego użytkownika |
» 2016-10-04 19:12:49 No tak faktycznie, lecz mimo poprawki z '0' na 0 i while( z == 0 ) , poogram wykonuje raz petle i konczy dzialanie |
|
karambaHZP |
» 2016-10-04 19:29:15 W pierwszym warunku znak był OK, tylko nieprawidłowa wartość była porównywana. Nie zmieniaj na wartość liczbową, tylko używaj znaku char . Zmienna z jest typu char , a porównujesz ją do wartości int . Jeśli chcesz zrobić to w ten sposób skorzystaj z pierwszego przykładu. Warunek możesz zapisać na dwa sposoby: while( z != 48 );
while( z != '0' ); |
|
IceMan85PL Temat założony przez niniejszego użytkownika |
» 2016-10-04 19:39:41 Dzieki, dziala poprawnie, ale zastanaiwam sie nad warunkiem while( z != 48 ) , dlaczego 48? |
|
karambaHZP |
» 2016-10-04 19:46:09 Zajrzyj do tabeli ASCII. |
|
« 1 » 2 |