Mon jeu en C ne s'arrête s'arrete tout seul..
Résolu
samghami
Messages postés
61
Date d'inscription
Statut
Membre
Dernière intervention
-
samghami Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
samghami Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
Bonjour, mon programme s'eteint automatiquement meme via la fonction
Voici ma portion de code:
Quelqu'un pourrais-t-il m'aider? je souhaite juste que si le nombre de chance (Variable Ncompteur) est epuisé, l'on affiche Vous avez perdu! etc... et qu'il face une pause, ensuite que l'utilisateur tape entrée et que le programme s'éteigne
getchar();
Voici ma portion de code:
case 2: { int nombreMystere = 0, nombreEntre = 0, compteur = 0, Ncompteur = 10; const int MAX = 500, MIN = 1; //génération du nombre aléatoire srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; /*La boucle du programme. Elle se repete tant que l'utilisateur na pas trouvée le nombre mystere */ //on explique la difficulté: printf("Vous avez choisie la difficulte Moyen! Le nombre est compris entre 1 et 500\n"); do { //On demande le nombre printf("Quel est le nombre ? "); scanf("%d", &nombreEntre); compteur = compteur + 1; Ncompteur = Ncompteur - 1; if (Ncompteur > 0) { //on compare le nombre entrée avec le nombre mystere if (nombreMystere > nombreEntre) printf("C'est plus que %d !\n\n", nombreEntre); else if (nombreMystere < nombreEntre) printf("C'est moin que %d ! \n\n", nombreEntre); else printf("Bravo vous avez trouve le nombre mystere qui etais %d !!! \n\n Le nombre a ete trouve en %d coups", nombreMystere, compteur); } else { printf("\nVous avez perdu!\n La reponse etait %d\n\n",nombreMystere); } } while (nombreEntre != nombreMystere && Ncompteur > 0); getchar();} break;
Quelqu'un pourrais-t-il m'aider? je souhaite juste que si le nombre de chance (Variable Ncompteur) est epuisé, l'on affiche Vous avez perdu! etc... et qu'il face une pause, ensuite que l'utilisateur tape entrée et que le programme s'éteigne
A voir également:
- Mon jeu en C ne s'arrête s'arrete tout seul..
- 94 jeu - Télécharger - Puzzle & Réflexion
- Mon compte instagram s'abonne tout seul - Forum Instagram
- Spooler impression s'arrete tout seul - Forum Windows 10
- Mon téléphone bip tout seul - Forum Mobile
- Instagram s'arrête systématiquement - Forum Samsung
2 réponses
Sur le Site du zero https://openclassrooms.com/fr/ Il est indiquer que ce n'est pas terrible d'utiliser système pause.
L'on ma conseiller d'utiliser "getchar()" pour faire une pause.
Tu en pense quoi?
Mais je vais tester la solution et je tiens infomer
L'on ma conseiller d'utiliser "getchar()" pour faire une pause.
Tu en pense quoi?
Mais je vais tester la solution et je tiens infomer
Effectivement, c'est un sujet polémique.
A savoir :
La fonction system() est une horreur car très peu performante. Ceci dit en fin de programme pour appeler l'instruction "pause" c'est négligeable. system("pause") n'est pas portable : sur GNU/Linux, ça ne marchera pas (à moins de définir une instruction pause bien évidemment).
D'un autre côté, getchar() est portable. Mais il faut bien gérer le buffer clavier. Du moins, il faut s'assurer qu'il soit vide avant d'appeler getchar() pour faire une pause.
Que ce soit getchar() ou system(""), la solution n'est pas top puisqu'en console, l'instruction n'a pas lieu d'être.
Donc pour conclure, si tu te fiches de la portabilité et que tu ne maîtrises pas trop le C, utilise system("pause"); sinon utilise getchar(), mais dans ce cas n'oublie pas de vider le buffer clavier.
A savoir :
La fonction system() est une horreur car très peu performante. Ceci dit en fin de programme pour appeler l'instruction "pause" c'est négligeable. system("pause") n'est pas portable : sur GNU/Linux, ça ne marchera pas (à moins de définir une instruction pause bien évidemment).
D'un autre côté, getchar() est portable. Mais il faut bien gérer le buffer clavier. Du moins, il faut s'assurer qu'il soit vide avant d'appeler getchar() pour faire une pause.
Que ce soit getchar() ou system(""), la solution n'est pas top puisqu'en console, l'instruction n'a pas lieu d'être.
Donc pour conclure, si tu te fiches de la portabilité et que tu ne maîtrises pas trop le C, utilise system("pause"); sinon utilise getchar(), mais dans ce cas n'oublie pas de vider le buffer clavier.