Instruction 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
12345678910111213141516switch (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
caseapproprié en fonction de la valeur de l'expression ; -
Chaque
casereprésente une valeur spécifique ou un ensemble de valeurs que l'expression peut correspondre ; -
L'instruction
breakest utilisée pour sortir du bloc switch après l'exécution du code d'un cas particulier ; -
Le
defaultest 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
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
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
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; } }
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.).
- À l'intérieur de la fonction
getDayName, utilisez une instructionswitchsurdayNumber:- Pour chaque cas de
1à7, assignez le nom du jour correspondant ("Monday","Tuesday", ...,"Sunday") à la variabledayName. - Utilisez l'instruction
breakaprès chaque cas pour éviter l'exécution en cascade. - Utilisez un cas
defaultpour assigner"Invalid day"si l'entrée n'est pas comprise entre 1 et 7.
- Pour chaque cas de
- Retournez la valeur de
dayNamedepuis la fonction.
Exemple
getDayName(1) → "Monday"
getDayName(5) → "Friday"
getDayName(9) → "Invalid day number"
Solution
solution.cpp
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
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?
Awesome!
Completion rate improved to 7.69
Instruction 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
12345678910111213141516switch (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
caseapproprié en fonction de la valeur de l'expression ; -
Chaque
casereprésente une valeur spécifique ou un ensemble de valeurs que l'expression peut correspondre ; -
L'instruction
breakest utilisée pour sortir du bloc switch après l'exécution du code d'un cas particulier ; -
Le
defaultest 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
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
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
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; } }
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.).
- À l'intérieur de la fonction
getDayName, utilisez une instructionswitchsurdayNumber:- Pour chaque cas de
1à7, assignez le nom du jour correspondant ("Monday","Tuesday", ...,"Sunday") à la variabledayName. - Utilisez l'instruction
breakaprès chaque cas pour éviter l'exécution en cascade. - Utilisez un cas
defaultpour assigner"Invalid day"si l'entrée n'est pas comprise entre 1 et 7.
- Pour chaque cas de
- Retournez la valeur de
dayNamedepuis la fonction.
Exemple
getDayName(1) → "Monday"
getDayName(5) → "Friday"
getDayName(9) → "Invalid day number"
Solution
solution.cpp
Merci pour vos commentaires !
single