Проблема с вашим кодом заключается в том, что логика не находится внутри цикла while, поэтому она не может пройти через все необходимые операции, поэтому я отредактировал ваш код и применил некоторые изменения.
Изменения:
-> Я удалил первую cout вашего кода, поскольку вам нужен только один «оператор ввода», который находится внутри вашего цикла while.
-> Я поместилусловные операторы внутри вашего цикла while.
-> Я добавил новый оператор else, чтобы поместить слово «Invalid Operation»
using namespace std;
int main()
{
float n1,n2,sum,diff,pro,quot; char f;
while (f!='A','S','D','M','X'){
cout<<"Please enter your function(A,S,D,M or X to end the program"<<endl;
cin>>f;
if(f=='X'){
return 0;
}
else if (f=='A'){
cout<<"Add";
sum=n1+n2;
cout<<sum<<endl;
}
else if (f=='S'){
cout<<"Subtract";
if (n1>n2){
diff=n1-n2;
cout<<diff<<endl;
}
else{
diff=n2-n1;
cout<<diff<<endl;
}
}
else if (f=='M'){
cout<<"Multiply";
pro=n1*n2;
cout<<pro<<endl;
}
else if (f=='D'){
cout<<"Divide";
if (n1>n2){
quot=n1/n2;
cout<<quot<<endl;
}
else{
quot=n2/n1;
cout<<quot<<endl;
}
}
else{
cout<<"Invalid Operation"<<endl;
}
}
return 0;
}