C
Résolu/Fermé
Utilisateur anonyme
-
28 juil. 2011 à 10:41
14MOMO14 Messages postés 1297 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 17 août 2011 - 28 juil. 2011 à 17:08
14MOMO14 Messages postés 1297 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 17 août 2011 - 28 juil. 2011 à 17:08
4 réponses
poukkid
Messages postés
106
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
11 avril 2012
11
Modifié par poukkid le 28/07/2011 à 11:02
Modifié par poukkid le 28/07/2011 à 11:02
Salut,
Pour commencer, penses a utiliser la balise < code > autour de ton code pour la lisibilite...
Attention ici : tu vas rentrer dans la boucle si menu = 2 car la première condition sera verifiée (2 != 4), et que tu as mis un "OU" entre les deux conditions de ton while.
Il en va de même pour menu = 4 puisque la deuxième condition sera verifiée (4 != 2).
Si tu ne veux pas rentrer dans cette condition avec 2 ou 4 il faut mettre && et pas || entre tes deux conditions, pour etre sur de ne laisser boucler que sur 1 et 3.
Si c'est encore autre chose, alors précises ton problème, tes cas d'erreurs..
Pour commencer, penses a utiliser la balise < code > autour de ton code pour la lisibilite...
while(menu!=4||menu !=2)
Attention ici : tu vas rentrer dans la boucle si menu = 2 car la première condition sera verifiée (2 != 4), et que tu as mis un "OU" entre les deux conditions de ton while.
Il en va de même pour menu = 4 puisque la deuxième condition sera verifiée (4 != 2).
Si tu ne veux pas rentrer dans cette condition avec 2 ou 4 il faut mettre && et pas || entre tes deux conditions, pour etre sur de ne laisser boucler que sur 1 et 3.
Si c'est encore autre chose, alors précises ton problème, tes cas d'erreurs..
Utilisateur anonyme
28 juil. 2011 à 14:31
28 juil. 2011 à 14:31
Bonjour, Il y a toujours un problème quand on entre 2 ou 4 l'invite de commande ce ferme directement et n'affiche pas le tableau ou la phrase. Pouvez-vous m'aider?
Merci.
Merci.
//Plus ou Moins #include <stdio.h> #include <stdlib.h> #include <time.h> int main ( int argc, char** argv ) { int nombreMystere = 0, nombreEntre = 0; const int MAX = 100, MIN = 1; int menu=0; int tab[5]; int nbPartieJouer=0; int i=0; int resultat=0; int nbEncode=1; while(i<5) { tab[i]=0; i++; } while(menu<1||menu>4) { printf("|-----------------------MENU-------------------------|\n"); printf("|1.Demarrer une nouvelle série |\n"); printf("|2.Afficher l'historique de la série en cours |\n"); printf("|3.Nouveau tirage dans la série en cours |\n"); printf("|4.Quitter le programme |\n"); printf("|----------------------------------------------------|\n"); printf("\n"); scanf("%d" , &menu); printf("\n"); } while(menu!=4 && menu !=2) { if (menu==1); { while(i<5) { tab[i]=0; i++; } nbPartieJouer=0; } // Génération du nombre aléatoire srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; printf("%d\n",nombreMystere); /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */ do { // On demande le nombre printf("Quel est le nombre ? "); scanf("%d", &nombreEntre); // On compare le nombre entré avec le nombre mystère if (nombreMystere > nombreEntre) { printf("C'est plus !\n\n"); nbEncode++; printf("Nombre de nombre encode:%d\n",nbEncode); } else if (nombreMystere < nombreEntre) { printf("C'est moins !\n\n"); nbEncode++; printf("Nombre de nombre encode:%d\n",nbEncode); } else { printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n"); printf("Nombre de nombre encode:%d\n",nbEncode); } } while (nombreEntre != nombreMystere); nbPartieJouer++; printf("Nombre de partie jouer: %d\n" ,nbPartieJouer); menu=0; while(menu<1 || menu>4) { printf("|-----------------------MENU-------------------------|\n"); printf("|1.Demarrer une nouvelle série |\n"); printf("|2.Afficher l'historique de la série en cours |\n"); printf("|3.Nouveau tirage dans la série en cours |\n"); printf("|4.Quitter le programme |\n"); printf("|----------------------------------------------------|\n"); printf("\n"); scanf("%d" , &menu); printf("\n"); } } if(menu==2) { i=0; while(i<5) { printf("%d\n",tab[i]); i++; } } if (menu==4) printf("aurevoir"); return 0; }
poukkid
Messages postés
106
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
11 avril 2012
11
Modifié par poukkid le 28/07/2011 à 15:01
Modifié par poukkid le 28/07/2011 à 15:01
si je comprend bien, tu lances ton programme .exe qui t'ouvre une nouvelle fenetre avec une invite de commande?
Tu as deux choix pour éviter que ta fenetre se ferme immédiatement sans que tu aies le temps de voir ce qui s'écrit :
Soit tu rajouter a la fin de ton code
pour dire au système d'attendre un signal avant de se fermer,
Soit tu lance ton application directement à partir d'une invite de commande.
Verifies déjà si tes problèmes sont résolus en ajoutant le code précisé a la fin de ton code :
Tu as deux choix pour éviter que ta fenetre se ferme immédiatement sans que tu aies le temps de voir ce qui s'écrit :
Soit tu rajouter a la fin de ton code
system("pause");
pour dire au système d'attendre un signal avant de se fermer,
Soit tu lance ton application directement à partir d'une invite de commande.
Verifies déjà si tes problèmes sont résolus en ajoutant le code précisé a la fin de ton code :
if (menu==4) printf("aurevoir"); return 0; } system("pause");
Utilisateur anonyme
28 juil. 2011 à 14:57
28 juil. 2011 à 14:57
Merci beaucoup, ça fonctionne maintenant.
Merci.
Merci.
14MOMO14
Messages postés
1297
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
17 août 2011
105
Modifié par 14MOMO14 le 28/07/2011 à 17:10
Modifié par 14MOMO14 le 28/07/2011 à 17:10
Alors met en résolut ;-)