Erreur en programmation C
Résolu/Fermé
Jeankowkow
Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
-
14 sept. 2008 à 09:30
Jeankowkow Messages postés 138 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 avril 2016 - 14 sept. 2008 à 17:57
Jeankowkow Messages postés 138 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 avril 2016 - 14 sept. 2008 à 17:57
A voir également:
- Erreur en programmation C
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Application de programmation - Guide
- Erreur 1001 outlook - Accueil - Bureautique
5 réponses
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
14 sept. 2008 à 10:54
14 sept. 2008 à 10:54
hello
choixMenu est traité comme un nombre, il faut donc le déclarer:
int choixMenu = 0;
et le lire :
scanf("%d", &choixMenu);
choixMenu est traité comme un nombre, il faut donc le déclarer:
int choixMenu = 0;
et le lire :
scanf("%d", &choixMenu);
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
14 sept. 2008 à 11:07
14 sept. 2008 à 11:07
non, char défini un caractère, donc les tests devraient être
if (choixMenu == '1')
le caractère, la touche de clavier 1 pas le chiffre 1
%ld lit un entier long, il faut enlever le l pour lire un int
scanf("%d", &choixMenu);
pour lire un caractère defini comme char:
scanf("%c", &choixMenu);
if (choixMenu == '1')
le caractère, la touche de clavier 1 pas le chiffre 1
%ld lit un entier long, il faut enlever le l pour lire un int
scanf("%d", &choixMenu);
pour lire un caractère defini comme char:
scanf("%c", &choixMenu);
Jeankowkow
Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
43
14 sept. 2008 à 11:38
14 sept. 2008 à 11:38
En effet, ça fonctionne mieux maintenant, mais il y a quand-même un problème avec le titre ( le printf("\t\t=== MENU ===\n\n"); ).
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
14 sept. 2008 à 12:03
14 sept. 2008 à 12:03
int main(int argc, char *argv[]) { int choixMenu = 0; printf("\t\t=== MENU ===\n\n");
Jeankowkow
Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
43
14 sept. 2008 à 12:13
14 sept. 2008 à 12:13
J'ai éssayé, mais ça ne fonctionne pas (il se produit une erreur avec la saisie (scanf) et me met le dernier choix, "Je n'ai pas faim")
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
14 sept. 2008 à 12:20
14 sept. 2008 à 12:20
quelle erreur ?
Jeankowkow
Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
43
14 sept. 2008 à 15:43
14 sept. 2008 à 15:43
Je ne sais pas, il ne me dit pas. Le programme s'execute normalement, il me demande le numéro du menu, je met un numéro de menu et il me met le message du dernier, le else (Vous n'avez pas choisi de menu.)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
14 sept. 2008 à 17:19
14 sept. 2008 à 17:19
Plutôt que d'utiliser des if else difficiles à suivre, utiliser l'instruction switch:
switch (choixMenu) { case 1: printf("Vous avez choisi le Royal Cheese (menu 1)\n\t12.-\n\n\t\tMerci et bon appétit !"); break; case 2: printf("Vous avez choisi le Mc Deluxe (menu 2)\n\t13.-\n\n\t\tMerci et bon appétit !"); break; case 3: printf("Vous avez choisi le Mc Bacon (menu 3)\n\t10.-\n\n\t\tMerci et bon appétit !"); break; case 4: printf("Vous avez choisi le Big Mac (menu 4)\n\t10.-\n\n\t\tMerci et bon appétit !"); break; case 5: printf("Vous avez choisi la Salade oeuf & poulet (menu 1)\n\t8.-\n\n\t\tMerci et bon appétit !"); break; case 6: printf("Vous n'avez pas faim."); break; default: printf("Vous n'avez pas choisi de menu. Par consequent, vous ne mangerez pas ! Mais c'est quand meme 10.- !"); }
Jeankowkow
Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
43
14 sept. 2008 à 17:57
14 sept. 2008 à 17:57
Oui, merci !
14 sept. 2008 à 11:01
J'ai mis :
char choixMenu = 0;
scanf("%ld", &choixMenu);