Rechercher : dans
Par :

Language C , code::block

Dernière réponse le 5 jui 2009 à 22:58:31 d3sp3rados, le 5 jui 2009 à 12:28:38 
 Signaler ce message aux modérateurs

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 .

Configuration: Windows XP
Firefox 2.0.0.20

1

Zempachi, le 5 jui 2009 à 12:41:10

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. non, non, on peut pas!
Membre fondateur du FJH
v(^_^)v

Répondre à Zempachi

2

fiddy, le 5 jui 2009 à 12:44:55

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
Google is your friend

Répondre à fiddy

3

d3sp3rados, le 5 jui 2009 à 13:10:04

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 .

Répondre à d3sp3rados

4

Bernard, le 5 jui 2009 à 15:10:44

> 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..

Répondre à Bernard

5

d3sp3rados, le 5 jui 2009 à 15:25:48

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.

Répondre à d3sp3rados

6

fiddy, le 5 jui 2009 à 15:55:37

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 ;-))).
Google is your friend

Répondre à fiddy

7

d3sp3rados, le 5 jui 2009 à 20:35:06

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 ...........

Répondre à d3sp3rados

8

ITACHI971, le 5 jui 2009 à 21:24: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

Répondre à ITACHI971

9

fiddy, le 5 jui 2009 à 21:44:16

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
Google is your friend

Répondre à fiddy

10

ITACHI971, le 5 jui 2009 à 21:45:38

Ha oui j'ai oublié de retirer le "

Répondre à ITACHI971

11

fiddy, le 5 jui 2009 à 22:02:09

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 ^^.
Google is your friend

Répondre à fiddy

12

ITACHI971, le 5 jui 2009 à 22:32:17

Oki té content ta gagné ? :p

menfou je peux le fère facilement chez moi sans erreur

Répondre à ITACHI971

13

fiddy, le 5 jui 2009 à 22:36:24

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. ;-)))
Google is your friend

Répondre à fiddy

14

ITACHI971, le 5 jui 2009 à 22:40:31

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");
}

Répondre à ITACHI971

15

fiddy, le 5 jui 2009 à 22:54:43

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
Google is your friend

Répondre à fiddy

16

 ITACHI971, le 5 jui 2009 à 22:58:31

Oki tu ma appri un truc ;)

Répondre à ITACHI971
Collection CommentÇaMarche.net