Ich progge in den letzten Tagen an einem Programm für Kurvendiskussionen und scheine nun plötzlich bei einem banalen noob-problem zu hängen:
bei folgendem Code wird kein Text ausgegeben. nicht einmal, wenn man ihn kompilliert und ausführt! :shock: Ändert man aber die Zählerrate (->Kommentar) funzt es plötzlich.
Ich habe das Ganze debugged und i wird tatsächlich haargenau -3, das Programm führt die Bedingung aber nicht aus. Was mir noch aufgefallen ist: i nimmt manchmal Werte wie 2.599999 an. In perl gibt es sowas wie ein ungenaues Rechnen des Rechners, wobei dann solche Probleme auftreten können. Ist das hier auch so ähnlich?
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <iostream>
using namespace std;
int main (){
for (float i=-10.0f; i <= 10.0f; i += 0.1f ){ // Ändert man das letzte in i += 1 funzts
if (i==-3.0f){
cout << "#####found#####\n";
}
}
return 0;
}
|
Projekt neu erstellen hab ich schon versucht
PS: Ich benutze Microsoft VS C++ 2005 Express