Probleme de compilation

choco -  
 choco -
Bonjour,
je viens de me mettre a programmer mais j'ai un probleme, mon compilateur n'arrive pas compiler mon script voici le script:

/*
Ci-dessous, ce sont des directives de préprocesseur.
Ces lignes permettent d'ajouter des fichiers au projet, fichiers que l'on appelle "librairies".
Grâce à ces librairies, on disposera de fonctions toutes prêtes pour afficher par exemple un message à l'écran
*/

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long nombredevies = 5, niveau = 1; //nombre de vie initial
printf("Bonjour et bienvenue sur mon premier programme.\n");//Mettre du texte dans son programme.
/* <- Débute d'un commentaire
fin du commentaire */
printf("Vous avez %ld vies et vous ete niveau %ld\n", nombredevies, niveau);
Printf("vous devez rentrer un nombre pour continuer\n");
system("PAUSE");
printf("Vous venez de prendre un coup sur la tete.\n");
nombredevies = 4; //perte de la vie
printf ("Desole, il vous reste %ld vie et vous ete niveau %ld\n", nombredevies);
system("PAUSE"); //le programme se mais en pause
return 0; // le programme s'arrête.
}

Mon compilateur est code::blocks
Merci de votre aide

11 réponses

toto
 
Bonjour

Ton compilateur n'arrive as à compiler, le pauvre ;-)
Je suppose que tu veux dire qu'il te sort un ou plusieurs messages d'erreur.
Et tu penses que ce messages ne sont là que pour faire joli ou qu'ils servent à quelque chose ?

Déjà, pour commencer, faut pas confondre Printf et printf.
0
loupius
 
Et pour continuer les propos de mon imminent prédécesseur:
printf ("Desole, il vous reste %ld vie et vous ete niveau %ld\n", nombredevies);
2 % mais un seul paramètre; ça n'empêche pas la compilation mais ça peut empêcher la bonne exécution du programme.
Le compilation n'est certes pas content... mais normalement il dit pourquoi... et il suffit de se corriger.
Bon courage.
0
choco
 
merci de ta réponse mais maintenant j'ai cette ligne qui beug:
scanf("%ld", &nombre);

voici le script complet:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
printf("Bonjour et bienvenue sur mon premier programme.\n");//Mettre du texte dans son programme.
/* <- Débute d'un commentaire
fin du commentaire */
long nombredevies = 5, niveau = 1; //nombre de vie initial
printf("Vous avez %ld vies et vous ete niveau %ld\n", nombredevies, niveau);
printf("vous devez rentrer un nombre pour continuer\n");
scanf("%ld", &nombre);
printf("votre nombre est %ld !\n\n", nombre);
printf("Vous venez de prendre un coup sur la tete.\n");
nombredevies = 4; //perte de la vie
printf ("Desole, il vous reste %ld vie et vous ete niveau %ld\n", nombredevies);
system("PAUSE");
return 0;
}

merci de vos reponse
0
progfann Messages postés 373 Statut Membre 23
 
c'est quoi le message d'erreur?
0
progfann Messages postés 373 Statut Membre 23
 
tu n'as pas declaré nombre
0
toto
 
goto message 1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
choco
 
bon je recapitule,
la compilation a marché quand j'ai changé la majuscule mais depuis que j'ai rajouté cette ligne sa marche plus et j'ai vérifie sur le tuto sur lequel j'apprends le c.
0
toto
 
Je sais quelle est ton erreur.
Ce que j'essaye de te dire depuis le message 1 c'est qu'il faut lire les messages d'erreur sortis par le compilateur ET CHERCHER A LES COMPRENDRE. Surtout que celui ci est très facile à comprendre.
Et si tu ne comprends pas un mot d'anglais (tu vas en baver !), au moins recopie-le ici pour donner un maximum de renseignements à ceux qui essaient de t'aider.
0
mype Messages postés 2449 Statut Membre 437
 
tu n'as aucune variable nombre c'est nombredevies ta variable
scanf("%ld", &nombredevies);
0
toto
 
bof, ça va planter la ligne suivante...
0
mype Messages postés 2449 Statut Membre 437 > toto
 
ouè mais bon j'espere qu'il aura compris qu'il faut remplacer tous ces "nombre" par "nombredevies" ;)
0
togodo Messages postés 155 Statut Membre 8 > toto
 
Au juste par simple curiosité et ennuie de ma part.
Pourquoi des long?
0
toto > toto
 
ça dépend des compilateurs.. des entiers avec au moins autant de bits que les int, peut-être plus
0
toto > toto
 
pardon, j'avais lu "c'est quoi" au lieu de "pouquoi"
0
choco
 
Voici le message d'erreur:

In function 'main':
'nombre' undeclared (first use in this function)
(each undeclared indentifier is reported only once for each function it appears in.)
[build Error] [main.o] Error 1
0
mype Messages postés 2449 Statut Membre 437
 
regarde le message 8 ^^
0
progfann Messages postés 373 Statut Membre 23
 
nombre undeclared ==> nombre n'est pas declaré !!
0
progfann Messages postés 373 Statut Membre 23 > progfann Messages postés 373 Statut Membre
 
meme si je ss null en anglais j'ai compri ce msg d'erreur ;p
0
toto
 
Et tu ne vois pas ce que ça veut dire ?
0
togodo Messages postés 155 Statut Membre 8
 
0
progfann Messages postés 373 Statut Membre 23 > togodo Messages postés 155 Statut Membre
 
lol
0
toto > togodo Messages postés 155 Statut Membre
 
Dans la fonction ' ; main' ; : ' ; nombre' ; non déclaré (première utilisation dans cette fonction) (chacun indentifier non déclaré est rapporté seulement une fois pour chaque fonction qu'il apparaît dedans.) [erreur de construction] [main.o] l'erreur 1
0
togodo Messages postés 155 Statut Membre 8 > toto
 
C'est méga trop dur. Arrêtes la programmation :)
Orf on est méchant...
0
choco
 
Ceus que je cherche a faire c'est que l'utilisateur du logiciel quand il tape son nombre il réaparaisse.
donc
printf("vous devez rentrer un nombre pour continuer\n");
vous devez rentrer un nombre donc sur le site ou j'apprends a coder il me mettre de mettre cette ligne:
scanf("%lf", &nombre);
et après le nombre doit réapparaitre avec cette ligne:
printf("votre nombre est %lf !\n\n", nombre);
donc votre nombre est....

c'est tout ce que je cherche à faire.
Mais sa bloque à cette ligne:
scanf("%lf", &nombre);
0
progfann Messages postés 373 Statut Membre 23
 
parce que tu as mal copié ça du site, essai ce code:

double nombre;
printf("vous devez rentrer un nombre pour continuer\n"); 
scanf("%lf", &nombre); 
printf("votre nombre est %lf !\n\n", nombre); 
0
choco
 
c'est bon sa marche,
mais pourtant je l'ai bien copié.
je vous laisse l'adresse de la page:
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/14118-un-monde-de-variables
merci de votre aide
0