CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] nombres astronomiques ??

Maldoror
Maldoror
Niveau 7
01 mars 2005 à 15:35:43

bonjour,
j´ai un probleme lorsque j´execute ce code :

  1. include < stdio.h>

int main()
{
char prenom[20];
char nom[20];
char age[20];
char poid[20];
char taille[20];

printf("Entrez votre prenom :\n");
gets(prenom);
printf("Entrez votre nom :\n");
gets(nom);
printf("Entrez votre age :\n");
gets(age);
printf("Entrez votre poid :\n");
gets(poid);
printf("Entrez votre taille :\n");

printf("Vous vous appellez %s %s, vous avez %d, vous pesez %d et vous nesurez %d.\n", prenom,nom,age,taille,poid);

getchar();
return 0;
}

le prog se lance, me demande mon prenom, mon nom, mon age, mon poid et ma taille, mais a la fin, lorsqu´il dot retourner les valeurs, il me met 20424524 pour mon age, alors que j´ai mis 13. Je pense que c´est un probleme de " %d" ( il faut mettre une autre lettre?)

Kelios
Kelios
Niveau 8
01 mars 2005 à 16:21:22

Ben c´est que tu passe un string et tu espère que ça convertiras en décimal...
En quelque sorte, ça te le transforme, ouais, mais je rentrerai pas dans les détails du pourquoi ça te donne un truc abracadabrant.

L´important à retenir c´est qu´il faut que tu passes un nombre. Pas une chaine de charactères. Donc, par exemple, au lieu d´utiliser gets, utilise scanf pour les chiffres...

Si tu sais pas te servir de scanf, cherches un peu sur google.

Kelios
---------

LGV
LGV
Niveau 28
01 mars 2005 à 17:17:12

tu peux aussi simplement changer le formatage de sortie de %d en %s, selon ce que tu veux.

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
01 mars 2005 à 17:34:03

Ah aussi... pourquoi utilisé un tableau pour stocker l´âge, le poid et la taille? Un seul nombre suffit...enfin je pense que t´as fais cette erreur parce que t´as utilisé des chars...

achdezo
achdezo
Niveau 10
01 mars 2005 à 19:21:33

Puis oublie gets() c´est une fonction pourrie.

JeanYvesYves
JeanYvesYves
Niveau 10
02 mars 2005 à 10:46:03

oui, clair :) tu essaies d´afficher une chaine avec %d, pas bon :)

cela dit : si tu as 20424524 ans, il faut que tu en parles au Guiness des records ! Jeanne Calmant est détronée ! !
:dehors:

Maldoror
Maldoror
Niveau 7
02 mars 2005 à 11:30:42

j´ai change les " %d" en " %s" et maintenant tout matrche bien . ..

[Lockless]

Ah aussi... pourquoi utilisé un tableau pour > stocker l´âge, le poid et la taille? Un seul > nombre suffit...enfin je pense que t´as fais > cette erreur parce que t´as utilisé des chars...

comment ca?

achdezo

Puis oublie gets() c´est une fonction pourrie.

qu´est ce que je peux utiliser a la place ?

achdezo
achdezo
Niveau 10
02 mars 2005 à 14:02:33

fgets() quand tu auras quelques connaissances, pour les chaînes de caractère je te conseille d´écrire ta propre fonction à l´aide de getchar() ( c´est enrichissant) dès que tu auras vu " malloc()"

Et pour les nombres scanf("%d", &) me semble bon

Maldoror
Maldoror
Niveau 7
02 mars 2005 à 14:51:32

ok merci pour ta reponse

ohunshadok
ohunshadok
Niveau 10
02 mars 2005 à 16:20:26

pour prendre l´age, fait plutot

int age;
. ..
. ..
scanf("%d", &);
. ..
. ..
printf("%d", age);
. ..
. ..

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment