A indicação do interruptor
Este é um outro formulário multi da decisão da maneira. É estruturado bem, mas pode somente ser usado em determinados casos onde;
- Somente uma variável é testada, todas as filiais deve depender do valor dessa variável. A variável deve ser um tipo integral. (interno, longo, curto ou char).
- Cada valor possível da variável pode controlar uma única filial. Um final, trava tudo, filial do defeito pode opcionalmente ser usado prender todas as caixas unspecified.
O exemplo dado abaixo esclarecerá coisas. Esta é uma função que convirta um inteiro em uma descrição vaga. É útil onde nós estamos concernidos somente em medir uma quantidade quando é completamente pequeno.
estimate(number)
int number;
/* Estimar um número como nenhuns, uns, dois, diversos, muitos */
{ 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 interessante é alistado com uma ação correspondente. A indicação da ruptura impede que toda a indicação mais adicional esteja executada deixando o interruptor. Desde que o caso 3 e o caso 4 não têm nenhuma ruptura seguindo, continua em permitir a mesma ação para diversos valores do número.
Ambos se e as construções do interruptor permitirem que o programador faça uma seleção de um número de ações possíveis. Deixar-nos ver um exemplo:
#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;
}
A saída do 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 |
|