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

[Lekcja 15] Niezrozumiale zachowanie programu

Ostatnio zmodyfikowano 2014-01-03 22:10
Autor Wiadomość
Hustler
Temat założony przez niniejszego użytkownika
[Lekcja 15] Niezrozumiale zachowanie programu
» 2014-01-03 21:57:31
To moj pierwszy post na forum wiec witam wszystkich ;)

Przechodzac do problemu napisalem taki oto kod kalkulatora z lekcji 15:

C/C++
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    cout << "=================================" << endl;
    cout << "Simple Calculator HUSTLER.edition" << endl;
    cout << "=================================" << endl;
   
    int decyzja;
    float a, b, wynik;
   
    do
    {
       
       
        cout << "podaj liczbe a: ";
        cin >> a;
        cout << "podaj liczbe b: ";
        cin >> b;
       
        cout << "\n[1] Dodawanie" << endl;
        cout << "[2] Odejmowanie" << endl;
        cout << "[3] Mnozenie" << endl;
        cout << "[4] Dzielenie" << endl;
        cout << "[5] Rezygnuj" << endl;
        cout << "[0] Wyjscie" << endl;
        cout << "Jakie dziachcesz wykonac?" << endl;
        cin >> decyzja;
       
        if( a != 0 && b != 0 )
        {
            switch( decyzja )
            {
               
            case 5:
                cout << "Operacje anulowano";
                break;
               
            case 4:
                wynik = a / b;
                cout << "wynik= " << wynik << endl;
                break;
               
            case 3:
                wynik = a * b;
                cout << "wynik= " << wynik << endl;
                break;
               
            case 2:
                wynik = a - b;
                cout << "wynik= " << wynik << endl;
                break;
               
            case 1:
                wynik = a + b;
                cout << "wynik= " << wynik << endl;
                break;
               
            case 0:
                cout << "Konczenie pracy z programem." << endl;
               
            default:
                cout << "Wybrales niewlasciwa operacje!";
            }
           
           
           
        }
       
    } while( decyzja != 0 );
   
}

Program kompiluje sie prawidlowo ale po decyzji [0] wyswietla:
Konczenie pracy z programem.
Wybrales niewlasciwa operacje!

Nie rozumiem czemu tak sie dzieje. Czy warunek 0 zawiera sie w zbiorze default?

@down
Dziekuje, gapa ze mnie :)
P-101070
kampar
» 2014-01-03 22:04:20
musisz dodać break po instrukcjach w case 0
P-101072
kryCHa
» 2014-01-03 22:10:45
Na przyszłość wstawiaj kod w [cpp]...[/cpp]
P-101074
« 1 »
  Strona 1 z 1