Language C , code::block

Résolu/Fermé
d3sp3rados Messages postés 15 Date d'inscription samedi 4 juillet 2009 Statut Membre Dernière intervention 11 juillet 2009 - 5 juil. 2009 à 12:28
ITACHI971 Messages postés 760 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 24 décembre 2010 - 5 juil. 2009 à 22:58
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 vendredi 14 octobre 2005 Statut Contributeur Dernière intervention 5 juin 2020 906
5 juil. 2009 à 12:41
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 juil. 2009 à 12:44
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 samedi 4 juillet 2009 Statut Membre Dernière intervention 11 juillet 2009
5 juil. 2009 à 13:10
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
> 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 samedi 4 juillet 2009 Statut Membre Dernière intervention 11 juillet 2009
5 juil. 2009 à 15:25
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 juil. 2009 à 15:55
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 samedi 4 juillet 2009 Statut Membre Dernière intervention 11 juillet 2009
5 juil. 2009 à 20:35
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 mardi 2 septembre 2008 Statut Membre Dernière intervention 24 décembre 2010 230
5 juil. 2009 à 21:24
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 juil. 2009 à 21:44
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 mardi 2 septembre 2008 Statut Membre Dernière intervention 24 décembre 2010 230
5 juil. 2009 à 21:45
Ha oui j'ai oublié de retirer le "
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 juil. 2009 à 22:02
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 mardi 2 septembre 2008 Statut Membre Dernière intervention 24 décembre 2010 230
5 juil. 2009 à 22:32
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 juil. 2009 à 22:36
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 mardi 2 septembre 2008 Statut Membre Dernière intervention 24 décembre 2010 230
5 juil. 2009 à 22:40
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 juil. 2009 à 22:54
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 mardi 2 septembre 2008 Statut Membre Dernière intervention 24 décembre 2010 230
5 juil. 2009 à 22:58
Oki tu ma appri un truc ;)
0