La declaración del interruptor
Ésta es otra forma multi de la decisión de la manera. Se estructura bien, pero puede ser utilizada solamente en ciertos casos donde;
- Se prueba solamente una variable, todos los ramas debe depender del valor de esa variable. La variable debe ser un tipo integral. (interno, largo, corto o carbón).
- Cada valor posible de la variable puede controlar un solo rama. Un final, coge todos, rama del defecto se puede utilizar opcionalmente atrapar todas las cajas sin especificar.
El ejemplo dado abajo clarificará cosas. Ésta es una función que convierte un número entero en una descripción vaga. Es útil donde nos referimos solamente en medir una cantidad cuando es absolutamente pequeño.
estimate(number)
int number;
/* Estimate a number as none, one, two, several, many */
{ switch(number) {
case 0 :
printf("None\n");
break;
case 1 :
printf("One\n");
break;
case 2 :
printf("Two\n");
break;
case 3 :
case 4 :
case 5 :
printf("Several\n");
break;
default :
printf("Many\n");
break;
}
}
Cada caso interesante se enumera con una acción correspondiente. La declaración de la rotura evita que cualquier declaración más otra sea ejecutada dejando el interruptor. Puesto que el caso 3 y el caso 4 no tienen ninguna rotura de siguiente, continúan en permitir la misma acción para varios valores del número.
Ambos si y las construcciones del interruptor permiten que el programador haga una selección de un número de acciones posibles. Veamos un ejemplo:
#include <stdio.h>
int main()
{
int num;
for (num = 3 ; num < 13 ; num = num + 1)
{
switch (num)
{
case 3 :
printf("The value is three\n");
break;
case 4 :
printf("The value is four\n");
break;
case 5 :
case 6 :
case 7 :
case 8 :
printf("The value is between 5 and 8\n");
break;
case 11 :
printf("The value is eleven\n");
break;
default :
printf("It is one of the undefined values\n");
break;
} /* end of switch */
} /* end of for loop */
return 0;
}
La salida del programa será
The value is three
The value is four
The value is between 5 and 8
The value is between 5 and 8
The value is between 5 and 8
The value is between 5 and 8
It is one of the undefined values
It is one of the undefined values
The value is eleven
It is one of the undefined values |
|