Salut all,
Je suis en train d'apprendre le C, et dans ce cadre, je veux créer un jeu du "plus ou moins" (c'est un tp du sdz).
Le programme génère un chiffre compris entre 0 et 100.
L'utilisateur doit ensuite entrer un chiffre, et le programme répond "c'est plus" ou "bravo t'as gagné" ou "c'est moins".
Probleme : Si l'user entre autre chose qu'un chiffre le programme part en boucle infini.
Voila le code de base, avant que je ne m'apercoive du probleme :
#include <stdio.h>
#include <stdlib.h>
#include <time.h> /*Librairie permettant le random*/
int main()
{
long nombreMystere, nombreEntre = 0, nombreTentatives = 0;
const long MAX = 100, MIN = 1;
/*Génération du nombre aléatoire*/
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
do
{
printf("Entrez un nombre ");
scanf("%ld", &nombreEntre);
if (nombreEntre < nombreMystere)
printf("C'est plus !\n\n");
else if (nombreEntre > nombreMystere)
printf("C'est moins !\n\n");
else
printf("Bravo !\nVous avez trouve en %ld tentatives!\n", nombreTentatives);
nombreTentatives++;
} while (nombreEntre != nombreMystere);
return 0;
}
Ensuite, j'ai tenté tant bien que mal de vérifier ce que l'user entre, mais ça marche pas. Voila ce que j'ai tenté :
#include <stdio.h>
#include <stdlib.h>
#include <time.h> /*Librairie permettant le random*/
int main()
{
long nombreMystere, nombreEntre = 0, nombreTentatives = 0;
const long MAX = 100, MIN = 1;
/*Génération du nombre aléatoire*/
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
do
{
printf("Entrez un nombre ");
scanf("%ld", &nombreEntre);
if (nombreEntre <= 100 && nombreEntre >=0)
{
if (nombreEntre < nombreMystere)
printf("C'est plus !\n\n");
else if (nombreEntre > nombreMystere)
printf("C'est moins !\n\n");
else
printf("Bravo !\nVous avez trouve en %ld tentatives!\n", nombreTentatives);
nombreTentatives++;
}
else
printf("erreur de saisie");
} while (nombreEntre != nombreMystere);
return 0;
}
Toujours pareil, le programme part en boucle infini.
Si quelqu'un aurait la gentillesse de m'aider, ça serait simpa
Merci, ++