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 1524 Date d'inscription   Statut Membre Dernière intervention   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 965 Date d'inscription   Statut Membre Dernière intervention   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 2435 Date d'inscription   Statut Membre Dernière intervention   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 965 Date d'inscription   Statut Membre Dernière intervention   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 2435 Date d'inscription   Statut Membre Dernière intervention   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 150 Date d'inscription   Statut Membre Dernière intervention   13 > mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention  
 
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