The switch Rapport
C'est une autre forme multi de la décision de manière. Elle est bien structurée, mais peut seulement être employée dans certains cas où ;
- Seulement une variable est examinée, toutes les branches doit dépendre de la valeur de cette variable. La variable doit être un type intégral. (interne, long, court ou char).
- Chaque valeur possible de la variable peut commander une branche simple. Une finale, attrapent tous, branche de défaut peut sur option être employée pour emprisonner toutes les caisses non spécifiées.
L'exemple donné ci-dessous clarifiera des choses. C'est une fonction qui convertit un nombre entier en description vague. Il est utile où nous sommes seulement concernés en mesurant une quantité quand il est tout à fait petit.
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;
}
}
Chaque cas intéressant est énuméré avec une action correspondante. Le rapport de coupure empêche tout autre rapport d'être exécutée en laissant le commutateur. Puisque l'affaire 3 et l'affaire 4 n'ont aucune coupure suivante, elles continuent sur permettre la même action pour plusieurs valeurs du nombre.
Tous les deux si et les constructions de commutateur permettent au programmeur de faire un choix à partir d'un certain nombre d'actions possibles. Voyons un exemple :
#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;
}
Le rendement du programme sera
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 |
|