Mon code
meryem
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai commencer a faire un programme nommé 'nombre mystère' qui demande un nombre aléatoire compris entre 1 et 100 et qui compte le nombre des coups faits pour trouver ce nombre mystère, puis j'ai demandé a la fin si l'utilisateur veut recommencer le jeu , en répondant par 'o' ou 'n' (oui ou non) a part s'il tape autre caractère que 'o' et 'n' on lui redemande s'il veut recommencer le jeu ..le problème que j'ai rencontré c 'est que quand je demande à l'utilisateur s'il veut recommencer et qu'il ne tape ni 'o' ni 'n' , le message "voulez-vous recommencer le jeu" s'affiche plusieurs fois et sans arrêt...voilà donc mon code si quelqu'un connait par hasard l'erreur ou la solution de ce problème .
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <Windows.h>
int main()
{
const int MAX = 100, MIN = 1 ;
int nombreMystere=0 , nombreAecrire=0, comp=0;
char rep= ' ' ;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
do
{
do
{
printf ("Saisir un Nombre Aleatoir \n");
scanf("%d", &nombreAecrire);
comp++;
if (nombreAecrire < nombreMystere)
printf(" c'est +++++ \n");
else if (nombreAecrire > nombreMystere)
printf (" c'est ----- \n");
else
printf("Bravoo vous avez trouvé le nombre mystere en %d",comp,"COUPS!!");
}
while(nombreAecrire != nombreMystere);
while ( rep !='n' && rep!='o')
{
printf ("voulez-vous recommencer le jeu???");
scanf(&rep);
}
}
while ( rep =='o');
System("pause);
}
j'espère que mon explication est bien claire ...... Merci
j'ai commencer a faire un programme nommé 'nombre mystère' qui demande un nombre aléatoire compris entre 1 et 100 et qui compte le nombre des coups faits pour trouver ce nombre mystère, puis j'ai demandé a la fin si l'utilisateur veut recommencer le jeu , en répondant par 'o' ou 'n' (oui ou non) a part s'il tape autre caractère que 'o' et 'n' on lui redemande s'il veut recommencer le jeu ..le problème que j'ai rencontré c 'est que quand je demande à l'utilisateur s'il veut recommencer et qu'il ne tape ni 'o' ni 'n' , le message "voulez-vous recommencer le jeu" s'affiche plusieurs fois et sans arrêt...voilà donc mon code si quelqu'un connait par hasard l'erreur ou la solution de ce problème .
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <Windows.h>
int main()
{
const int MAX = 100, MIN = 1 ;
int nombreMystere=0 , nombreAecrire=0, comp=0;
char rep= ' ' ;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
do
{
do
{
printf ("Saisir un Nombre Aleatoir \n");
scanf("%d", &nombreAecrire);
comp++;
if (nombreAecrire < nombreMystere)
printf(" c'est +++++ \n");
else if (nombreAecrire > nombreMystere)
printf (" c'est ----- \n");
else
printf("Bravoo vous avez trouvé le nombre mystere en %d",comp,"COUPS!!");
}
while(nombreAecrire != nombreMystere);
while ( rep !='n' && rep!='o')
{
printf ("voulez-vous recommencer le jeu???");
scanf(&rep);
}
}
while ( rep =='o');
System("pause);
}
j'espère que mon explication est bien claire ...... Merci
A voir également:
- Mon code
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Quelques fautes :
scanf(&rep); N'existe pas. Essaie plutôt : scanf("%c",&rep);
Ensuite, n'oublie pas de mettre getchar(), juste avant ton scanf("%c",&rep); et juste après.
Donc :
getchar();
scanf("%c",&rep);
getchar();
System("pause); T'as oublié un guillemet.
Et enfin tu as oublié return 0; à la fin.
scanf(&rep); N'existe pas. Essaie plutôt : scanf("%c",&rep);
Ensuite, n'oublie pas de mettre getchar(), juste avant ton scanf("%c",&rep); et juste après.
Donc :
getchar();
scanf("%c",&rep);
getchar();
System("pause); T'as oublié un guillemet.
Et enfin tu as oublié return 0; à la fin.