Erreur variable non déclarée
Résolu
evie57
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je débute en programmation avec C.
Sur un programme à priori simple de jeu de plus ou moins j'essaie de faire une boucle pour recommencer la partie (exo proposé par openclassroom)
Bref le souci est pas là :
Je voulais faire des conditions imbriquées déjà je sais pas si c'est possible (même si pas joli)
J'ai un message d'erreur de variable non déclarée alors qu'elle l'est dès la première ligne
Pouvez vous m'aider ???
L'erreur est en ligne 43 soit au dernier while
Voici mon programme :
#include <stdlib.h>
#include <time.h>
#include <math.h>
int main ( int argc, char** argv )
{
do
{
int Choix=0;
printf("veux tu faire une partie\n");
printf("1: oui\n", "2:Non\n");
scanf("%d", &Choix);
int nombreMystere = 0, nombreEntre = 0;
const int MAX = 100, MIN = 1;
// Génération du nombre aléatoire
int Compteur =1 ;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
/* 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");
Compteur++ ;}
else if (nombreMystere < nombreEntre)
{printf("C'est moins !\n\n");
Compteur++ ;}
else
printf ("Bravo, vous avez trouve le nombre mystere en %d coups !!!\n\n", Compteur);
} while (nombreEntre != nombreMystere);}
while (Choix);
return 0;
}
Je débute en programmation avec C.
Sur un programme à priori simple de jeu de plus ou moins j'essaie de faire une boucle pour recommencer la partie (exo proposé par openclassroom)
Bref le souci est pas là :
Je voulais faire des conditions imbriquées déjà je sais pas si c'est possible (même si pas joli)
J'ai un message d'erreur de variable non déclarée alors qu'elle l'est dès la première ligne
Pouvez vous m'aider ???
L'erreur est en ligne 43 soit au dernier while
Voici mon programme :
#include <stdlib.h>
#include <time.h>
#include <math.h>
int main ( int argc, char** argv )
{
do
{
int Choix=0;
printf("veux tu faire une partie\n");
printf("1: oui\n", "2:Non\n");
scanf("%d", &Choix);
int nombreMystere = 0, nombreEntre = 0;
const int MAX = 100, MIN = 1;
// Génération du nombre aléatoire
int Compteur =1 ;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
/* 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");
Compteur++ ;}
else if (nombreMystere < nombreEntre)
{printf("C'est moins !\n\n");
Compteur++ ;}
else
printf ("Bravo, vous avez trouve le nombre mystere en %d coups !!!\n\n", Compteur);
} while (nombreEntre != nombreMystere);}
while (Choix);
return 0;
}
A voir également:
- Erreur variable non déclarée
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
3 réponses
Bonjour
Ta variable Choix est déclarée à l'intérieur des accolades du do {... }.
Elle est locale à ce bloc, donc inconnue à l'extérieur. Au moment du while (Choix), elle est hors de portée.
Déclare-la AVANT le do, en laissant l'initialisation à 0 à l'intérieur si tu en as besoin à chaque boucle.
Ta variable Choix est déclarée à l'intérieur des accolades du do {... }.
Elle est locale à ce bloc, donc inconnue à l'extérieur. Au moment du while (Choix), elle est hors de portée.
Déclare-la AVANT le do, en laissant l'initialisation à 0 à l'intérieur si tu en as besoin à chaque boucle.