Syntax error before "else" :o
Résolu
coleturner
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
gregouz62 Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
gregouz62 Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis débutant, je viens de crée un mini jeux sur console, mais vrément un tout mini jeux...
voici le code :
/* PLUS ou MOINS
Petit jeux crée par un débutant en programmation
Le but du jeux est de trouver le nombre mystere en un minimun de propositions
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
long NombreMistere = 0, NombreEntre = 0; // Déclarer les deux variables
const MAX = 100, MIN = 1; // chiffre MAX et chiffre MIN que peut prendre l'ordi
srand(time(NULL));
NombreMistere = (rand() % (MAX - MIN + 1)) + MIN;
while(NombreEntre)// la boucle en while
{
printf("Quel est le nombre mystere?\n");
scanf("%ld", &NombreEntre);
// les conditions
if(NombreEntre < NombreMistere)
printf("C'est plus !\n\n");
else if(NombreEntre > NombreMistere)
printf("C'est moins !\n\n");
}
else(NombreMistere != NombreEntre) *************************** syntax error before "else"
printf("Bravo, vous avez trouve le nombre Mystere ! ! !\n\n");
system("PAUSE");
return 0;
}
Le probleme c'est que la zone de la more m'affiche : syntax error before "else" le else ou j'ai mis des **** L 33
mais je ne voie pas l'erreur... :o
je suis débutant, je viens de crée un mini jeux sur console, mais vrément un tout mini jeux...
voici le code :
/* PLUS ou MOINS
Petit jeux crée par un débutant en programmation
Le but du jeux est de trouver le nombre mystere en un minimun de propositions
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
long NombreMistere = 0, NombreEntre = 0; // Déclarer les deux variables
const MAX = 100, MIN = 1; // chiffre MAX et chiffre MIN que peut prendre l'ordi
srand(time(NULL));
NombreMistere = (rand() % (MAX - MIN + 1)) + MIN;
while(NombreEntre)// la boucle en while
{
printf("Quel est le nombre mystere?\n");
scanf("%ld", &NombreEntre);
// les conditions
if(NombreEntre < NombreMistere)
printf("C'est plus !\n\n");
else if(NombreEntre > NombreMistere)
printf("C'est moins !\n\n");
}
else(NombreMistere != NombreEntre) *************************** syntax error before "else"
printf("Bravo, vous avez trouve le nombre Mystere ! ! !\n\n");
system("PAUSE");
return 0;
}
Le probleme c'est que la zone de la more m'affiche : syntax error before "else" le else ou j'ai mis des **** L 33
mais je ne voie pas l'erreur... :o
11 réponses
ha ok ... autant pour moi
je viens de le mettre a l'interieur et ... toujours pas, cette fois ça marque :
C:\Dev-Cpp\les projets\Makefile.win [Build Error] [test2.exe] Error 1
et il n'y a aucune ligne sur fond rouge :o
je viens de le mettre a l'interieur et ... toujours pas, cette fois ça marque :
C:\Dev-Cpp\les projets\Makefile.win [Build Error] [test2.exe] Error 1
et il n'y a aucune ligne sur fond rouge :o
Et aussi ceci n'a pas non plus de sens:
Tu mets un else suivi d'une condition.
Peut être que tu voulais faire un else if.
else(NombreMistere != NombreEntre)
Tu mets un else suivi d'une condition.
Peut être que tu voulais faire un else if.
a bon?
alors comment je pourrai dire "sinon si le nombre mystere est egale au nombre entre, écrivez bravo...?"
j'ai essayer avec == et ça ne fonctionne pas
alors comment je pourrai dire "sinon si le nombre mystere est egale au nombre entre, écrivez bravo...?"
j'ai essayer avec == et ça ne fonctionne pas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question#include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char *argv[]) { long NombreMistere = 0, NombreEntre = 0; // Déclarer les deux variables const MAX = 100, MIN = 1; // chiffre MAX et chiffre MIN que peut prendre l'ordi srand(time(NULL)); NombreMistere = (rand() % (MAX - MIN + 1)) + MIN; while(NombreMistere != NombreEntre)// la boucle en while { printf("Quel est le nombre mystere?\n"); scanf("%ld", &NombreEntre); // les conditions if(NombreEntre < NombreMistere){ printf("C'est plus !\n\n"); } else if(NombreEntre > NombreMistere){ printf("C'est moins !\n\n"); } else { printf("Bravo, vous avez trouve le nombre Mystere ! ! !\n\n"); } } system("PAUSE"); return 0; }
Tu as testé s'il était plus petit, s'il était plus grand. Si aucun de ces deux cas n'est vrai, alors c'est qu'il est égal, il suffit d'un petit else dans la boucle ;-)
De même, ta boucle méritait cette nouvelle condition: tant que nombreMystere est différent de nombreRentré, on continue. S'ils sont égaux, c'est qu'on a trouvé la solution, donc fini de boucler.
Tu comprends?
oui, j'ai compis,
j'ai tout recommancé cette fois en do ... while :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
long NombreMystere = 0, NombreEntre = 0;
const long MAX = 100, MIN = 1;
srand(time(NULL));
NombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
do
{
printf("Entrez le nombre mystere");
scanf("%ld", NombreEntre);
printf("\n");
if (NombreEntre < NombreMystere)
printf("C'est plus\n\n");
else if (NombreEntre > NombreMystere)
printf("C'est moins\n\n");
else
printf("Bravo vous avez trouvez le nombre Mystere\n\n");
} while(NombreEntre != NombreMystere)
system("PAUSE");
return 0;
}
syntax error before "system"
y'a une erreur avant system? je ne vois pas...
j'ai tout recommancé cette fois en do ... while :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
long NombreMystere = 0, NombreEntre = 0;
const long MAX = 100, MIN = 1;
srand(time(NULL));
NombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
do
{
printf("Entrez le nombre mystere");
scanf("%ld", NombreEntre);
printf("\n");
if (NombreEntre < NombreMystere)
printf("C'est plus\n\n");
else if (NombreEntre > NombreMystere)
printf("C'est moins\n\n");
else
printf("Bravo vous avez trouvez le nombre Mystere\n\n");
} while(NombreEntre != NombreMystere)
system("PAUSE");
return 0;
}
syntax error before "system"
y'a une erreur avant system? je ne vois pas...
y'a une erreur avant system? je ne vois pas...
Un point virgule manquant après la parenthèse fermante du while ;-)
Un point virgule manquant après la parenthèse fermante du while ;-)
exacte, je ne savais même pas qu'il fallait un ; apres un while... comme quoi on en apprend tous les jours ^^
Merci beaucoup pour ton aide kilian :)
Merci beaucoup pour ton aide kilian :)
slt a tous je suis debutant dans la programmation mais mon bleme est ke apres avoir utiliser les condition if,else,et else lors de la coppilation code blocks me met tjrs erroe syntax error before "else"
voici le mini programme
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int age = 20 ;
if ( age >= 18 )
{
printf ( "vous etes majeur\n");
}
else if( age > 10 );
{
printf (" bon t'es pas encore trop jeune\n");
}
else
{
printf ( " vous etes jeune ");
}
return 0;
}
Merci de m'aider à trouver la faille merci d'avance
voici le mini programme
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int age = 20 ;
if ( age >= 18 )
{
printf ( "vous etes majeur\n");
}
else if( age > 10 );
{
printf (" bon t'es pas encore trop jeune\n");
}
else
{
printf ( " vous etes jeune ");
}
return 0;
}
Merci de m'aider à trouver la faille merci d'avance