[Hilfe] Euler'sche Zahl berechnen!
-
Hallo zusammen ich bräuchte mal eure Hilfe!
Wir haben in der Schule den Auftrag bekommen, ein Programm zu Schreiben,
was die Euler'sche Zahl berechnet! Es darf nur die Libary stdio.h verwendet werden. Bisher hab ich das Programm auch dazu gebracht mir die euler'sche Zahl auszugeben, aber diese ist nicht genau! Egal wechen neherungs wert ich ab 10 eingebe, die Zahl bleibt immer gleich!Hier mein Code:
/* * Funktion zur Berechnung der * Fakultät */ float fakultaet(int anzahl) { float fakultaet = 1; if(anzahl !=0) { for(int x=2; x<=anzahl; x++) { fakultaet = fakultaet * x; } } else if(anzahl == 0) { fakultaet = 1; } return fakultaet; }
/* * Funktion zur Berechnung der * Euler'schen Zahl mit Hilfe * der Fakultäts Funktion */ float euler(int wieoft) { float euler = 0; for(int x=0; x<=wieoft; x++) { euler = euler+(1/fakultaet(x)); } return euler; }
/* Unsere Main Funktion */ int main() { int neherung = 0; printf("\n\tGeben Sie den Wert zur neherung ein: "); scanf("%i", &neherung); printf("%f\n\n", euler(neherung)); system("PAUSE"); }
Und so Sieht das ergebnis in der Konsole aus:
http://www.webschwarz.de/euler.jpg
-
das könnte an dem datentyp
float
liegen
float sind so ungefähr 4.8 nochwas mal 10e34
du solltest
double
oder sogar
long double
nehmen
also überall statt float double nehmen
achja und das nächste mal verwendest du statt code tags die cpp tags...
-
OK danke hat mir sehr geholfen ;-)!
Sorry das mit dem cpp tags hab ich übersehen!
-
Skym0sh0 schrieb:
achja und das nächste mal verwendest du statt code tags die cpp tags...
... verwendest du bitte ...