Programación
Instituto Tecnológico de Celaya
SENTENCIAS CONDICIONALES MÚLTIPLES: switch
Como ya se analizó anteriormente, una sentencia if-else posee sólo dos
alternativas. Dicha sentencia permite a un programa seleccionar entre dos
acciones posibles (casos falso y verdadero). Existe muchas veces, sin embargo,
la necesidad de incluir en un programa sentencias que permitan la selección de
varias (más de dos) alternativas. Para ello se pueden utilizar sentencias if-else
anidadas o múltiples sentencias if-else en secuencia, como ya se ha hecho con
anterioridad. Una alternativa a esto es el uso de la sentencia switch, sentencia
de C++ que se diseñó especialmente para representar una selección condicional
múltiple.
Sentencia switch
La forma más simple de estudiar la sentencia switch es comenzar con un
ejemplo que muestre su estructura básica.
#include <iostream.h>
#include<stdlib.h>
int main()
{
int dia;
cout<<”Dame un numero entero entre 1 y 7 \n”;
cin>>dia;
cout<<”\nEl dia correspondiente es “;
switch(dia)
{
case 1:
cout<<”Lunes”;
break;
case 2:
cout<<”Martes”;
break;
case 3:
cout<<”Miercoles”;
break;
case 4:
cout<<”Jueves”;
break;
case 5:
cout<<”Viernes”;
break;
case 6:
cout<<”Sabado”;
break;
case 7:
cout<<”Domingo”;
break;
Ingeniería Química
Programación
Instituto Tecnológico de Celaya
default:
cout<<”Error en el numero”;
}
cout<<”\n”;
return 0;
system(“PAUSE”);
}
Este ejemplo se discutió con anterioridad. Lo que el programa realiza es pedir
un número entero entre 1 y 7 y, dependiendo de ese valor, mostrará en
pantalla el nombre de un día de la semana.
Lo primero que se escribe en dicha sentencia es el identificador switch. Cuando
se ejecuta una sentencia switch, uno de varias alternativas se ejecuta. Para
determinar cual de los casos se debe ejecutar se utiliza lo que se conoce como
la expresión de control de la sentencia, que se escribe entre paréntesis. En
el ejemplo la expresión de control es la variable dia. La expresión de control
escrita entre paréntesis deberá siempre ser un valor booleano (FALSE o TRUE),
un valor entero o un caracter. Durante la ejecución de la sentencia switch, se
analiza la expresión de control para obtener su valor.
Cada una de las alternativas de la selección múltiple se representa por el
identificador case seguido de un valor constante (entero, caracter o
booleano) y dos puntos. Lo que se hace a continuación es que se compara el
valor de la expresión de control con los valores constantes de los casos de la
sentencia. Cuando encuentra el caso cuya constante sea igual al valor de la
expresión de control, se ejecutan las sentencias correspondientes a dicho caso
(hasta encontrar una sentencia break). Si por alguna razón no se encuentra
ninguna constante igual a la expresión de control, entonces se ejecutan las
sentencias que corresponden al caso default, que generalmente se escribe al
final de la sentencia switch (si éste caso no existiera, entonces no se ejecutaría
ninguna de las alternativas).
Observe que los casos de una sentencia switch se escriben entre llaves. Note
que después de las sentencias de cada caso se tiene una sentencia break. Si
las sentencias break no se incluyeran, entonces al ejecutarse uno de los casos,
la computadora continuaría ejecutando las sentencias de todos los casos
Ingeniería Química
Programación
Instituto Tecnológico de Celaya
colocados por debajo del caso que si debe ejecutarse. La sentencia break
automáticamente hace que termine la ejecución de la sentencia switch.
De acuerdo a la anterior, la sintaxis de la sentencia switch es la siguiente:
switch(expresion_de_control)
{
case constante_1:
sentencias_del_caso_1:
break;
case constante_2:
sentencias_del_caso_2:
break;

case constante_n:
sentencias_del_caso_n:
break;
default:
sentencias_del_caso_default:
}
Este es otro ejemplo de aplicación de la sentencia switch:
#include <iostream.h>
#include<stdlib.h>
int main()
{
char calificacion;
cout<<”Dame la calificacion en escala de caracteres \n”;
cin>>calificacion;
cout<<”\nLa calificacion numerica equivalente es “;
switch(calificacion)
{
case ‘A’:
cout<<”100”;
break;
case ‘B’:
cout<<”85”;
break;
Ingeniería Química
Programación
Instituto Tecnológico de Celaya
case ‘C’:
cout<<”70”;
break;
case ‘D’:
case ‘F’:
cout<<”Reprobatoria. Ve a estudiar”;
break;
default:
cout<<”Error en la calificacion proporcionada”;
}
cout<<”\n”;
return 0;
system(“PAUSE”);
}
Sentencia switch para escribir Menús
Una de las aplicaciones más útiles de la sentencia switch es el uso de un Menú.
En esta aplicación, dependiendo de la selección del usuario, es posible escoger
entre diversas funciones a ser ejecutadas, como se mostrará posteriormente a
través de un ejercicio.
Ingeniería Química
Descargar

Sentencias Condicionales Múltiples switch