begin process at 2012 05 30 19:46:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Warning (déclaration de float dans structure)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Warning (déclaration de float dans structure)

dimanche 3 avril 2005 à 11:56:38 | Warning (déclaration de float dans structure)

loic911

Bonjour,
j'ai pas mal de warning de ce type lorsque je compile mon programme
"warning C4305: 'initializing' : truncation from 'const double ' to 'float '"

En fait, mon programme contient une structures:

typedef struct {
    int numonenclature;
    char intituler [50];
    float montantvipo;
    float montantao;
    float ticketmod;
} examen;


Je déclare le tableau de la structures avec ces valeurs:

examen tabe[LGMAXE]={470750,"EGG",15.48,13.16,2.32,
                         475812,"ECG effort",30.58,26,4.58,
                         469814,"Echo couleur",62.32,59.84,2.48,
                         475893,"Contrôle VVI",30.16,25.64,4.52,
                         477893,"Contrôle défibrillateur",100.54,91.86,8.68,
                         475650,"Doppler bilatéral",15.08,12.82,2.26,
                         475532,"Epreuve de stress",25.13,21.37,3.76,
                         476210,"Holter",65.23,56.55,8.68};


Il me met 3 Warning (cité plus haut) par ligne, correspondant je suppose au 3 nombre float que j'initiialise dans chaque ligne.


Je vois vraiment pas ce qui pose problème!?!


dimanche 3 avril 2005 à 12:52:05 | Re : Warning (déclaration de float dans structure)

simtiers

Salut.

En fait, ton compilateur doit prendre des nombres comme 100.54 pour des doubles.
Essaie en écrivant plutot 100.54f ou bien (float)100.54 ou encore (float)100.54f, quoique cette dernière forme me parait inutile.
Cela fera des conversions implicites, ou des réinterprétations de types, faisant passer le double pour un float => ça devrait annuer les warnings.

L'intelligence, c'est comme les parachutes : quand on n'en a pas, on s'écrase
(Pierre Desproges)
dimanche 3 avril 2005 à 12:52:29 | Re : Warning (déclaration de float dans structure)

luhtor

Ca me parait étrange la facon dont tu initialises le tableau. Il doit manquer des séparateurs pour distinguer chaque élément de tabe  lors de ton initialisation.
Quand on utilise des floats, faut pas mettre 15.08f par exemple ? Il me semble que 15.08 est interprété comme un double.
dimanche 3 avril 2005 à 14:21:31 | Re : Warning (déclaration de float dans structure)

loic911

En fait le programme marchais et les données étaient correcte.
Simplement 24 warning c'est pas très propre et ca aurais p-e pas marcher dans certains cas (???)
J'ai essayer avec le (float)5.56 et ca marche.

Merci
dimanche 3 avril 2005 à 14:31:03 | Re : Warning (déclaration de float dans structure)

simtiers

Normalement, le fait d'utiliser le (float)5.56 transforme le double en float pr le compilateur.
Si tu ne l'indique pas, tu risques d'avoir une erreur si tu dépasses la taille maxi d'un float (je sais plus combien, mais c'est assez grand par rapport à te valeurs)

=> dans le cas présent, ça sert juste à éviter les wanings.

L'intelligence, c'est comme les parachutes : quand on n'en a pas, on s'écrase
(Pierre Desproges)
dimanche 3 avril 2005 à 18:44:32 | Re : Warning (déclaration de float dans structure)

vecchio56

Administrateur CodeS-SourceS
luhtor a raison, il faut mettre le suffixe f. Par défaut, les nombres a vrigules sont considéres comme des double.


Cette discussion est classée dans : programme, déclaration, structure, float, warning


Répondre à ce message

Sujets en rapport avec ce message

Structure en mémoire attaquée [ par themaste ] Bonjour à tous!Voila, actuellement je travaille sur un vieux logiciel qui ait fais à 99% en C.Dans ce programme, il y a beaucoup de structure en mémoi Warning sous linux 10.1 --> comprend rien [ par Marceleeuuh ] hello tout le monde. une petite question en ce qui concerne un warning que j'ai eu sous Linux 10.1. j'ai fait un petit programme tout bete pour calcul Warning de conversion [ par Nadaman ] Salut, Dans mon programme j'ai des conversion de float en int. Est-ce qu'il y a une manière pour éviter les warning. Si j'ai ces avertissement je doi Je sèche : types et pointeurs [ par benlustr ] Bonjour à tous, je galère depuis quelques temps pour essayer de comprendre un programme que je suis en train de revoir et d'améliorer. Actuellement, probleme alors l'execution du programme [ par anonyme_man_in_this_world ] salut !! j'ai un programme : lors le building le compilateur genetre la warning suivant ******************************************************** Structure avec un fichier [ par orangepulpe57 ] Bonjour,Je doit réaliser pour la fac un programme qui convertit le code morse en caractère. Le code morse est inscrit sur un fichier txt comme suit:A Warning sous Visual Studio 2005 [ par Subzero77 ] Bonjour a tous,J'ai une petite question a vous posez : Je programme sous Visual Studio 2005 et j'utilise les fonctions sprintf et fopen.Quand je compi Problème de warning LNK4248 [ par cadavor ] Bonjour,J'ai un problème avec un programme que je suis en train de faire.Je travaille avec Visual C++ 2005 Express.Mon but est de récupérer des trames structure [ par nidhaletec ] j'ai pas comprit cette ecriture :struct location{  location(float latitude, float longitude) : x(latitude), y(longitude) {}  float x, y; // lat, long}


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,215 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales