Whats the error in this .All cases fine except case 3

#include
#include<stdlib.h>
using namespace std;
int main() {
long n1,n2;char ch;

for(int i=0;i>=0;i++)
{ cin>>ch;
 switch(ch)
 {
     case 'x':
       exit(0);
     case 'X':
       exit(0);
     case '+':
       cin>>n1>>n2;cout<<n1+n2<<endl;break;
     case '-':
       cin>>n1>>n2;n1>n2?(cout<<n1-n2<<endl):(cout<<n2-n1<<endl);break;
     case '*':
       cin>>n1>>n2;cout<<n1*n2<<endl;break;
     case '/':
       cin>>n1>>n2;n1>n2?(cout<<n1/n2<<endl):(cout<<n2/n1<<endl);break;
     case '%':
       cin>>n1>>n2;n1>n2?(cout<<n1%n2<<endl):(cout<<n2%n1<<endl);break; 
     default :
       cout<<"Invalid operation. Try Again.\n";break; 
 }
}
return 0;

}

Hello @parastandon4,

There is no need for the following conditional check:
n1>n2

I modified your code:

Hope, this would help.
Give a like, if you are satisfied.