Fakultät
-
Das ganze funktioniert in etwa so
#include<iostream> using namespace std; long fakultaet(int n) //Es kann laut Definition nur die Fakultät einer positiven Ganzzahl bestimmt werden { if(n==0) return(1); //Laut Definition else if(n > 0 && n < 17) // < 17 wegen Zahlenbereichsgrenze der long int return(n * fakultaet(n-1)); else return(0);//Fehler; } int main() { cout<<"3! = "<<fakultaet(3)<<endl; return(0); }Weiß nicht genau ob du da auch den Operator überladen kannst
-
Vox 3D ... vllt. ließt du mal was andere schon Ewigkeiten vor dir gepostet haben ...
-
Ich will ja garnicht die Lösung haben oder Quelltexte, die garantiert funktionieren, sondern eigentlich interessiert mich nur der Fehler in meinem Programm.
Ob es jetzt doof programmiert ist, weil globale Variablen vorkommen ist auch nicht so wichtig... ich meine die reine Logik in meinem Programm scheint ja irgendwo falsch zu sein für den Compiler.
Und diesen Logikfehler suche ich.Und jetzt nochmal die Fakultätsversion:
#include <iostream> using std::endl; using std::cout; using std::cin; void fakul(int); int oft=0; int main() { int f=0; cin >> f; fakul(f); cout << "So das wars" << endl; getchar(); } void fakul(int f) { oft++; cout << f << endl; f = f*(f+1); if(oft < 1000) fakul(f); else return; }
-
Hast du denn endlich den Hinweis der fetten Elke befolgt und dich in der Konsolen-FAQ umgesehen? (dort steht auch drin, warum getch() alleine nicht ausreicht, um die Konsole geöffnet zu halten)
-
Du solltest doch in der FAQ mal nachschauen.
Das Problem ist (von der schlechten Programmierung abgesehen), dass dein Programm zwar durchläuft, aber sofort danach beendet wird. Wenn du genau hinschaust, wirst du vielleicht sehen können, dass die Shell mal kurz aufblitzen wird.
Das ist ein bekanntes Problem. Deswegen -> FAQ
-
Ich dachte schon ich schreib mit unsichtbarer Tinte, aber man kann es anscheinend doch sehen.
-
Dein Hinweis war ja jetzt schon wesentlich detailierter.
Aber wenn fette Elke meint ich sollte mir FAQ's durchlesen... die seitenlang sind - dann ist das nicht gerade hilfereich^^Naja- aber ich kann mir das ja mal anschauen.
cya
David
-
http://www.c-plusplus.net/forum/viewtopic-var-t-is-194851.html
Hab mir den Artikel ja jetzt mal ganz durchgelesen.
Aber da wird eher fumgefetzt als geholfen...-.-
-
Führe das Konsolenprogramm doch einfach in einer Konsole aus. Vielleicht kannst Du anhand des Verhaltens dort sogar selbst herleiten, warum sich das Programm am Ende schließt.
-
Das ist nicht der FAQ-Thread, das ist der Versuch eines (entschuldige den Ausdruck) Wichtigtuers, Halbwissen zu verbreiten. Die Konsolen-FAQ erreichst du hier.
-
Ich führe das Programm in einer Konsole aus.
Zudem der Code von Vox 3d ist fast der selbe, wie meiner und funktioniert auch nicht. ^^
-
Kauf dir ne Playstation 3
-
mhh...
zu teuer.
-
777 schrieb:
Aber wenn fette Elke meint ich sollte mir FAQ's durchlesen... die seitenlang sind - dann ist das nicht gerade hilfereich^^
Es soll so komische Leute geben, die meinen es ist normal erst die FAQ anzuschauen, damit man nicht schon wieder die selbe Frage stellt.
-
Komm schließt den MIst ... das ist einfach nur hol was die hier fürn Senf abgeben ...