Besoin d'aide création d'une boucle en C
Fermé
cutertarget
Messages postés
1
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
24 décembre 2009
-
24 déc. 2009 à 02:05
ptidavid Messages postés 1273 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 16 février 2010 - 24 déc. 2009 à 13:27
ptidavid Messages postés 1273 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 16 février 2010 - 24 déc. 2009 à 13:27
A voir également:
- Besoin d'aide création d'une boucle en C
- Creation compte gmail - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création groupe whatsapp - Guide
- Création site web - Guide
2 réponses
ptidavid
Messages postés
1273
Date d'inscription
jeudi 3 août 2006
Statut
Membre
Dernière intervention
16 février 2010
104
24 déc. 2009 à 02:22
24 déc. 2009 à 02:22
Bonsoir à toi,
Bon le C++ est pas mon point fort, mais je vais essayer de t'aider. D'une part, pourquoi as-tu défini deux fois la variable autrechoix dans ton main? Ensuite pourquoi n'as-tu pas initialisé cette variable autrechoix, par exemple à 1? Car là le programme ne rentre jamais dans ta boucle while, vu que autrechoix n'a pas de valeur et ne vaut donc pas 1.
Bon le C++ est pas mon point fort, mais je vais essayer de t'aider. D'une part, pourquoi as-tu défini deux fois la variable autrechoix dans ton main? Ensuite pourquoi n'as-tu pas initialisé cette variable autrechoix, par exemple à 1? Car là le programme ne rentre jamais dans ta boucle while, vu que autrechoix n'a pas de valeur et ne vaut donc pas 1.
Salut
C'est pire que ça !
while(var=1) : ca met 1 dans var, puis on considere var comme un booleen
et comme var vaudra à chaque fois 1, la condition sera toujours vraie ;-)
C'est pire que ça !
while(var=1) : ca met 1 dans var, puis on considere var comme un booleen
et comme var vaudra à chaque fois 1, la condition sera toujours vraie ;-)
ptidavid
Messages postés
1273
Date d'inscription
jeudi 3 août 2006
Statut
Membre
Dernière intervention
16 février 2010
104
24 déc. 2009 à 13:27
24 déc. 2009 à 13:27
Effectivement j'avais pas vu :) Bon j'ai téléchargé Dev C++ et m'y suis mis quelques minutes. Voici le programme corrigé, il devrait faire ce que tu souhaites :
#include <cstdlib>
#include <iostream>
#include <cstdio>
int main()
{
int autrechoix=1;
while (autrechoix==1)
{
int choixmenu;
printf ("-- MENU MACPPPPPPONALD--\n\n");
printf ("Choix n1 : Cheese\n");
printf ("choix n2 : Burger\n");
printf ("choix n3 : DoubleCheese\n");
printf ("choix n4 : Menu M\n");
printf ("Entrez le n de votre commande : \n ");
scanf ("%d", &choixmenu);
switch (choixmenu)
{
case 1:
printf ("Cheese, bon choix !\n");
break;
case 2:
printf ("Burger, bon choix aussi !\n");
break;
case 3:
printf ("DoubleCheese, très bon choix!\n");
break;
case 4:
printf ("Menu M, le meilleur !\n");
break;
default:
printf ("Entrez un chiffre correct\n");
break;
}
printf ("Desirez-vous autre chose?\n");
printf ("Tapez 1 pour oui\n");
printf ("Si vous ne voulez rien ajouter à votre commande \n Appuyez sur n'importe quelle autre touche\n");
scanf ("%d", &autrechoix);
}
printf ("Au revoir!\n");
system("PAUSE"); //attente d'un appui de touche au clavier pour quitter
}
Voici les corrections faites :
- j'ai supprimé la seconde déclaration de la variable autrechoix qui était dans ta boucle while,
- j'ai initialisé autrechoix à 1 pour permettre au programme de rentrer dans ta boucle while,
- j'ai corrigé l'erreur évoquée par le concombre javelisé while (autrechoix=1) en while (autrechoix==1) (= affectation, == test condition),
- j'ai supprimé ta boucle if(autrechoix!=1)... car je la trouvais inutile,
- j'ai rajouté
printf ("Au revoir!\n");
system("PAUSE"); //attente d'un appui de touche au clavier pour quitter
Et là ça fonctionne. Si tu as des questions, n'hésite pas.
#include <cstdlib>
#include <iostream>
#include <cstdio>
int main()
{
int autrechoix=1;
while (autrechoix==1)
{
int choixmenu;
printf ("-- MENU MACPPPPPPONALD--\n\n");
printf ("Choix n1 : Cheese\n");
printf ("choix n2 : Burger\n");
printf ("choix n3 : DoubleCheese\n");
printf ("choix n4 : Menu M\n");
printf ("Entrez le n de votre commande : \n ");
scanf ("%d", &choixmenu);
switch (choixmenu)
{
case 1:
printf ("Cheese, bon choix !\n");
break;
case 2:
printf ("Burger, bon choix aussi !\n");
break;
case 3:
printf ("DoubleCheese, très bon choix!\n");
break;
case 4:
printf ("Menu M, le meilleur !\n");
break;
default:
printf ("Entrez un chiffre correct\n");
break;
}
printf ("Desirez-vous autre chose?\n");
printf ("Tapez 1 pour oui\n");
printf ("Si vous ne voulez rien ajouter à votre commande \n Appuyez sur n'importe quelle autre touche\n");
scanf ("%d", &autrechoix);
}
printf ("Au revoir!\n");
system("PAUSE"); //attente d'un appui de touche au clavier pour quitter
}
Voici les corrections faites :
- j'ai supprimé la seconde déclaration de la variable autrechoix qui était dans ta boucle while,
- j'ai initialisé autrechoix à 1 pour permettre au programme de rentrer dans ta boucle while,
- j'ai corrigé l'erreur évoquée par le concombre javelisé while (autrechoix=1) en while (autrechoix==1) (= affectation, == test condition),
- j'ai supprimé ta boucle if(autrechoix!=1)... car je la trouvais inutile,
- j'ai rajouté
printf ("Au revoir!\n");
system("PAUSE"); //attente d'un appui de touche au clavier pour quitter
Et là ça fonctionne. Si tu as des questions, n'hésite pas.