Witam, napisałem prosty kalkulatorek w c++ który wszystkie operacje wykonuję prawidłowo prócz jednej (według mnie), otóż po nadaniu argumentowi x bądź y liczby 0 , wówczas program (moim zdaniem ) powinien wychodzić z pętli (do while) i kończyć swoje działanie z uwagi na zaimplementowanie w owej pętli odpowiedniego kodu natomiast dzieje się tak dopiero gdy obu argumentom przypiszę liczbę 0. Pytanie brzmi , czy jest to prawidłowe działanie tego programu i ja źle to rozumiem czy może jest jakiś inny błąd w kodzie.
Z góry dziękuje.
#include <iostream>
#include <string>
using namespace std;
int dodawanie(int a, int b)
{
return a+b;
}
int mnozenie(int a,int b)
{
return a*b;
}
int odejmowanie(int a,int b)
{
return a-b;
}
double dzielenie(double a,double b)
{
return a/b;
}
int main()
{
double x;
double y;
string operat;
do
{
cout <<"Kalkulator prosty, wpisz 2 liczby a nastepnie operator arytmetyczny w celu wykonania dzialania: "; cout<< endl;
cout <<"podaj x :"; cin>>x; cout<<endl;
cout<<"podaj y :" ; cin>>y; cout<<endl;
cout <<"podaj operator arytmetyczny sposrod dostępnych +,-,*,/ ";
cin >>operat;
if (operat=="+")
{
cout <<dodawanie(x,y) << endl;
}
if (operat=="-")
{
cout <<odejmowanie(x,y)<< endl;
}
if(operat=="*")
{
cout <<mnozenie(x,y)<<endl;
}
if(operat=="/")
{
cout <<dzielenie(x,y)<<endl;
}
}while(x!=0 || y!=0);
cout <<"podana liczba nie może byc rowna 0 !";
}