Problème language C
abnormal
-
Dora The Explorer Messages postés 2811 Date d'inscription Statut Contributeur Dernière intervention -
Dora The Explorer Messages postés 2811 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un problème avec ma programmation C, je suis un tout nouveau débutant alors soyez indulgents et aidez moi svp alors voilà mon IDE me dit que j'ai une erreur : error: syntax error before "printf"
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main() // ce qui signifie int main(int argc,char *argv[])
5 {
6 printf("Hello world!\n"); // instruction finie tjrs par ; printf est une fonction permet d'afficher du texte à l'écran
7 int nombre_De_Lifes = 3
8 //variable a une valeur de 3 valeur obtenue depuis le départ
9 printf("Vous avez %d de vies\n", nombre_De_Lifes);
10 printf("*Bang*\n");
11 nombre_De_Lifes = 2; // On vient de perdre une valeur de NDF donc nombre_De_Lifes = 2 donc on vient de perdre une " vie".
12 printf("Il ne vous reste que 3 Points de Vies! faites plus attention la prochaine fois!\n\n\n");
13
14 return 0;
15 //fin de fonction
}
Aidez moi svp dites moi où est le problème sachant que mon IDE CODE::BLOCKS m'indique une erreur se trouvant dans la ligne 9.
Merci
J'ai un problème avec ma programmation C, je suis un tout nouveau débutant alors soyez indulgents et aidez moi svp alors voilà mon IDE me dit que j'ai une erreur : error: syntax error before "printf"
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main() // ce qui signifie int main(int argc,char *argv[])
5 {
6 printf("Hello world!\n"); // instruction finie tjrs par ; printf est une fonction permet d'afficher du texte à l'écran
7 int nombre_De_Lifes = 3
8 //variable a une valeur de 3 valeur obtenue depuis le départ
9 printf("Vous avez %d de vies\n", nombre_De_Lifes);
10 printf("*Bang*\n");
11 nombre_De_Lifes = 2; // On vient de perdre une valeur de NDF donc nombre_De_Lifes = 2 donc on vient de perdre une " vie".
12 printf("Il ne vous reste que 3 Points de Vies! faites plus attention la prochaine fois!\n\n\n");
13
14 return 0;
15 //fin de fonction
}
Aidez moi svp dites moi où est le problème sachant que mon IDE CODE::BLOCKS m'indique une erreur se trouvant dans la ligne 9.
Merci
A voir également:
- Problème language C
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Language binaire - Guide
- Photoshop cs6 french language pack - Forum Photoshop
- Autocad 2008 language pack french - Forum AutoCAD
4 réponses
pour que tu comprennes pourquoi ton compilateur dit ça :
en fait on peut coder en théorie sur plusieurs lignes. les séparateurs d'instructions sont en général les points virgules et les accolades. Pour le compilateur, que tu tapes "entrée" ou non ne change pas grand chose pour lui. Lui, il veut voir des points virgules. ainsi il comprend que c'est une autre instruction.
Ton compilateur a donc vu ça :
c'est pourquoi il te dit qu'il comprend bien que tu appelles la fonction printf(), mais il ne comprend pas pourquoi tu écris "3" avant -> Erreur de syntaxe. appeler une fonction et écrire un nombre avant ne veut rien dire pour le langage C.
en fait on peut coder en théorie sur plusieurs lignes. les séparateurs d'instructions sont en général les points virgules et les accolades. Pour le compilateur, que tu tapes "entrée" ou non ne change pas grand chose pour lui. Lui, il veut voir des points virgules. ainsi il comprend que c'est une autre instruction.
Ton compilateur a donc vu ça :
int nombre_De_Lifes = 3 printf("Vous avez %d de vies\n", nombre_De_Lifes);
c'est pourquoi il te dit qu'il comprend bien que tu appelles la fonction printf(), mais il ne comprend pas pourquoi tu écris "3" avant -> Erreur de syntaxe. appeler une fonction et écrire un nombre avant ne veut rien dire pour le langage C.
et, puisque tu est en train d'apprendre le début de la prog, j'aimerais bien commenter cette ligne :
nombre_De_Lifes = 2; // On vient de perdre une valeur de NDF donc nombre_De_Lifes = 2
bien évidemment, je suppose que c'est un de tes tous premiers programmes, donc pas de problème si c'est pas bien fait. Mais je pense que c'est l'exemple idéal pour te montrer une bonne pratique de programmation :
Imagine tu veux changer ton code. Tu ne veux plus que le nombre de vie de départ soit trois, mais cinq par exemple. (ou mieux : tu réussis à faire en sorte qu'on puisse choisir ou même changer le nombre de vie au cours de la partie).
A ce moment là, il faudrait aussi changer la ligne que j'ai copiée.
Or, lorsqu'un programme devient un peu gros, il est quasi certain que tu vas l'oublier. Ceci est une mauvaise pratique car tu es obligé de faire de nombreux changement, et cela te conduirais à un bug (par exemple ici après le bang le nombre de vie se retrouve à 2 au lieu de descendre de un).
Une bonne chose à faire serait ceci :
nombre_De_Lifes = nombre_De_Lifes - 1; // On vient de perdre une valeur de NDL
Ainsi ton code est mieux conçu, correspond parfaitement à ce que tu veux faire et est plus clair (pas besoin de justifier pourquoi tu mets la variable à 2). Ceci est un exemple de bonne pratiques pour éviter les bugs ;)
j'espère que tu auras compris ce que je voulais dire
Très bonne suite à toi dans la prog!
nombre_De_Lifes = 2; // On vient de perdre une valeur de NDF donc nombre_De_Lifes = 2
bien évidemment, je suppose que c'est un de tes tous premiers programmes, donc pas de problème si c'est pas bien fait. Mais je pense que c'est l'exemple idéal pour te montrer une bonne pratique de programmation :
Imagine tu veux changer ton code. Tu ne veux plus que le nombre de vie de départ soit trois, mais cinq par exemple. (ou mieux : tu réussis à faire en sorte qu'on puisse choisir ou même changer le nombre de vie au cours de la partie).
A ce moment là, il faudrait aussi changer la ligne que j'ai copiée.
Or, lorsqu'un programme devient un peu gros, il est quasi certain que tu vas l'oublier. Ceci est une mauvaise pratique car tu es obligé de faire de nombreux changement, et cela te conduirais à un bug (par exemple ici après le bang le nombre de vie se retrouve à 2 au lieu de descendre de un).
Une bonne chose à faire serait ceci :
nombre_De_Lifes = nombre_De_Lifes - 1; // On vient de perdre une valeur de NDL
Ainsi ton code est mieux conçu, correspond parfaitement à ce que tu veux faire et est plus clair (pas besoin de justifier pourquoi tu mets la variable à 2). Ceci est un exemple de bonne pratiques pour éviter les bugs ;)
j'espère que tu auras compris ce que je voulais dire
Très bonne suite à toi dans la prog!
Et puis si je peux me permettre, le pluriel de life, c'est lives. C'est pour ça que la compilation échouait ;)
(i étant un nom de variable) peut aussi s'écrire, en raccourci:
Sinon, un petit conseil en plus de ceux de Paco:
dès que tu as une erreur, repère le numéro de ligne et scanne avec tes yeux. Même sans réfléchir, tu y trouveras des erreurs. Souvent bêtes d'ailleurs, on oublie des signes... Et si la syntaxe n'est pas respectée, c'est le drame. Je dis ça, parce que ça va encore t'arriver souvent, et que du coup tu risques souvent de devoir passer sur les forums :P
Bon, je retourne étudier aussi.
i = i - 1;
(i étant un nom de variable) peut aussi s'écrire, en raccourci:
i--;
Sinon, un petit conseil en plus de ceux de Paco:
dès que tu as une erreur, repère le numéro de ligne et scanne avec tes yeux. Même sans réfléchir, tu y trouveras des erreurs. Souvent bêtes d'ailleurs, on oublie des signes... Et si la syntaxe n'est pas respectée, c'est le drame. Je dis ça, parce que ça va encore t'arriver souvent, et que du coup tu risques souvent de devoir passer sur les forums :P
Bon, je retourne étudier aussi.