What’s wrong with this code. It is giving wrong answer in 3 test cases out of 6.
#include
using namespace std;
int main() {
int n1,n2,o;
char ch;
while(1)
{
cin>>ch;
if(ch=='x'||ch=='X')
break;
switch(ch)
{
case'+':
{
cin>>n1>>n2;
o=n1+n2;
cout<<o<<endl;
break;
}
case'-':
{
cin>>n1>>n2;
o=n1-n2;
cout<<o<<endl;
break;
}
case'*':
{
cin>>n1>>n2;
o=n1*n2;
cout<<o<<endl;
break;
}
case'/':
{
cin>>n1>>n2;
o=n1/n2;
cout<<o<<endl;
break;
}
case'%':
{
cin>>n1>>n2;
o=n1%n2;
cout<<o<<endl;
break;
}
default:
{
cout<<"Invalid operation. Try again.";
break;
}
}
}
return 0;
}