Error: expected ';' before '{' token

Fermé
ShootmeDown - 18 mai 2011 à 17:42
 loggeronoff - 23 mai 2013 à 12:20
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

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
4
BadGamer Messages postés 517 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 25 décembre 2014 132
18 mai 2011 à 17:46
déja il me semble que c'est :

else if (nombrededifficulte == 2)
{// Erreur ICI !
0
ShootmeDown
18 mai 2011 à 17:51
Merci beaucoup de ta réponse ^^, cela marche bien.

J'appliquerais le code switch à l'avenir.
0
loggeronoff
23 mai 2013 à 12:20
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
0