Erreur en language C
Fermé
georgette
-
25 nov. 2009 à 21:31
toto1983 Messages postés 205 Date d'inscription samedi 16 mai 2009 Statut Membre Dernière intervention 25 mars 2010 - 27 nov. 2009 à 12:20
toto1983 Messages postés 205 Date d'inscription samedi 16 mai 2009 Statut Membre Dernière intervention 25 mars 2010 - 27 nov. 2009 à 12:20
A voir également:
- Erreur en language C
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 3005 france tv - Forum TV & Vidéo
- Erreur 5000 france tv - Forum iPhone
8 réponses
Oula t'as pensé à découper ton programme en fonctions par hasard??? Parce que là ça fait un peu bloc, plein de conditions imbriquées et tout
Scuse moi je débute :$
Aufaite j'ai oublié de préciser que c'était une application console. Quand tu parles de "decouper", tu veux dire sauter des lignes entre les fonctions?
Aufaite j'ai oublié de préciser que c'était une application console. Quand tu parles de "decouper", tu veux dire sauter des lignes entre les fonctions?
Découper en fonctions, c'est faire des sous programmes qui sont tous liés et qui communiquent entre eux si tu préfères.
Et même sans ça, l'indentation de ton code est pas bof, ça rend ton programme franchement difficilement lisible. Si tu veux de l'aide, contactes moi: martel.kvn@gmail.com
Et même sans ça, l'indentation de ton code est pas bof, ça rend ton programme franchement difficilement lisible. Si tu veux de l'aide, contactes moi: martel.kvn@gmail.com
Yuku
Messages postés
199
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
22 mars 2012
4
25 nov. 2009 à 22:11
25 nov. 2009 à 22:11
En gros ce qu'on veut dire par "créer des fonctions", c'est que tu dois structurer ton programme. Tu verras ça quand tu progresseras, mais en gros ça veut dire la chose suivante :
Ton programme, en l'état, ressemble à la chose suivante :
Quand tu le structureras avec des fonctions, il pourra ressembler à la chose suivante :
Tu vois, tu entres dans le main() qui appelle la fonction qui sélectionne le nombre de joueurs.
En fonction du nombre de joueurs, tu entres dans la fonction de sélection du niveau, et une fois ceci fait tu appelles la fonction nombre_mystere() qui contient les instructions de ton jeu.
Bien sûr, tu peux passer en paramètre des variables dans tes fonctions et les réutiliser après, ainsi elles peuvent communiquer entre elles. Tu verras, c'est extrêmement utile !
Quant à ton problème, je suis en train d'y réfléchir.
Ton programme, en l'état, ressemble à la chose suivante :
main() { // on choisit le nombre de joueurs // on fait les instructions correspondant au menu // on boucle jusqu'à ce que le joueur trouve la solution ou perde }
Quand tu le structureras avec des fonctions, il pourra ressembler à la chose suivante :
-------------------------------------------------------------------------------------- main() { selection_nombre_joueurs(); } void selection_nombre_joueurs() { selection_niveau(); } void selection_niveau() { nombre_mystere(); } void nombre_mystere() { // contient les instructions et boucles du jeu. } --------------------------------------------------------------------------------------
Tu vois, tu entres dans le main() qui appelle la fonction qui sélectionne le nombre de joueurs.
En fonction du nombre de joueurs, tu entres dans la fonction de sélection du niveau, et une fois ceci fait tu appelles la fonction nombre_mystere() qui contient les instructions de ton jeu.
Bien sûr, tu peux passer en paramètre des variables dans tes fonctions et les réutiliser après, ainsi elles peuvent communiquer entre elles. Tu verras, c'est extrêmement utile !
Quant à ton problème, je suis en train d'y réfléchir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ah d'accord je crois que j'ai compris ce que c'était :)
Merci Yuku.
@Calli : je t'es envoyé un mail :)
Merci Yuku.
@Calli : je t'es envoyé un mail :)
Yuku
Messages postés
199
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
22 mars 2012
4
25 nov. 2009 à 22:20
25 nov. 2009 à 22:20
J'ai trouvé ton problème.
En fait il est très simple : tu as mal fermé ton "if" initial qui vérifie le nombre de joueurs.
Rajoute une accolade fermante ( } ) juste avant ton else if (nombreJoueur == 2) à la ligne 113, et enlève une accolade fermante à la fin du programme :)
En fait il est très simple : tu as mal fermé ton "if" initial qui vérifie le nombre de joueurs.
Rajoute une accolade fermante ( } ) juste avant ton else if (nombreJoueur == 2) à la ligne 113, et enlève une accolade fermante à la fin du programme :)
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
25 nov. 2009 à 22:31
25 nov. 2009 à 22:31
j'ajouterai aussi pour appuyer ce que te disais qq'un d'autre qu'une bonne indentation permet d'éviter ce genre de soucis, difficiles à voir sinon.
En gros, il faut indenter lorsque tu ouvres une accolade, et enlever l'indentation lorsque tu fermes une accolade:
ça c'est la manière que je préfère (Avec aussi quelques lignes vides pour clarifier certains morceaux de la fonction). Certains prennent une nouvelle ligne pour ouvrir les accolades :
ce qui est très clair aussi, et peut-être préférable.
Dans tous les cas, on voit clairement en regardant à quel if ou quel while etc... correspond l'accolade fermante.
En gros, il faut indenter lorsque tu ouvres une accolade, et enlever l'indentation lorsque tu fermes une accolade:
int fonction(void) { //des instructions if (qqchose) { //des instructions // encore } else { //d'autres if (autrechose) { //autres instru //encore } } }
ça c'est la manière que je préfère (Avec aussi quelques lignes vides pour clarifier certains morceaux de la fonction). Certains prennent une nouvelle ligne pour ouvrir les accolades :
int fonction(void) { //des instructions if (qqchose) { //des instructions // encore } else { //d'autres if (autrechose) { //autres instru //encore } } }
ce qui est très clair aussi, et peut-être préférable.
Dans tous les cas, on voit clairement en regardant à quel if ou quel while etc... correspond l'accolade fermante.
the F
Messages postés
150
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
22 mars 2011
13
25 nov. 2009 à 23:11
25 nov. 2009 à 23:11
@ georgette
Pense aussi a reunir toutes les declaration des variables des le debut du programme
Pense aussi a reunir toutes les declaration des variables des le debut du programme
toto1983
Messages postés
205
Date d'inscription
samedi 16 mai 2009
Statut
Membre
Dernière intervention
25 mars 2010
13
27 nov. 2009 à 12:20
27 nov. 2009 à 12:20
Euh ouais c normal ce code de gruik :(