Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Instruction Switch | Introduction aux Instructions Conditionnelles
Instructions Conditionnelles en C++

bookInstruction Switch

L'instruction switch est également une structure de contrôle qui simplifie la prise de décision dans vos programmes. Elle offre un moyen efficace d'évaluer une expression et d'exécuter différents blocs de code en fonction de la valeur de cette expression. Cela s'avère particulièrement utile lorsqu'il s'agit de gérer un grand nombre de conditions de branchement.

Elle est principalement conçue pour fonctionner avec des valeurs numériques, telles que les entiers (int) et les caractères (char).

switch.h

switch.h

copy
12345678910111213141516
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
  • L'expression est évaluée une seule fois, et le programme saute au case approprié en fonction de la valeur de l'expression ;

  • Chaque case représente une valeur spécifique ou un ensemble de valeurs que l'expression peut correspondre ;

  • L'instruction break est utilisée pour sortir du bloc switch après l'exécution du code d'un cas particulier ;

  • Le default est optionnel et est utilisé lorsque aucun des cas spécifiés ne correspond à l'expression. Il agit comme une option de secours.

Supposons que vous possédiez un restaurant et souhaitiez proposer un menu en fonction des codes numériques listés. Voici la représentation en code des éléments du menu.

main.cpp

main.cpp

copy
1234567891011121314151617181920212223242526
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }

Oui, cela peut être réalisé avec une simple instruction if, et cela ressemblerait à ceci :

main.cpp

main.cpp

copy
123456789101112131415161718192021222324
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }

Cela fonctionnera de la même manière et comme prévu, mais il est généralement préférable d'utiliser une instruction switch car elle offre une manière plus claire, plus lisible et, surtout, plus facile à maintenir et évolutive de gérer ce type de flux de contrôle.

Omettre le mot-clé break dans une instruction switch peut entraîner un comportement inattendu du programme, car le code continuera à s'exécuter dans les cas suivants. Cependant, omettre intentionnellement break peut être utilisé pour gérer plusieurs cas dans le même bloc de code. Cette approche, appelée fall-through, permet de traiter des cas liés ensemble.

main.cpp

main.cpp

copy
12345678910111213141516171819202122
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Tâche

Swipe to start coding

Vous développez un système de planification hebdomadaire qui retourne le nom du jour en fonction de son numéro (1 pour Monday, 2 pour Tuesday, etc.).

  1. À l'intérieur de la fonction getDayName, utilisez une instruction switch sur dayNumber :
    • Pour chaque cas de 1 à 7, assignez le nom du jour correspondant ("Monday", "Tuesday", ..., "Sunday") à la variable dayName.
    • Utilisez l'instruction break après chaque cas pour éviter l'exécution en cascade.
    • Utilisez un cas default pour assigner "Invalid day" si l'entrée n'est pas comprise entre 1 et 7.
  2. Retournez la valeur de dayName depuis la fonction.

Exemple

getDayName(1)"Monday"
getDayName(5)"Friday"
getDayName(9)"Invalid day number"

Solution

solution.cpp

solution.cpp

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 6
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you show me an example of a switch statement in code?

What happens if I forget to include a break statement in a switch case?

Can you explain more about the fall-through behavior in switch statements?

close

Awesome!

Completion rate improved to 7.69

bookInstruction Switch

Glissez pour afficher le menu

L'instruction switch est également une structure de contrôle qui simplifie la prise de décision dans vos programmes. Elle offre un moyen efficace d'évaluer une expression et d'exécuter différents blocs de code en fonction de la valeur de cette expression. Cela s'avère particulièrement utile lorsqu'il s'agit de gérer un grand nombre de conditions de branchement.

Elle est principalement conçue pour fonctionner avec des valeurs numériques, telles que les entiers (int) et les caractères (char).

switch.h

switch.h

copy
12345678910111213141516
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
  • L'expression est évaluée une seule fois, et le programme saute au case approprié en fonction de la valeur de l'expression ;

  • Chaque case représente une valeur spécifique ou un ensemble de valeurs que l'expression peut correspondre ;

  • L'instruction break est utilisée pour sortir du bloc switch après l'exécution du code d'un cas particulier ;

  • Le default est optionnel et est utilisé lorsque aucun des cas spécifiés ne correspond à l'expression. Il agit comme une option de secours.

Supposons que vous possédiez un restaurant et souhaitiez proposer un menu en fonction des codes numériques listés. Voici la représentation en code des éléments du menu.

main.cpp

main.cpp

copy
1234567891011121314151617181920212223242526
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }

Oui, cela peut être réalisé avec une simple instruction if, et cela ressemblerait à ceci :

main.cpp

main.cpp

copy
123456789101112131415161718192021222324
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }

Cela fonctionnera de la même manière et comme prévu, mais il est généralement préférable d'utiliser une instruction switch car elle offre une manière plus claire, plus lisible et, surtout, plus facile à maintenir et évolutive de gérer ce type de flux de contrôle.

Omettre le mot-clé break dans une instruction switch peut entraîner un comportement inattendu du programme, car le code continuera à s'exécuter dans les cas suivants. Cependant, omettre intentionnellement break peut être utilisé pour gérer plusieurs cas dans le même bloc de code. Cette approche, appelée fall-through, permet de traiter des cas liés ensemble.

main.cpp

main.cpp

copy
12345678910111213141516171819202122
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Tâche

Swipe to start coding

Vous développez un système de planification hebdomadaire qui retourne le nom du jour en fonction de son numéro (1 pour Monday, 2 pour Tuesday, etc.).

  1. À l'intérieur de la fonction getDayName, utilisez une instruction switch sur dayNumber :
    • Pour chaque cas de 1 à 7, assignez le nom du jour correspondant ("Monday", "Tuesday", ..., "Sunday") à la variable dayName.
    • Utilisez l'instruction break après chaque cas pour éviter l'exécution en cascade.
    • Utilisez un cas default pour assigner "Invalid day" si l'entrée n'est pas comprise entre 1 et 7.
  2. Retournez la valeur de dayName depuis la fonction.

Exemple

getDayName(1)"Monday"
getDayName(5)"Friday"
getDayName(9)"Invalid day number"

Solution

solution.cpp

solution.cpp

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 6
single

single

some-alt