Prosty kalkulator

0

Program działa, aczkolwiek po wybraniu case kończy działanie. Dlaczego tak się dzieje? Proszę o ewentualne rozwiązania

#include <iostream>
#include <cstdlib>
using namespace std;
int liczba;
int liczba2;
int wynik;
int koniec=0;
int wybor;
int dodawanie()
{
    wynik=liczba+liczba2;
    cout<<wynik<<endl;
    return wynik;
}
int odejmowanie()
{
    wynik=liczba-liczba2;
    cout<<wynik<<endl;
    return wynik;
}
int mnozenie()
{
    wynik=liczba*liczba2;
    cout<<wynik<<endl;
    return wynik;
}
int dzielenie()
{
    wynik=liczba/liczba2;
    cout<<wynik<<endl;
    return wynik;
}
int resztazdzielenia()
{
    wynik=liczba%liczba2;
    cout<<wynik<<endl;
    return wynik;
}
void wyczysc()
{
    wynik=0;
    liczba=0;
    liczba2=0;
}
void wyjscie()
{
    koniec++;
    exit(0);
}
int main()
{
    cout << "Witamy w kalkulatorze" << endl;
    do
    {
    cout<<"Podaj liczbe: "<<endl;
    cin>>liczba;
    cout<<"Podaj liczbe: "<<endl;
    cin>>liczba2;
    system("cls");
    cout<<"Wynik: "<<wynik<<endl;
    cout<<"Wprowadzone liczby: "<<liczba<<" , "<<liczba2<<endl;
    cout<<"======================================"<<endl;
    cout<<"Jaka operacje wykonac na wprowadzonych liczbach?"<<endl;
    cout<<"--------------------------------------"<<endl;
    cout<<"1.DODAWANIE"<<endl;
    cout<<"2.ODEJMOWANIE"<<endl;
    cout<<"3.MONZENIE"<<endl;
    cout<<"4.DZIELENIE"<<endl;
    cout<<"5.RESZTA Z DZIELENIA"<<endl;
    cout<<"6.WYCZYSC"<<endl;
    cout<<"7.WYJSCIE"<<endl;
    switch(wybor)
    {
    case 1:
        dodawanie();
        break;
    case 2:
        odejmowanie();
        break;
    case 3:
        mnozenie();
        break;
    case 4:
        dzielenie();
        break;
    case 5:
        resztazdzielenia();
        break;
    case 6:
        wyczysc();
        break;
    case 7:
        wyjscie();
        break;
    default:
        cout<<"Nie ma takiej opcji"<<endl;
        return false;
    }
    }while(koniec==1);
    return 0;
}
0
int koniec=0;
while(koniec==1);

Warunek nie zostaje spełniony (w końcu 1 ≠ 0), więc pętla się kończy.

0

OK dzięki

0

Próbowałem poprawić to co sugerowałeś, ale bez zmian

0

Pokaż zmieniony kod.

0

Dobra mam, dzięki za pomoc

0
SkyreX napisał(a):

Dobra mam, dzięki za pomoc
A jednak nie

0

Kurde, gdzie by go porawić, bo jak grzebałem z whilem to nic nie dawało

0

Nie umiem odpowiedzieć nie widząc kodu.

0

Gdzie wczytujesz wartość do zmiennej "wybor" ? :)

0

Nigdzie, jako zmienna globalna ma wartość 0.

0

Wiem, miałem na myśli, że switch w ogóle się nie wykona.

0
    cout<<"Jaka operacje wykonac na wprowadzonych liczbach?"<<endl;
    cout<<"--------------------------------------"<<endl;
    cout<<"1.DODAWANIE"<<endl;
    cout<<"2.ODEJMOWANIE"<<endl;
    cout<<"3.MONZENIE"<<endl;
    cout<<"4.DZIELENIE"<<endl;
    cout<<"5.RESZTA Z DZIELENIA"<<endl;
    cout<<"6.WYCZYSC"<<endl;
    cout<<"7.WYJSCIE"<<endl
    cin>>wybor;

Spróbuj tego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1