Instruction C ++ switch ... case (avec des exemples)

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ès case 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

  1. Nous invitons d'abord l'utilisateur à entrer l'opérateur souhaité. Cette entrée est ensuite stockée dans la charvariable nommée oper.
  2. Nous invitons ensuite l'utilisateur à entrer deux nombres, qui sont stockés dans les variables flottantes num1 et num2.
  3. 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é.

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.

Articles intéressants...