Error: expected ';' before '{' token

Bonjour, voilà j'ai une erreur sur une ligne, je débute dans la programmation en C.

Merci pour l'aide que vous saurez m'apporter.

J'ai mis l'erreur la ou il y a le commentaire. Type de l'erreur = Error: expected ';' before '{' token

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

int main ()

{
int nombreMystere = 0, nombreEntre = 0, compteur = 0, nombrededifficulte = 0;
int MAX = 100, MIN = 1;

srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
printf("Choississez votre difficulté ! \n - Facile 1 \n - Moyen 2 \n - Difficile \n");
scanf("%d", nombrededifficulte);

if (nombrededifficulte == 1)
{
do
{
compteur++;
printf("Quel est le nombre ? ");
scanf("%d", &nombreEntre);

if (nombreMystere > nombreEntre)
printf("C'est plus !\n\n");
else if (nombreMystere < nombreEntre)
printf("C'est moins !\n\n");
else
printf ("Bravo, vous avez trouve le nombre mystere !\n\n");
} while (nombreEntre != nombreMystere);}

else (nombrededifficulte == 2)
{// Erreur ICI !
do
{MAX = 1000, MIN = 1;
compteur++;
printf("Quel est le nombre ? ");
scanf("%d", &nombreEntre);

if (nombreMystere > nombreEntre)
printf("C'est plus !\n\n");
else if (nombreMystere < nombreEntre)
printf("C'est moins !\n\n");
else
printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
} while (nombreEntre != nombreMystere);
}

else (nombrededifficulte == 3)
{
do
{MAX = 10000, MIN = 1;
compteur++;
printf("Quel est le nombre ? ");
scanf("%d", &nombreEntre);

if (nombreMystere > nombreEntre)
printf("C'est plus !\n\n");
else if (nombreMystere < nombreEntre)
printf("C'est moins !\n\n");
else
printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
} while (nombreEntre != nombreMystere);
printf("Vous avez terminez le jeu en %d coups", compteur);}

return 0;
}

4 réponses

  1. Bonjour

    else (nombrededifficulte == 2) 
    cette ligne est incorrecte. Tu voulais peut-être mettre
    else if (nombrededifficulte == 2) 

    idem avec == 3
    un construction avec
    switch(nombrededifficulte) {   
      case 1 :... break;   
      case 2 :... break;   
      case 3 :...    
    }   
    
    serait préférable
    1. Boujour pouvez vous m aider aussi jai plusieur erreur dans mon programme:

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

      int main()
      {
      printf("Boujour voici ma calculette!\n");
      int choix = 0, nb1 = 0, nb2 = 0, resultat = 0, recommencer = 0;
      printif("++++ CALCULATRICE ++++\n");

      do
      {

      { printf("\n1. Addition \n2. Soustraction \n3. Multiplication \n4. Division\n");
      printf("Entrer le numero de l'operation a effectuer : ");
      scanf("%d", choix);

      switch(choix);

      {

      printf("\nVous avez choisis l'addition.\n");
      printf("Entrez le premier nombre : ");
      scanf("%d", &nb1);
      printf("Entrez le second nombre");
      scanf("%d", &nb2);

      resultat = nb1 + nb2;
      ici printf("%d + %d = %d\n"; nb1, nb2 resultat); // ici il y a une erreur
      printf("\nVoulez-vous recommencer ? 0 = Oui / 1 = Non :");
      scanf("%d",recommencer)
      break ; // ici il y a une erreur
      }

      case 2: // ici il y a une erreur
      printf("\nVous avez choisis la soustaction.\n");
      printf("\nEntrer le premier nombre : ");
      scanf("%d", &nb1);
      printf("Entrer le second nombre :");
      scanf("%d", &nb2"); // ici il y a une erreur

      resultat = nb1 - nb2; // ici il y a une erreur
      ici printf("%d - %d = %d\n", nb1, nb2, resultat"); // ici il y a une erreur
      printf("\nVoulez-vous recommencer ? 0 + Oui / 1 + Non");
      scanf("%d",recommencer"); // ici il y a une erreur
      break; // ici il y a une erreur

      case 3:
      printf("\nVous avez choisis la multiplication.\n");
      printf("Entrez le premier nombre : ");
      scanf("%d", &nb1);
      printf("Entrez le second nombre");
      scanf("%d", &nb2"); // ici il y a une erreur

      resultat = nb1 * nb2;
      printf("%d * %d = %d\n"; nb1, nb2 resultat"); // ici il y a une erreur
      printf("\nVoulez-vous recommencer ? 0 = Oui / 1 = Non :");
      scanf("%d",recommencer"); // ici il y a une erreur
      break;

      case 4:
      printf("\nVous avez choisis la multiplication.\n");
      printf("Entrez le premier nombre : ");
      scanf("%d", &nb1);
      printf("Entrez le second nombre");
      scanf("%d", &nb2"); // ici il y a une erreur

      resultat = nb1 / nb2;
      ici printf("%d / %d =%d\n"; nb1, nb2 resultat"); // ici il y a une erreur
      printf("\nVoulez-vous recommencer ? 0 = Oui / 1 = Non :");
      ici scanf("%d",recommencer"); // ici il y a une erreur // ici il y a une erreur
      break;

      }while (recommencer == 0)

      return 0;
      } // ici il y a une erreur
      1. Merci beaucoup de ta réponse ^^, cela marche bien.

        J'appliquerais le code switch à l'avenir.
        1. déja il me semble que c'est :

          else if (nombrededifficulte == 2)
          {// Erreur ICI !