dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 2008
-
19 juin 2004 à 20:25
HCJarod
Messages postés221Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention11 décembre 2008
-
20 juin 2004 à 12:04
bonjour,
J'ai un probleme dans ce code:
les parametres de la fonction MyLine() :
xdep=0; ydep=0;
xfin=300; yfin=200;
normalement :
(yfin-ydep)/(xfin-xdep)=0.75
Or dans le programme la variable "a" de type float qui prend la valeur de ce calcul est egale a 0!!!
Je ne vois vraiment pas pourquoi!
void MyLine(int xdep, int ydep, int xfin, int yfin)
{
unsigned int dy;
unsigned int dx;
if(ydep>=yfin)
dy=ydep-yfin;
else
dy=yfin-ydep;
if(xdep>=xfin)
dx=xdep-xfin;
else
dx=xfin-xdep;
if(dy<=dx)
{
float a=0;
a=((yfin-ydep)/(xfin-xdep));//le probleme est ici!!! a est egale a 0 au lieu de 0.75
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 19 juin 2004 à 20:57
Les variables ke tu utilises pour ton calcul sont de type int donc le resultat sera calculé ds le type int puis converti en float, le resultat intermediaire ne pouvant stocker la partie decimal, zero converti en float donnera ZERO !!