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

Résolu
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
Configuration: Windows XP
Firefox 3.0.7

6 réponses

  1. 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
    1. Merci, quel étourdi je suis!
      0
      1. 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
        1. Contributeur
          Salut,
          Ca sent le point virgule oublié.
          while (nombretape != nombremystere);
          Cdlt
          0
          1. Ok, je vais essayer
            0
            1. 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