SWITCH
La sentencia switch permite evaluar una expresión y tomar diversas acciones en función del resultado de la expresión, su sintaxis es como sigue:
switch (expresión entera)
{
case constante_1:
sentencia_11;
sentencia_12;
...
sentencia_1n;
break;
case constante_2:
sentencia_21;
sentencia_22;
...
sentencia_2n;
break;
...
case constante_n:
sentencia n1;
sentencia n2;
...
sentencia nn;
break;
default:
//se
ejecuta en caso de que no se hayan cumplido ninguna de las anteriores
sentencias
}
Las siguientes reglas se aplican en el uso de la sentencia
switch:
 | "expresión entera", puede ser una constante, una variable, una llamada a función o una expresión. La sentencia switch no funciona con datos en coma flotante.
|
 | El valor después de cada etiqueta case debe ser una constante entera o carácter como 3 o 'b', o bien una expresión que se evalúe a una constante como 'a'+32
|
 | C++ no soporta etiquetar casa con rangos de valores; en su lugar, cada valor debe aparecer en una etiqueta independiente case.
|
 | Necesita utilizar la sentencia break después de cada conjunto de sentencias ejecutables. La sentencia break hace que la ejecución del programa se reanude después del final de la sentencia switch actual. Si no se utiliza la sentencia break, la ejecución del programa se reanuda en las siguientes etiquetas case.
|
 | Si ninguno de los valores coincide en el valor de "expresión entera" se ejecutarán las sentencias que vienen a continuación de la sentencia opcional default.
|
Ejemplo
void main (void)
{
char test;
int x = 3, y = 5, z;
cin >> test;
switch (test) {
case '+':
z = x + y;
break;
case '-':
z = x - y;
break;
default:
z = 0;
}

|