Problème Variable/Ram

Fermé
Gnu! - 20 janv. 2009 à 17:57
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 20 janv. 2009 à 18:06
Bonjour,
Je viens de commencer a bosser sur Dev-C++ et les ennuis commencent...

J'ai suivis le tuto sur le langage C++ du site du zéro.

Je pensais avoir compris et me lance dans un petit T.P. :)

Je rentre donc ceci:

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

int main(int argc, char *argv[])
{
long argent_sur_moi = 20; // Je vien d'avoir mon argent de poche youpee!
printf("Vous avez actuellement %ld Euros\n");
printf("Oh! Quelle belle paire de chaussures!\n");
//J'achète les chaussures
argent_sur_moi = 5;
printf("Vous n'avez plus que %ld Euros \n");
system("PAUSE");
return 0;
}

Je me relis en me disant "Youpi sa doit fonctionner", je teste et dans la console il s'affiche:

Vous avez actuellement 4007432 Euros
Oh! Quelle belle paire de chaussures!
Vous n'avez plus que 4007432 Euros
Appuyer sur une touche pour continuer..._

J'ai essayé de changé les valeurs des variables et rien ne change...
Si quelqu'un peut m'aider ce serait sympa

Merci d'avance! =D
A voir également:

2 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
20 janv. 2009 à 18:02
il faut rajouter tes variable dans tes printf
printf("Vous avez actuellement %ld Euros\n",argent_sur_moi);
et
printf("Vous n'avez plus que %ld Euros \n",argent_sur_moi);
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 janv. 2009 à 18:06
:-)

C'est normal. Tu as juste besoin d'une toute petite explication sur les formats de chaine en C.

Lorsqu'on utilise printf, on veux afficher une chaine:

printf("Ceci est une chaine\n");
Si tu veux afficher des trucs en plus, comme la valeur d'une variable, alors il faut que tu indiques le format, ici c'est %ld (pour long décimal) mais il faut aussi indiquer à printf quelle est cette variable!

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

int main(int argc, char *argv[])
{
    long argent_sur_moi = 20; // Je vien d'avoir mon argent de poche youpee!
    printf("Vous avez actuellement %ld Euros\n", argent_sur_moi);
    printf("Oh! Quelle belle paire de chaussures!\n");
    //J'achète les chaussures
    argent_sur_moi = 5;
    printf("Vous n'avez plus que %ld Euros \n", argent_sur_moi);
    system("PAUSE");
    return 0;
} 


Et tu peux en mettre autant que tu veux:
long nb1 = 8;
long nb2 = 20;
printf("Huit: %ld, vingt: %ld\n", nb1, nb2);

Si tu oublies ces arguments, alors printf va tenter de les chercher dans la mémoire, mais il va tomber sur des valeurs aléatoires, de la mémoire qui a été utilisée pour d'autres trucs, d'où tes nombres faramineux ;-)
0