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

Résolu
vincentpasquier Messages postés 32 Statut Membre -  
vincentpasquier Messages postés 32 Statut Membre -
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. jamian
     
    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
  2. vincentpasquier Messages postés 32 Statut Membre
     
    Merci, quel étourdi je suis!
    0
  3. vincentpasquier Messages postés 32 Statut Membre
     
    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
  4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Ca sent le point virgule oublié.
    while (nombretape != nombremystere);
    Cdlt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. vincentpasquier Messages postés 32 Statut Membre
     
    Ok, je vais essayer
    0
  7. vincentpasquier Messages postés 32 Statut Membre
     
    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