Bonjour!
Je suis tombé sur un problème sur lequel je ne pensais pas passer autant de temps. Je suis au courant que la division de deux entiers donne un entier. Je pensais qu'en castant un de ces entiers vers un double ou un float suffirait à surmonter l'épreuve... éh bien non!
J'ai potassé la faq de developpez.com le net, mon bouquin de C et mon bouquin de C++ et je n'ai pas trouvé la réponse. Alors voici ma question:
J'ai essayé des casts dans tous les sens, et il doit y avoir un truc bénin qui m'échappe! En plus c'est typiquement l'heure où je pense de travers, alors si quelqu'un pouvait m'expliquer pourquoi la variable rapport vaut toujours 1.0000
ça m'aiderais! Je perds un temps fou sur des problèmes comme ça!
voici mon code:
Merci à toute âme qui viendrait à m'aider! Et désolé si c'est du redit! j'ai pourtant cherché!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 void DTM::compterFils() //defini ailleurs: typedef struct tagXGORECT { LONG X1, X2; LONG Y1, Y2; } XGORECT; extern XGORECT rectTrav; void DTM::compterFils() { double X, Y, max, min; double rapport; X = (double)rectTrav.X2 - (double)rectTrav.X1; Y = (double)rectTrav.Y2 - (double)rectTrav.Y1; (Y>X)? max = Y, min = X: max = X, min = Y; rapport = max/min; }
Dani
_____
café!
Partager