Bonjour j'utilise dev c++ et j'utilise le code - on ne peut plus simple - suivant :
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float i=5;
while(i>-1){
i-=0.05;
cout<<i<<endl;
}
system("PAUSE");
}
Rien de difficile du tout !!!!
Cependant, lors de l'affichage, j'obtiens des valeurs telles : 0.5499999 (au lieu de 0.55)
et lorsque i devrait etre égal à 0, j'ai : -9.30578e-007 !!!
Pourquoi ca fait ca ? (jai essayé de remplacé float par double, mais j'ai toujours le problème quand i devrait etre égal à 0!!!)
Au secours ! Je m'arrache les cheveux ! :cry:
PS : j'ai essayé de mettre à la place de float i=5 float i=5.0f, aucun changement.
De plus, si dans ma boucle je fais :
if(i==1.2){
cout<<"etape"<<endl;
}
le texte etape ne s'affiche jamais à l'écran alors que l'on peut constater sur la console qu'on passe bien par la valeur 1.2 !!!