Probleme lors de la compilation en C

Résolu
Loris1634 -  
 Loris1634 -
Bonjour,

Voici mon probleme , j'essai de faire un petit TP en C proposé sur le site du zéro et voila j'ai un probleme :

Lors de la compilation , on me dit que l'identificateur n'est pas déclaré .. Et pourtant je l'ai fait !!

Je ne vois pas d'ou vient mon probleme ..

Pourriez vous m'aider ??

J'utilise Visual 2008

9 réponses

drogba7213 Messages postés 1550 Statut Membre 21
 
un peu de code pourrait être le bien venu alors
0
Loris1634
 
Bonjour a vous ,

Excusez moi je ne savait pas si j'avais le droit ^^

Tenez : Par contre , il n'est pas fini , j'ai encore deux trois trucs a faire alors ne vous etonnez pas si il n'est pas complet ^^

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>


int main(int argc, char *argv[])
{

long nombreMystere ; nombreEntre = 0; choix = 0;



srand(time(NULL));
nombreMystere = (rand() % (1000 - 1 + 1)) + 1;

while( nombreEntre != nombreMystere)

{


{
printf("Veuillez choisir un nombre entre 1 et 1001 : ");
scanf("%ld" , &nombreEntre);
}

if ( nombreEntre < nombreMystere )

{
printf("Le nombre est mystere est plus grand que ca !!\n");
}

else if ( nombreEntre > nombreMystere )

{
printf("Le nombre mystere est plus petit que ca !!\n");
}
else( nombreEntre == nombreMystere );

{
printf("Bravo !!! Vous avez trouve le nombre mystere !!!\n");
printf("Voulez-vous rejouer ???\n 1 - Oui\n 2 - Non\n");
scanf("%ld" ,&choix);
}

}


( D'ailleur , est ce que vous savez comment faire pour activer la boucle SI et SEULEMENT l'utilisateur accepte de rejouer ?? )

Je ne sais aps comment faire ..
0
Loris1634
 
Bonjour ,

Je vous met une mise a jour de mon code :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>


int main(int argc, char *argv[])

{


int nombreMystere = 0, nombreEntre = 0;
const int MAX = 100, MIN = 1;
long choix = 0;



srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

do
do


{

printf("Veuillez choisir un nombre entre 1 et 1001 : ");
scanf("%ld" , &nombreEntre);



if ( nombreEntre < nombreMystere )


printf("Le nombre mystere est plus grand que ca !!\n");


else if ( nombreEntre > nombreMystere )


printf("Le nombre mystere est plus petit que ca !!\n");

else

printf("Bravo !!! Vous avez trouve le nombre mystere !!!\n");
}
while ( nombreEntre != nombreMystere );



if ( nombreEntre == nombreMystere )

printf("Voulez-vous rejouer ???\n 1 - Oui\n 2 - Non\n");
scanf("%ld" ,&choix);

else
printf("Veuillez entrer un nombre correct");


while ( choix == 1);
}


Il ne marche pas , sauriez vous pourquoi ?

Cordialement ,
Loris1634
0
Loris1634
 
Triple post veuillez m'excuser ... Mais ne tenez pas compte de se qu'il y a ecrit dans les " printf" .. Je modifierai apres ( pour ceux qui ont pas vu ya un blem ^^ )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chuka Messages postés 980 Statut Membre 378
 
salut,
do
{
	do
	{
		printf("Veuillez choisir un nombre entre 1 et 1001 : ");
		scanf("%ld" , &nombreEntre);
		if ( nombreEntre < nombreMystere )
		printf("Le nombre mystere est plus grand que ca !!\n");
		else 
			if ( nombreEntre > nombreMystere )
				printf("Le nombre mystere est plus petit que ca !!\n");
			else
				printf("Bravo !!! Vous avez trouve le nombre mystere !!!\n");
	}
	while ( nombreEntre != nombreMystere );
if ( nombreEntre == nombreMystere )
	{printf("Voulez-vous rejouer ???\n 1 - Oui\n 2 - Non\n");
	scanf("%ld" ,&choix);
	}
else
printf("Veuillez entrer un nombre correct");
}
while ( choix == 1);
} 

Je pense qu'il te manquait quelque accolade.....apres le premier do et après ton dernier if..
@+
0
Loris1634
 
Salut ,
merci a toi mais cela ne marche toujours pas ..

Quelqu'un a une idée ?
0
mype Messages postés 2449 Statut Membre 437
 
il y a un do qui sert a rien...
essaye comme ça
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
#include <time.h> 


int main(int argc, char *argv[]) 

{ 


int nombreMystere = 0, nombreEntre = 0; 
const int MAX = 100, MIN = 1; 
long choix = 0; 



srand(time(NULL)); 
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; 


do 


{ 

printf("Veuillez choisir un nombre entre 1 et 1001 : "); 
scanf("%ld" , &nombreEntre); 



if ( nombreEntre < nombreMystere ) 


printf("Le nombre mystere est plus grand que ca !!\n"); 


else if ( nombreEntre > nombreMystere ) 


printf("Le nombre mystere est plus petit que ca !!\n"); 

else 

printf("Bravo !!! Vous avez trouve le nombre mystere !!!\n"); 
} 
while ( nombreEntre != nombreMystere ); 



if ( nombreEntre == nombreMystere ) {

printf("Voulez-vous rejouer ???\n 1 - Oui\n 2 - Non\n"); 
scanf("%ld" ,&choix); }

else 
printf("Veuillez entrer un nombre correct"); 


while ( choix == 1); 
}
0
chuka Messages postés 980 Statut Membre 378
 
Salut Mype,
pour le do en trop, je suis pas sur....car pour rejouer tu dois avoir cette boucle...
for(;;)
{srand(time(NULL)); 
 nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; 
	do
	{
		printf("Veuillez choisir un nombre entre 1 et 1001 : ");
		scanf("%ld" , &nombreEntre);
		if ( nombreEntre < nombreMystere )
		printf("Le nombre mystere est plus grand que ca !!\n");
		else 
			if ( nombreEntre > nombreMystere )
 				printf("Le nombre mystere est plus petit que ca !!\n");
			else
				printf("Bravo !!! Vous avez trouve le nombre mystere !!!\n");
 	}
 	while ( nombreEntre != nombreMystere );
    do
    {
        if ( nombreEntre == nombreMystere )
	     {printf("Voulez-vous rejouer ???\n 1 - Oui\n 2 - Non\n");
	      scanf("%ld" ,&choix);
	     }
       else printf("Veuillez entrer un nombre correct");
     }
    while ( choix != 1 || choix!=2);
if (choix!=1) break;
}
0
mype Messages postés 2449 Statut Membre 437
 
ah oui tu as raison j'avais fais attention au dernier while dans ce cas c'etait bien juste un probleme de parenthese
0
the F Messages postés 162 Statut Membre 13 > mype Messages postés 2449 Statut Membre
 
salut mype voilà ton programme corrigé :


**********************************************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int main()

{
int nombreMystere = 0, nombreEntre = 0;
const int MAX = 100, MIN = 1;
long choix = 0;

do
{
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
printf("Nombre mysterieux généré:****\n");

do
{
printf("Veuillez choisir un nombre entre 1 et 1001 : ");
scanf("%ld" , &nombreEntre);
if ( nombreEntre < nombreMystere )
printf("Le nombre mystere est plus grand que ca !!\n");
else
if ( nombreEntre > nombreMystere )
printf("Le nombre mystere est plus petit que ca !!\n");

else
printf("Bravo !!! Vous avez trouve le nombre mystere !!!\n");

}while ( nombreEntre != nombreMystere );



if ( nombreEntre == nombreMystere )
{
printf("Voulez-vous rejouer ???\n 1 - Oui\n 2 - Non\n");
scanf("%ld" ,&choix);
}
else
printf("Veuillez entrer un nombre correct");
} while ( choix == 1);
return 0;
}
**********************************************************
NB :(un conseil) : veillez soigner la presentation de vos programmes ... ca les rend facile a comprendre ;-°
0
Loris1634
 
Bonjour a tous =))

Merci beaucoup a tous ceux qui m'ont aidé ^^ ca marche du tonnerre
^^
Merci ^^


( je met le sujet comme résolu )


Merci bcp ^^ et a plus ^^
0