Problème de réels en C

Problème de réels en C - C - Programmation

Marsh Posté le 06-12-2008 à 16:53:43    

Salut à tous,
je m'arrache les cheveux depuis tout à l'heure sur un programme en C.
Le truc le plus basique de mon programme, j'ai un fichier .txt que j'importe dans mon programme et qui contient des longueurs d'ondes.
Donc je l'importe dans mon programme, je stocke toutes mes longueurs d'onde dans un tableau, puis je réécris dans un fichier pour voir si ca marche bien.
Et j'ai un énorme problème au niveau des nombres en eux mêmes. J'utilise que des types "double", dans je mets la longueur d'onde en nanomètre, j'ai des chiffres comme 500,501,502 etc, donc ca s'écrit parfaitement dans mon fichier. Mais dès que je passe en mètres, donc je multiplie par 10^(-9) chaque élément de mon tableau de longueur d'onde, ca me ressort que des 0 dans mon fichier en sortie, et donc je ne peux pas faire mes calculs!
Pareil, si je prend une constante, du style:
"k=1,38065E-23;"
le programme me ressort 1 si j'affiche mon k, alors que je l'ai déclaré en double!!
de même si je mets k=1,38065*pow(10,-23) ca me ressort 1...
Merci de m'éclairer!!

Reply

Marsh Posté le 06-12-2008 à 16:53:43   

Reply

Marsh Posté le 06-12-2008 à 17:38:40    

%f

Reply

Marsh Posté le 06-12-2008 à 17:59:05    

Merci de l'aide mais j'ai toujours mon problème
ca me laisse que 6 décimales, donc ca arrondi à 0. Quand je rajoute .10 par exemple après le %, ca m'arrondi toujours à 0

Reply

Marsh Posté le 06-12-2008 à 18:07:15    

On peut voir le code "complet" ?

Reply

Marsh Posté le 06-12-2008 à 19:07:26    

quadn tu ecris
"k=1,38065E-23;"  
tu veut dire
"k=1.38065E-23;" ??? sinon c'ets normal que ca foire :E


Message édité par Joel F le 06-12-2008 à 19:07:48
Reply

Marsh Posté le 06-12-2008 à 22:20:25    

Merci mais j'ai réussi à régler mon problème, j'ai rajouté une précision quand j'écrivais dans mon fichier (%.10lf) et ca fonctionne!
Pour le coup de la virgule je m'étais trompé en tapant :)
Merci en tout cas!
A bientot

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed