[C] problème avec les "else"
Es0pe
Messages postés
104
Statut
Membre
-
Es0pe Messages postés 104 Statut Membre -
Es0pe Messages postés 104 Statut Membre -
Bonjour,
voila je viens de faire un petit programme en C [console] mais lorsque je veux le compiler il me met qu'il y a un problème au niveau de "else", il ne reconnait aucun else. Si quelqu'un a une idée de comment je peux faire je suis preneur ^^
--
☻ ♪ ♫ I'm sorry, Mama. I never meant to hurt you. I never meant to make you cry, but tonight I'm cleanin' out my closet. ♫ ♪ ☻
voila je viens de faire un petit programme en C [console] mais lorsque je veux le compiler il me met qu'il y a un problème au niveau de "else", il ne reconnait aucun else. Si quelqu'un a une idée de comment je peux faire je suis preneur ^^
--
☻ ♪ ♫ I'm sorry, Mama. I never meant to hurt you. I never meant to make you cry, but tonight I'm cleanin' out my closet. ♫ ♪ ☻
6 réponses
-
Bon ok alors ... accrochez vous XD
#include <stdio.h> #include <stdlib.h> #include <time.h> int main ( int argc, char** argv ) { long nombreMystere = 0, nombreChoisi = 0, continuerPartie=1, lvl = 1; const long MIN = 1; const long MAX = 10; const long MAx = 100; const long max = 1000; do { long coup=0; if (lvl == 1) srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; do { if (coup=0) printf("Vous pensez que c'est quel nombre? (entre 1 et 10)"); scanf("%ld",&nombreChoisi); if (nombreChoisi>nombreMystere) printf("c'est plus !"); coup = coup+1; else if (nombreChoisi < nombreMystere) printf("c'est moins!"); coup=coup+1; else printf("C'est ça ^^"); lvl=lvl+1 else (coup>=1) printf("Vous pensez que c'est quel nombre?"); scanf("%ld",&nombreChoisi); if (nombreChoisi>nombreMystere) printf("c'est plus !"); coup = coup+1; else if (nombreChoisi < nombreMystere) printf("c'est moins!"); coup=coup+1; else printf("C'est ça ^^"); lvl=lvl+1 } while (nombreChoisi!= nombreMystere); printf("1: Faire une nouvelle partie\n\n"); printf("2 ou autre : Quitter"); scanf("\n\n%ld",&continuerPartie); else if (lvl == 2) nombreMystere = (rand() % (MAx - MIN + 1)) + MIN; do { ; if (coup =0) printf("Vous pensez que c'est quel nombre?(entre 1 et 100"); scanf("%ld",&nombreChoisi); if (nombreChoisi>nombreMystere) printf("c'est plus !"); coup = coup+1; else if (nombreChoisi < nombreMystere) printf("c'est moins!"); coup=coup+1; else printf("C'est ça ^^"); lvl=lvl+1 else printf("Vous pensez que c'est quel nombre?"); scanf("%ld",&nombreChoisi); if (nombreChoisi>nombreMystere) printf("c'est plus !"); coup = coup+1; else if (nombreChoisi < nombreMystere) printf("c'est moins!"); coup=coup+1; else printf("C'est ça ^^"); lvl=lvl+1 } while (nombreChoisi!= nombreMystere); printf("1: Faire une nouvelle partie\n\n"); printf("2 ou autre : Quitter"); scanf("\n\n%ld",&continuerPartie); else if (lvl==3) nombreMystere = (rand() % (max - MIN + 1)) + MIN; do { if (coup=0) printf("Vous pensez que c'est quel nombre? (entre 1 et 1000)"); scanf("%ld",&nombreChoisi); if (nombreChoisi>nombreMystere) printf("c'est plus !"); coup = coup+1; else if (nombreChoisi < nombreMystere) printf("c'est moins!"); coup=coup+1; else printf("C'est ça ^^"); lvl=lvl+1 else (coup>=1) printf("Vous pensez que c'est quel nombre?"); scanf("%ld",&nombreChoisi); if (nombreChoisi>nombreMystere) printf("c'est plus !"); coup = coup+1; else if (nombreChoisi < nombreMystere) printf("c'est moins!"); coup=coup+1; else printf("C'est ça ^^"); lvl=lvl+1 } while (nombreChoisi!= nombreMystere); printf("1: Faire une nouvelle partie\n\n"); printf("2 ou autre : Quitter"); scanf("\n\n%ld",&continuerPartie); else printf("je pense qu'on va s'arreter la ... pasque au dessus de 1000 c'est chaud\n\n"); continuerPartie = 0; }while (continuerPartie==1); system("pause"); } -
Salut,
Il y a plein d'erreurs avec tes if.
Lorsque tu utilises if (condition) n'oublie pas de mettre l'accolade derrière.
Par exemple :if(a==0){ faire ci; faire ça; }
Si tu ne mets pas d'accolade, le code sera considéré comme :if(a==0) faire ci; faire ça; /*donc dans tous les cas, même si a différent de 0*/
La structure pour faire un if else est aussi à revoir.
Si tu veux approfondir : https://openclassrooms.com/fr/courses#ss_part_1
Cdlt -
Salut,
C'est toi qui doit s'accrocher ;-)
Tu n'as pas du tout utiliser d'accolades.
Pour l'info la syntaxe de if est :if (condition) instruction;
En revanche tu ne peux pas écrireif (condition) instruction1; instruction 2;
En ce cas il faut écrire.
En fait tu peux écrire comme ça, mais en ce cas pour if ce n'est que instruction 1 qui est traitée.if (condition){ instruction 1; instruction 2; } Pareil pour else if ou else if (condition 1){ instruction 1; instruction 2; } else if (condition 2){ instruction 3; instruction 4; } else { instruction 5; instruction 6; }et n'oublie pas le point-virgule à la fin d'une instruction.
Je vois plusieurs fois dans ton code lvl=lvl+1 au lieu delvl=lvl+1;
Accroche-toi est mets les accolades.
-
hello
ne pas oublier l'instruction switch plutôt que des if imbriquésswitch(nom_de_la_variable) { case valeur_1: Instructions à exécuter dans le cas où la variable vaut valeur_1 break; case valeur_2: Instructions à exécuter dans le cas où la variable vaut valeur_2 break; default: Instructions à exécuter dans le cas où la variable vaut une valeur autre que valeur_1 et valeur_2 break; }
https://www.squalenet.net/fr/ti/tutorial_c/9-controle-if-while-for-switch.php5 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci, pour le point virgule c'est juste que j'ai fait un C/C et que je l'ai pas copié ^^. et j'ai essayé
avec switch et case mais j'aime pas trop ... pour moi qui débute je trouve que la méthode if/else est plus ... "compréhensible" quitte a en mettre plusieurs d'affilés je pense que c'est mieux pour le début
après quand je serais plus a l'aise je passerai peut etre au switch
Blague du jour :
"-Voulez-vous switcher la question ?
-Oui Jean-Pierre c'est mon dernier mot !"
Pardonnez moi XD -
Salut,
T'as dû faire une erreur d'accolades ou une bêtise du genre.
Poste ton code en utilisant la balise code (à droite du bouton souligné). Et on essaiera de t'aider ;)