Probleme lors de la compilation en C

Résolu/Fermé
Loris1634 - 25 avril 2009 à 11:50
 Loris1634 - 25 avril 2009 à 22:10
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 mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
25 avril 2009 à 11:52
un peu de code pourrait être le bien venu alors
0
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
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
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 samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
25 avril 2009 à 18:05
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
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
25 avril 2009 à 19:49
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 samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
25 avril 2009 à 20:44
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
25 avril 2009 à 21:21
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 dimanche 22 mars 2009 Statut Membre Dernière intervention 22 mars 2011 13 > mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010
25 avril 2009 à 21:55
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
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