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

[Lekcja 15] Kalkulator

Ostatnio zmodyfikowano 2014-01-06 13:12
Autor Wiadomość
Cray
Temat założony przez niniejszego użytkownika
[Lekcja 15] Kalkulator
» 2014-01-06 12:44:10
Witam wszystkich! Napisałem następujący kod:
C/C++
#include <iostream>
using namespace std;

int main()
{
    int a;
    int b;
    int c;
    int d;
    do
    {
        cin.clear();
        cin.sync();
       
        cout << "\t \tKALKULATOR" << endl;
        cout << "\nPodaj liczbe = ";
        cin >> a;
        cout << "Podaj druga liczbe = ";
        cin >> b;
        cout << "\nWybierz dzialanie: \nDodawanie - 1 \nDzielenie - 2 \nMnozenie - 3 \nDzielenie - 4 \nZakoncz - 0" << endl;
        cout << "\nWybor - ";
        cin >> c;
       
        switch( c )
        {
        case 1:
            cout << "\nSuma = " << a + b << endl;
            break;
        case 2:
            cout << "\nRoznica = " << a - b << endl;
            break;
        case 3:
            cout << "\nIloczyn = " << a * b << endl;
            break;
        case 4:
            switch( b )
            {
            case 0:
                cout << "\nNie dzielmy przez 0!" << endl;
                break;
            default:
                cout << "\nIloraz = " << a / b << endl;
                break;
            }
        case 0:
            return 0;
        default:
            cout << "\nMialo byc od 1 do 4..." << endl;
            break;
        }
    } while( d != 0 );
   
    return 0;
}

Mam następujący problem - gdy program wykonuje dzielenie zamiast powrócić na początek to on wyłącza się. Poza tym proszę o wasze komentarze - co o tym sądzicie i co można zmienić.
P-101364
leon_w
» 2014-01-06 12:52:14
Pewnie dlatego, że d nie ma przypisanej żadnej wartości.
P-101368
Cray
Temat założony przez niniejszego użytkownika
» 2014-01-06 13:01:06
Zmieniłem wartość d na 1 ale i tak dzielenie nadal nie działa.
P-101373
leon_w
» 2014-01-06 13:07:39
Musisz dać break za klamrą kończącą instrukcje switch b.
Teraz wykonuje się tak instrukcja, masz break po case 0 i default, ale gdy wychodzisz poza tą instrukcje, wykonuje się następna, czyli case 0;
P-101374
Cray
Temat założony przez niniejszego użytkownika
» 2014-01-06 13:12:41
Dzięki, teraz działa. Podczas nauki niestety takie rzeczy się zdarzają. :C

Jeszcze raz wielkie dzięki.
P-101376
« 1 »
  Strona 1 z 1