Bonjour,
J'ai une question qui peut paraitre bête, mais après plusieurs essaies, je ne trouve pas la solution.
Pour parfaire mon explication j'ai repri un code
Le probleme avec ce code c'est que lorsqu'on l'execute, et que l'on tape un caractère autre qu'un chiffre, le programme se mettra à partir en boucle Infinit. Donc Il plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { long choixMenu; printf("=== Menu ===\n\n"); printf("1. Royal Cheese\n"); printf("2. Mc Deluxe\n"); printf("3. Mc Bacon\n"); printf("4. Big Mac\n"); printf("\nVotre choix ? "); scanf("%ld", &choixMenu); printf("\n"); switch (choixMenu) { case 1: printf("Vous avez choisi le Royal Cheese. Bon choix !"); break; case 2: printf("Vous avez choisi le Mc Deluxe. Berk, trop de sauce..."); break; case 3: printf("Vous avez choisi le Mc Bacon. Bon, ca passe encore ca ;o)"); break; case 4: printf("Vous avez choisi le Big Mac. Vous devez avoir tres faim !"); break; default: printf("Vous n'avez pas rentre un nombre correct. Vous ne mangerez rien du tout !"); break; } printf("\n\n"); system("PAUSE"); }
Quel type de variable doit on utiliser ?
Car un long ou int, fera planter l'application, et l'utilisation d'un char nous fera toujours revenir au case "default" si l'on utilise un chiffre !
Certe ce probleme me paraissait simple, mais je reste tout de même bloqué dessus.
Merci de votre aide![]()
Partager