Void

Résolu/Fermé
robocopolo Messages postés 76 Date d'inscription lundi 10 septembre 2012 Statut Membre Dernière intervention 26 novembre 2020 - 25 oct. 2012 à 22:41
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 28 oct. 2012 à 12:07
Bonjour,
Je dois faire un programme de pile ou face en langage C,
J'ai fait un module avec statistiques.c et statistiques.h . Dans statistiques.c j'ai fait un void qui prend en paramètre plusieurs variables que je veux afficher dans ce void.

Le soucis est que l'affichage est complètement faux
voici le code du void dans statistiques.c :
#include "statistiques.h"
#include <stdio.h>

void statistiques(float nombre_points_obtenus, float nombre_tentatives, float pourcentage_reussite_pile, float pourcentage_reussite_face, float pourcentage_reussite_joueur, int reussite_consecutive){
printf("Votre total de point obtenus est de:%.2f\n ", nombre_points_obtenus);
printf("Votre nombre total de tentatives est de : %.2f\n ", nombre_tentatives);
printf("Votre pourcentage des tentatives donnant le cote pile : %.2f pourcent\n ", pourcentage_reussite_pile * 100);
printf("Votre pourcentage des tentatives donnant le cote face : %.2f pourcent\n ", pourcentage_reussite_face * 100);
printf("Votre pourcentage de reussite est de %.2f pourcent\n ", pourcentage_reussite_joueur * 100);
printf("Votre nombre maximal de tentatives consecutives est de %d\n ", reussite_consecutive);// affichage des statistiques
}

et voici ce que j'ai mis dans main.c :
statistiques(nombre_points_obtenus, nombre_tentatives, pourcentage_reussite_pile, pourcentage_reussite_face, pourcentage_reussite_joueur, reussite_consecutive);

Avez-vous une solution ?
P.S. : dans le main.c, statistiques est souligné


7 réponses

essayez avec "%lf" comme format au lieu de "%.2f"
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 oct. 2012 à 08:09
Non, ce n'est pas %lf qu'il faut mettre mais bien des %f.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 oct. 2012 à 08:12
Bonjour,

Tu nous en dis pas assez.
Le soucis est que l'affichage est complètement faux
Qu'est-ce qui est faux précisément ? As-tu un exemple ?,
Le formatage ? Les valeurs ?

Comment sont définies les valeurs entrant en paramètre ?

En plus ton code est vraiment illisible. Pour la prochaine fois, merci de poster en utilisant les balises "code" (à droite du bouton souligné).
0
robocopolo Messages postés 76 Date d'inscription lundi 10 septembre 2012 Statut Membre Dernière intervention 26 novembre 2020
Modifié par robocopolo le 26/10/2012 à 12:21
En fait, comme j'utilise visual studio, je peux mettre des points d'arrêt.

Donc, avant le passage dans la procédure void, les valeurs sont correctes.
Quand je mets un point d'arrêt juste au début du void, les valeurs sont correctes aussi, mais quand je mets le point d'arrêt à partir du premier printf, les valeurs changent. Donc ce n'est pas dans le programme principal mais dans la procédure qu'il y a un problème...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 oct. 2012 à 14:30
Sans vouloir te contredire, ce n'est pas parce que les variables te semblent bonnes en entrée de fonction qu'elles le sont...

Pourrais-tu nous poster ton main ? (sans oublier les balises)
0
Blunderer Messages postés 273 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 6 décembre 2012 83
26 oct. 2012 à 14:24
Et tous tes résultats sont faux ou juste quelques uns ?
0

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

Posez votre question
robocopolo Messages postés 76 Date d'inscription lundi 10 septembre 2012 Statut Membre Dernière intervention 26 novembre 2020
26 oct. 2012 à 23:25
Ils le sont tous...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
27 oct. 2012 à 22:13
On attend toujours ton main()... Du moins, tu veux de l'aide.
0
Blunderer Messages postés 273 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 6 décembre 2012 83
27 oct. 2012 à 12:51
Pourrait-on avoir les nombres avant et après ?
Pour essayer de mieux comprendre ;)
Merci
0
robocopolo Messages postés 76 Date d'inscription lundi 10 septembre 2012 Statut Membre Dernière intervention 26 novembre 2020
28 oct. 2012 à 11:21
Problème résolu !!!!!!!!!!!!!!!!!! (YES, je suis trop fort !!! )

Voila où était le soucis: j'avais fait 1 fichiers statistiques.h dans lequel j'avais mis :
#ifndef FONCTIONS_H_
#define FONCTIONS_H_

void statistiques(float nombre_points_obtenus, float nombre_tentatives, float pourcentage_reussite_pile, float pourcentage_reussite_face, float pourcentage_reussite_joueur, int reussite_consecutive);

#endif

Alors que je devais mettre :
#ifndef STATISTIQUES_H_
#define STATISTIQUES_H_

void statistiques(float nombre_points_obtenus, float nombre_tentatives, float pourcentage_reussite_pile, float pourcentage_reussite_face, float pourcentage_reussite_joueur, int reussite_consecutive);

#endif


C'était tout bête, mais en tout cas un grand merci pour votre aide !!!
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
28 oct. 2012 à 12:07
Euh, il doit y avoir autre chose...
Car remplacer FONCTIONS par STATISTIQUES ne change rien du tout.
Bref, si ça marche c'est le principal. Maintenant tu comprends pourquoi on demande toujours le code entier ;-).
0