rouge 13 Posté(e) le 6 mai 2007 Partager Posté(e) le 6 mai 2007 Bonjour. Je commence à apprendre le language C en suivant ces super cours http://www.siteduzero.com/tuto-3-8-0-apprenez-a-programmer-en-c.html mais voila le probleme: #include <stdio.h> #include <stdlib.h> #include <time.h> int main ( int argc, char** argv ) { long nombreMystere = 0, nombreEntre = 0; const long MAX = 100, MIN = 1; // Génération du nombre aléatoire nombreMystere = genereNombre(MIN, MAX); /* 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 [url="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"]printf[/url]("Quel est le nombre ? "); scanf("%ld", &nombreEntre); // On compare le nombre entré avec le nombre mystère compareNombres(nombreEntre, nombreMystere); } while (nombreEntre != nombreMystere); system("PAUSE"); } "A vous de créer les 2 fonctions qu'elle utilise : genereNombre (qui génère un nombre aléatoire compris entre MIN et MAX) et compareNombres qui compare le nombre entré au nombre mystère et affiche si c'est plus, si c'est moins, ou si c'est le bon résultat ." Voici ce que j'ai fait: #include <stdio.h> #include <stdlib.h> #include <time.h> long genereNombre( long MIN, long MAX) { long nombreMystere = 0 srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; return nombreMystere; } long compareNombre (long nombreEntre, long nombreMystere) { if (nombreEntre < nombreMystere) { printf ("Plus grand\n"); return nombreEntre != nombreMystere; } else if (nombreEntre > nombreMystere) { printf ("Plus petit\n"); return nombreEntre != nombreMystere; } else if (nombreEntre == nombreMystere) { printf ("BRAVO!!!\n"); return nombreEntre == nombreMystere; } } int main ( int argc, char** argv ) { long nombreMystere = 0, nombreEntre = 0; const long MAX = 100, MIN = 1; // Génération du nombre aléatoire nombreMystere = genereNombre(MIN, MAX); /* 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("%ld", &nombreEntre); // On compare le nombre entré avec le nombre mystère compareNombres(nombreEntre, nombreMystere); } while (nombreEntre != nombreMystere); system("PAUSE"); } le debbuger me dit 2 erreurs: -lingne 8 error syntax before "srand" -ligne 55 error syntax at the end of input J'ai chercher mais pas moyen de trouver le probleme... Quelqu'un peut m'aider? merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
soksam Posté(e) le 7 mai 2007 Partager Posté(e) le 7 mai 2007 Première erreur: PANPAN CUL CUL mon gars ! Après une instruction on met quoi ???? (fait pas genre de quoi ^^) Deuxième erreur: essaie sauter une ligne après ton }. Et puis aussi une fonction en général ca renvoie qq chose Enfin la c'est surtout qui y a rien qui te fait sortir de ta fonction Lien vers le commentaire Partager sur d’autres sites More sharing options...
rouge 13 Posté(e) le 7 mai 2007 Auteur Partager Posté(e) le 7 mai 2007 ok merci. Bon j"ai fait quelque modif et voici le code: #include <stdio.h> #include <stdlib.h> #include <time.h> long genereNombre( long MIN, long MAX) { long nombreMystere = 0; srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; return nombreMystere; } long compareNombre (long nombreEntre, long nombreMystere) { long bon = 1; if (nombreEntre < nombreMystere) { printf ("Plus grand\n"); bon = 1; } else if (nombreEntre > nombreMystere) { printf ("Plus petit\n"); bon = 1; } else if (nombreEntre == nombreMystere) { printf ("BRAVO!!!\n"); bon = 0; } return bon; } int main ( int argc, char** argv ) { long nombreMystere = 0, bon = 1, nombreEntre = 0; const long MAX = 100, MIN = 1; // Génération du nombre aléatoire nombreMystere = genereNombre(MIN, MAX); /* 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("%ld", &nombreEntre); // On compare le nombre entré avec le nombre mystère compareNombres(nombreEntre, nombreMystere); } while (bon == 1); system("PAUSE"); } mais il y a encore une erreur que je ne comprend pas: [Linker error] undefined reference to `compareNombres' ld returned 1 exit status tu peut m'aider stp:) Lien vers le commentaire Partager sur d’autres sites More sharing options...
soksam Posté(e) le 7 mai 2007 Partager Posté(e) le 7 mai 2007 Ah après un peu de réflection j'ai trouvé Remplace ca: compareNombres(nombreEntre, nombreMystere); Par ca: bon = compareNombres(nombreEntre, nombreMystere); Lien vers le commentaire Partager sur d’autres sites More sharing options...
rouge 13 Posté(e) le 7 mai 2007 Auteur Partager Posté(e) le 7 mai 2007 ca ne marche toujours pas... toujours la même erreur Lien vers le commentaire Partager sur d’autres sites More sharing options...
jack Posté(e) le 7 mai 2007 Partager Posté(e) le 7 mai 2007 La fonction compareNombres que tu appelle dans le main n'existe simplement pas Car d'un coté tu appelles compareNombres ... et de l'autre tu as crée une fonction compareNombre ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
rouge 13 Posté(e) le 8 mai 2007 Auteur Partager Posté(e) le 8 mai 2007 Ah c'était aussi bidon que sa... Merci beaucoup:hello: Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant