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

Rozdzial 15 kalkulator

Ostatnio zmodyfikowano 2016-10-05 14:04
Autor Wiadomość
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?
C/C++
#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;
}
P-152244
ARdiann
while
» 2016-10-04 18:25:52
pod koniec:
while (z==0);
P-152245
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.
P-152246
karambaHZP
» 2016-10-04 18:56:32
'0'
 to nie to samo co
0
.
P-152247
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
P-152248
karambaHZP
» 2016-10-04 19:29:15
W pierwszym warunku znak był OK, tylko nieprawidłowa wartość była porównywana.
mimo poprawki z
'0'
 na
0
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:
C/C++
while( z != 48 );

while( z != '0' );
P-152249
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?
P-152250
karambaHZP
» 2016-10-04 19:46:09
Zajrzyj do tabeli  ASCII.
P-152251
« 1 » 2
  Strona 1 z 2 Następna strona