SWITCH-CASE-BREAK
Pourquoi un cours spécifique sur la syntaxe switch-case-break
On le voit dans le titre, il y a trois mots clé... Qui puis est, une syntaxe différente sera présentée, pouvant déstabiliser le débutant.
Elle sert à quoi cette syntaxe ?
À la même chose strictement que les mots clés if-else if-else vu dans le cours n°4...
Son intérêt vous le verrez par vous même, lorsque vous sentirez que la syntaxe if-else if-else est très lourde (beaucoup de else if)
Exemple de problème où l'on verra un intérêt
Imaginons des notes triées par grade ('A', 'B', 'C' et 'D') représentant les mentions suivantes
'A' -> Félicitation
'B' -> Très bien
'C' -> Bien
'D' -> Passable
Sans grade -> Aucune mention
Avec une syntaxe if-else if-else, ça pèserait tout de suite sur le code
Code:
char grade; /* code */ if (grade == 'A') { puts("Félicitation"); } else if (grade == 'B') { puts("Très bien"); } /* ... */ else { puts("Aucune mention"); } /* suite du code */
Pour éviter ce genre de code très lourd, tant dans la lisibilité que dans votre patience à écrire du code, je vous rassure, on peut vous soulager le travail
SWITCH
On pourrait le traduire dans le sens si ma variable...
Sa syntaxe est habituel !
Code:
switch (grade) { /* suite */ }
CASE
On pourrait le traduire dans le sens vaut/est égale
Sa syntaxe est inhabituel ! et se complète avec switch
Code:
switch (grade) { case 'A': puts("Félicitation"); case 'B': puts("Très bien"); case 'C': puts("Bien"); case 'D': puts("Passable"); default: puts("Aucune mention"); }
- default remplace case est peut être traduit par la valeur par défaut dans les autres cas sera
- Pas de possibilité de quitter switch, on utilisera break (voir ci-dessous)
BREAK
Elle indique une cassure, un arrêt ou une sortie, on pourrait traduire par sortie de la structure conditionnelle switch.
Quand on indique la mention, nous devons quitter la structure conditionnelle switch afin de continuer la suite du code.
Syntaxiquement, voici ce que ça donne
Code:
switch (grade) { case 'A': puts("Félicitation"); break; case 'B': puts("Très bien"); break; case 'C': puts("Bien"); break; case 'D': puts("Passable"); break; default: puts("Aucune mention"); break; }
Exercice n°1:
Complétez le code suivant
Code:
#include <stdio.h> #include <stdlib.h> int main(void) { int choix; /* Affichage du menu */ printf("Entrez votre choix: "); if (scanf("%d", &choix) == EOF) exit(EXIT_FAILURE); /* demande utilisateur en console (pas s'en préoccuper) */ /* Selon le choix (utilisation de switch-case-break) afficher le choix utilisateur (chaine de caractères) */ return 0; }
- Afficher le menu suivant
- 1-Ouvrir
- 2-Sauvegarder
- 3-Quitter
- Prendre en compte les différents choix utilisateurs (1, 2 ou 3), par défaut on quittera le programme (return -1) et on affichera les lignes suivantes:
1 -> Ouverture
2 -> Sauvegarde
3 -> Au revoir
Merci de m'avoir lu et à bientôt pour le prochain cours
Commentaire