Dans ce didacticiel, nous en apprendrons davantage sur l'instruction switch et son fonctionnement en programmation C ++ à l'aide de quelques exemples.
L' switchinstruction nous permet d'exécuter un bloc de code parmi de nombreuses alternatives.
La syntaxe de l' switchinstruction en C ++ est:
switch (expression) ( case constant1: // code to be executed if // expression is equal to constant1; break; case constant2: // code to be executed if // expression is equal to constant2; break;… default: // code to be executed if // expression doesn't match any constant )
Comment fonctionne l'instruction switch?
Le expressionest évalué une fois et comparé aux valeurs de chaque caseétiquette.
- S'il y a une correspondance, le code correspondant après l'étiquette correspondante est exécuté. Par exemple, si la valeur de la variable est égale à
constant2, le code aprèscase constant2:est exécuté jusqu'à ce que l'breakinstruction soit rencontrée. - S'il n'y a pas de correspondance, le code après
default:est exécuté.
Remarque : nous pouvons faire la même chose avec l' if… else… iféchelle. Cependant, la syntaxe de l' switchinstruction est plus claire et beaucoup plus facile à lire et à écrire.
Organigramme de la déclaration de commutation
Organigramme du commutateur C ++… instruction de cas
Exemple: créer une calculatrice à l'aide de l'instruction switch
// Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> num1>> num2; switch (oper) ( case '+': cout << num1 << " + " << num2 << " = " << num1 + num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1 - num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1 * num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1 / num2; break; default: // operator is doesn't match any case constant (+, -, *, /) cout << "Error! The operator is not correct"; break; ) return 0; )
Sortie 1
Entrez un opérateur (+, -, *, /): + Entrez deux nombres: 2,3 4,5 2,3 + 4,5 = 6,8
Sortie 2
Entrez un opérateur (+, -, *, /): - Entrez deux nombres: 2,3 4,5 2,3 - 4,5 = -2,2
Sortie 3
Entrez un opérateur (+, -, *, /): * Entrez deux nombres: 2,3 4,5 2,3 * 4,5 = 10,35
Sortie 4
Entrez un opérateur (+, -, *, /): / Entrez deux nombres: 2,3 4,5 2,3 / 4,5 = 0,511111
Sortie 5
Entrez un opérateur (+, -, *, /):? Entrez deux chiffres: 2.3 4.5 Erreur! L'opérateur n'est pas correct.
Dans le programme ci-dessus, nous utilisons l' switch… caseinstruction pour effectuer l'addition, la soustraction, la multiplication et la division.
Comment ce programme fonctionne
- Nous invitons d'abord l'utilisateur à entrer l'opérateur souhaité. Cette entrée est ensuite stockée dans la
charvariable nommée oper. - Nous invitons ensuite l'utilisateur à entrer deux nombres, qui sont stockés dans les variables flottantes num1 et num2.
- L'
switchinstruction est ensuite utilisée pour vérifier l'opérateur saisi par l'utilisateur:- Si l'utilisateur entre
+, l'addition est effectuée sur les nombres. - Si l'utilisateur entre
-, une soustraction est effectuée sur les nombres. - Si l'utilisateur entre
*, la multiplication est effectuée sur les nombres. - Si l'utilisateur entre
/, la division est effectuée sur les nombres. - Si l'utilisateur entre un autre caractère, le code par défaut est imprimé.
- Si l'utilisateur entre
Notez que l' breakinstruction est utilisée à l'intérieur de chaque casebloc. Cela met fin à l' switchinstruction.
Si l' breakinstruction n'est pas utilisée, tous les cas après le correct casesont exécutés.








