002
06.07.2009, 17:43 Uhr
0xdeadbeef
Gott (Operator)
|
Ich würde dafür wohl eine eigene Funktion einführen, etwa so:
C++: |
#include <stdbool.h>
bool epsilon_equal(float x, float y, float epsilon) { return fabs(x - y) < epsilon; }
|
...und dann später
C++: |
while(!epsilon_equal(x, y, 1e-4))
|
Die Benutzung von bool setzt dabei C99-Unterstützung voraus. Da dein Compiler sich aber scheinbar nicht über "void main" beschwert, nehme ich an, dass er dafür wesentlich zu alt ist. In altem C sähe das also so aus:
C++: |
int epsilon_equal(float x, float y, float epsilon) { return fabs(x - y) < epsilon; }
|
...und in jedem Fall solltest du
durch das standardkonforme
C++: |
int main(void) { ... return 0; }
|
ersetzen. Erstens nehmen es dir dann auch strengere Compiler ab, zweitens kann man das Programm dann ggf. auch in Skripten sinnvoll verwenden. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |