Je ne vois pas l'erreur dans mon programme :(

Résolu/Fermé
vincentpasquier Messages postés 26 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 3 avril 2009 - 15 mars 2009 à 14:43
vincentpasquier Messages postés 26 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 3 avril 2009 - 15 mars 2009 à 15:30
Bonjour,
je viens d'écrire ce programme en suivant un guide pour apprendre le C, mais là, au moment de compiler, il y a une erreur à la ligne 31. Ca fait 10 minutes que je me casse la tête dessus, mais je trouve pas! Je suis sûr que c'est tout bête mais bon...


Voilà le programme :



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

int main()
{
long nombretape, nombremystere;
const long MAX = 100, MIN = 1;

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

do
{
printf("Quel est le nombre mystere? ");
scanf("%ld", &nombretape);

if (nombretape > nombremystere)
{
printf("\nC'est moins!");
}
else if (nombretape < nombremystere)
{
printf("\nC'est plus!");
}
else if ( nombretape == nombremystere)
{
printf("\nBravo, tu as trouvé le nombre mystere!");
}
default
{
printf("\nTapez un chiffre entre 1 et 100 s.v.p.!"); /* L'erreur est ici, il disent ça : error : syntax error before '{' token */
}
}
while (nombretape != nombremystere)


return 0;
}


Et voici le tuto que j'utilise (évidement, je n'ai pas regardé la réponse) : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/14828-tp-plus-ou-moins-votre-premier-jeu#ss_part_1

6 réponses

Salut,

"default" s'utilise dans un switch. Il n'a rien à faire là. (je ne comprends pas très bien ce que tu penses qu'il fait...)
1
vincentpasquier Messages postés 26 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 3 avril 2009
15 mars 2009 à 15:14
Merci, quel étourdi je suis!
0
vincentpasquier Messages postés 26 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 3 avril 2009
15 mars 2009 à 15:21
Bon j'ai changé un peu le programme mais maintenant y a cette erreur : error: syntax error before "return"



Programme :


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

int main()
{
long nombretape, nombremystere;
const long MAX = 100, MIN = 1;

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

do
{
printf("Quel est le nombre mystere? ");
scanf("%ld", &nombretape);

if (nombretape > nombremystere)
{
printf("\nC'est moins!");
}

else if (nombretape < nombremystere)
{
printf("\nC'est plus!");
}

else if ( nombretape == nombremystere)
{
printf("\nBravo, tu as trouvé le nombre mystere!");
}

else
{
printf("\nTaez un chiffre entre 1 et 100 svp!");
}

}
while (nombretape != nombremystere)


return 0;
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
15 mars 2009 à 15:24
Salut,
Ca sent le point virgule oublié.
while (nombretape != nombremystere);
Cdlt
0

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

Posez votre question
vincentpasquier Messages postés 26 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 3 avril 2009
15 mars 2009 à 15:25
Ok, je vais essayer
0
vincentpasquier Messages postés 26 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 3 avril 2009
15 mars 2009 à 15:30
Merci, ça marche très bien maintenant (je ne savais pas qu'après un do while il fallait un ;)


Je mets résolu!
0