I've used the switch statement the following way:
   switch (ch){
   case 'P' || 'p': 
        goto balance;
        break;
   case 'r' || 'R':
        goto menu;
        break;
   default:
           cout<<"\t\tInvalid Choice!!"<<endl;
           system ("\t\tpause");
           system ("cls");
           goto menu;
           break;
           }
But it seems there's something wrong with the following syntax:
case 'r' || 'R'
Compiler complains about "duplicate case value". What's wrong with my code?
Change it to
case 'P':
case 'p': 
    goto balance;
    break;
Using goto is usually not a good idea.
In your original code, case 'P' || 'p': is equivalent to case 1 as the result of || is 0 if both operand are zero, or 1 otherwise. So in the two case statement, both 'p' || 'P' and 'r' || 'R' evaluated as 1, that's why you got the warning about duplicate case value.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With