Switch statement using or

Saladin Akara picture Saladin Akara · Jan 16, 2011 · Viewed 41.3k times · Source

I'm creating a console app and using a switch statement to create a simple menu system. User input is in the form of a single character that displays on-screen as a capital letter. However, I do want the program to accept both lower- and upper-case characters.

I understand that switch statements are used to compare against constants, but is it possible to do something like the following?

switch(menuChoice) {
    case ('q' || 'Q'):
        //Some code
        break;
    case ('s' || 'S'):
        //More code
        break;
    default:
        break;
}

If this isn't possible, is there a workaround? I really don't want to repeat code.

Answer

Chris Hasiński picture Chris Hasiński · Jan 16, 2011

This way:

 switch(menuChoice) {
    case 'q':
    case 'Q':
        //Some code
        break;
    case 's':
    case 'S':
        //More code
        break;
    default:
 }

More on that topic: http://en.wikipedia.org/wiki/Switch_statement#C.2C_C.2B.2B.2C_Java.2C_PHP.2C_ActionScript.2C_JavaScript