Language C , code::block

Résolu
d3sp3rados Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
ITACHI971 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je viens de commencer les cours du site du zéro et je suis arrivé a la fin des variables depuis peu et je souhaite m'exercer un peut la-dedans histoire de pas être larguer au prochains cours , pour cela j'ai commencer une petite histoire dans un donjon ( en console application ) voici le code :

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

intmain()
{

int niveauDuJoueur = 0; // On initialise la variable a 0

printf("Pour rentrer dans ce donjon il faut avoir le niveau %d\n");
printf("De quel niveau etes-vous ?\n");
scanf("%d", &niveauDuJoueur);// On demande le niveau du joueur avec scanf
printf("Le niveau %d est autoriser pour l'accès au donjon , cependant il est un peut juste souhaitez-vous continuez quand même ?\n");

return 0;
}


L'histoire n'est pas terminer , mais la "zone de la mort" indique 1 erreur et 3 "warning" ( je sais pas ce que veut dire warning ) et je vois pas ou l'erreur est placée . Si quelqu'un pouvait m'indiquer ce serait vraiment chouette de sa pars .
A voir également:

11 réponses

Zempachi Messages postés 7472 Date d'inscription   Statut Contributeur Dernière intervention   906
 
Salut,
à moins d'être devin, on ne pourra pas t'aider sans les message d'erreurs.
Quant aux warnings, ce sont justes des points signalés pouvant poser problème; cela sert à attirer l'attention sur une portion de code qui ne présente pas d'erreurs mauis qui pourrait poser problème.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
Warning signifie "avertissement", mais c'est mieux de corriger quand même ;-)))

intmain()
Il ne faut pas oublier l'espace entre les mot-clés. int main() et même mieux int main(void).

printf("Pour rentrer dans ce donjon il faut avoir le niveau %d\n");
Je pense qu'ici tu veux juste indiquer une valeur de niveau et non une variable donc plutôt :
printf("Pour rentrer dans ce donjon il faut avoir le niveau 5\n"); (Bien sûr remplace 5 par le niveau de ton choix)

Tu utilises %d, ce qui signifie que la fonction printf attend un argument pour l'afficher en int. Donc la correction donnerait : printf("Pour rentrer dans ce donjon il faut avoir le niveau %d\n",niveauDuJoueur);

printf("Le niveau %d est autoriser pour l'accès au donjon , cependant il est un peut juste souhaitez-vous continuez quand même ?\n");
Même remarque. Si tu affiches %d dans ton printf, le compilateur attend un argument qu'il affichera sous forme d'un integer. Par exemple : printf("valeur=%d\n",niveauDuJoueur);

Cdlt
0
d3sp3rados Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Merci a tous les deux, maintenant je sais ce que veut signifie " warning" , j'ai mis un espace entre int et main , le projet marche. Bon j'ai du bidouiller un peut avec les infos que tu m'as donnée pour avoir un truc a plutôt propre
j'ai pas le temps de le mettre et je terminerais l'histoire plus tard , encore merci pour l'aide que vous m'aez apporter , mais j'en aurais encore bien besoin pour la suite .
0
Bernard
 
> je viens de commencer les cours du site du zéro et je suis arrivé a la fin

Alors tu es mal barré !
Ce "cours" est une calamité reconnue partout.
Lis le K&R, et là, oui, tu sauras programmer en C.
Car pour l'instant tu es justement au niveau zéro, même en-dessous carquasiment tout ce que tu as appris est faux et du grand n'importe quoi..
0

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

Posez votre question
d3sp3rados Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Mouais..... En tous cas si ces cours sont reconnues comme une "calamité" au moins ils sont gratuits , et pis sa me donnera quelques bases, quand je dis que je suis arrivé a la fin , c'est a la fin du cours sur les variable et comme j'ai pas tous capté , je m'entraine en faisant quelques petit bous de code dans ce genre, même si la plupart de ce que je fais est faux , et je galère comme je sais pas quoi a faire un petit truc comme sa et ben sa m'habitue avec les variable.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ne lui réponds pas, c'est le genre de personne qui dit que ça c'est mieux sans réellement savoir pourquoi ;-))).
Le siteduzero possède certes des imperfections, ne donne pas forcément les bonnes habitudes, mais il est parfait pour débuter ;-))).
0
d3sp3rados Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Ha ok , j'avais avancer un peu dans mon projet mais comme j'ai un gros virus qui modifie les dossier ( enfin je croit ) , j'ai tout perdue ...........
0
ITACHI971 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   231
 
moi aussi je débute, et c'est le meilleur site du monde pour apprendre es bases, mdr

voici la correction :
#include <stdio.h>
#include <stdlib.h>

intmain()
{

int niveauDuJoueur = 0; // On initialise la variable a 0

printf("Pour rentrer dans ce donjon il faut avoir le niveau %d\n");
printf("De quel niveau etes-vous ?\n");
scanf("%d", &niveauDuJoueur);// On demande le niveau du joueur avec scanf
printf("Le niveau %d est autoriser pour l'accès au donjon , cependant il est un peut juste souhaitez-vous continuez quand même", niveauDuJoueur ?\n");

return 0;
}

il faut toujours écrire ta variable niveauDujoueur après la virgule sinon ta console affichera affichera %d
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Tes corrections sont fausses ;-)))
Le point d'interrogation et le \n n'ont pas lieu d'être en arguments.
Et tu n'as pas tout relevé les erreurs.
Lis mon post 2, toutes les erreurs ont été relevées.

Cdlt
0
ITACHI971 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   231
 
Ha oui j'ai oublié de retirer le "
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Pas que ça. Tu as aussi oublié d'enlever le ? et le \n ;-))). Il faut les mettre avant le guillemet du motif.
Et je compte même pas de l'espace entre l'int et le main etc ^^.
0
ITACHI971 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   231
 
Oki té content ta gagné ? :p

menfou je peux le fère facilement chez moi sans erreur
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
C'est pas une question de gagner quoique ce soit, c'est surtout indiquer les bonnes erreurs pour aider les autres. Si tu leur dis quelque chose de faux, ça n'aide pas. ;-)))
0
ITACHI971 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   231
 
OK

quel est la différence entre ca :

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

int main(int argc, char *argv[])
{
int compteur = 0;

while (compteur < 10)

{
printf("la variable est %d\n\n", compteur);
compteur++;
}
system("pause");
}

ET CA ??

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

int main(int argc, char *argv[])
{
int compteur = 0;

while (compteur < 10)

{
printf("la variable est %d\n\n", compteur);
compteur+ = 1
}
system("pause");
}
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Aucune différence notable.
La notation compteur+=1 signifie compteur=compteur+1;
compteur++ incrémente compteur de 1 et renvoie l'ancienne valeur (post-incrémentation). Il y a également la pré-incrémentation qui renvoie la nouvelle valeur (++compteur).
Mais dans ton exemple, puisque tu ne te sers pas de la valeur de retour, il n'y aura aucune différence.

Par contre attention, tu as mis un espace entre l'opérateur + et = (il faut que les opérateurs soient collés). De plus, n'oublie pas le point virgule pour signifier la fin de l'instruction.

Cdlt
0
ITACHI971 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   231
 
Oki tu ma appri un truc ;)
0