Switch case statements are a
substitute for long if statements. The basic format for using switch case is
outlined below.
Switch (expression or variable) { case variable equals this:
do this;
break;
case variable equals this:
do this;
break;
case variable equals this:
do this;
break;
...
default:
do this
}
The
expression or variable has a value. The case says that if it has the value of
whatever is after that cases then do whatever follows the colon. The break is
used to break out of the case statements. Break is a keyword that breaks out of
the code block, usually surrounded by braces, which it is in. In this case,
break prevents the program from testing the next case statement also.
Switch case serves as a simple way to write long if statements. Often it can be
used to process input from a user.
Below is a sample program, in which not all of the proper functions are
actually declared, but which shows how one would use switch case in a program.
#include <iostream.h> #include <conio.h> int main()
{ int input;
cout<<"1. Play game";
cout<<"2. Load game";
cout<<"3. Play multiplayer";
cout<<"4. Exit";
cin>>input;
switch (input)
{
case 1: playgame();break;
case 2:loadgame();
break;
case 3: //Note use of : not ;
playmultiplayer();break;
case 4:return 0;
default:
cout<<"Error, bad input, quitting";
} return 0;}
This
program will not compile yet, but it serves as a model (albeit simple) for
processing input.
If you do not understand this then try mentally putting in if statements for
the case statements. Note that using return in the middle of main will
automatically end the program. Default simply skips out of the switch case
construction and allows the program to terminate naturally. If you do not like
that, then you can make a loop around the whole thing to have it wait for valid
input. I know that some functions were not prototyped. You could easily make a
few small functions if you wish to test the code.