#1 21. März 2006 Moin ich hab heute mit C++ angefangen und hab direkt schon ein Problem: Hier ist der Quelltext: #include <iostream> using namespace std; int main() { cout<<"Geb hier eine erste Zahl ein!\n"; int a; cin>>a; cout<<"Hier noch eine zweite Zahl\n"; int b; cin>>b; if(a==b) { cout<<"Beide Zahlen sind gleich"; } if(a<b) { cout<<a<<" ist kleiner als "<<b; } if(a>b) { cout<<a<<" ist größer als "<<b; } cout<<"\n"; } Wenn ich das ganze jetzt kompiliere und das Programm starte,werde ich nur nach den ersten 2 Zahlen gefragt und dann geht das Programm einfach aus ?( Weiß jemand was ich falsch mache? + Multi-Zitat Zitieren
#2 21. März 2006 Also.. ein system ("Pause"); am Ende würd ich mal sagen fehlt! Das bewirkt das das Fenster offen bleibt! und nen return 0; so hab ich es zumindest gelernt, mit dme return 0. + Multi-Zitat Zitieren
#3 21. März 2006 das programm gibt deine sätze schon aus, aber du hast nix eingebaut, dass du erst eine taste drücken musst dass das prog beendet wird. Wenn du es per eingabeaufforderung startest, kannsts ankucken. Ich weiß den befehl grad net der des bewirkt, ich glaube getche() oder getchar() oder so... noch was, wenn unter deiner if anweisung nur ein befehl steht, brauchst die geschweiften klammern net. UND: fang auch gleich an zu lernen deinen source ordentlich einzurücken, das kann später zu starker verwirrung führen Edit: ups zu spät meckes + Multi-Zitat Zitieren
#4 21. März 2006 Du machst gar nichts falsch. Nachdem du die beiden Zahlen eingegeben hast arbeitet das Programm ordnungsgemäß, aber da es keine Unterbrechung mehr gibt, läuft das Programm durch und beendet sich. Entweder musst du es in der Konsole ausführen, um das Ergebnis sehen zu können oder eine Unterbrechung nach der letzen Ausgabe einbauen, wie z.b. getch() oder ähnliches. //Edit: da hab ich wohl zu langsam getippt + Multi-Zitat Zitieren
#5 21. März 2006 Danke an alle!Ihr hab alle eine 10. Ich versuche es gleich mal obs jetzt funktioniert Wenns nicht klappt editier ich meinen Beitrag =) Greez + Multi-Zitat Zitieren
#6 23. März 2006 Hey, also ich habs mal nachvollzogen und dir mal was getippert... Weis net ob's klappt habs net ausprobiert da ich mein Compiler noch net installiert hab, aber müsste so laufen Code: #include <iostream> using namespace std; int main() { cout << "Geb hier eine erste Zahl ein!" << endl; int a; cin >> a; cout << "Hier noch eine zweite Zahl" << endl; int b; cin >> b; if(a==b) { cout << "Beide Zahlen sind gleich"; cin.get(); } if(a<b) { cout << a << " ist kleiner als " << b; cin.get(); } if(a>b) { cout << a << " ist größer als " << b; cin.get(); } cout << endl; } MfG AtHack + Multi-Zitat Zitieren
#7 23. März 2006 Das klappt ,aber das mit dem goto 0; und mit dem getch hat gar nicht gefunzt. So funktionierts bei mir auch ohne Probleme Code: #include <iostream> using namespace std; int main() { cout<<"Geb hier eine erste Zahl ein!\n"; int a; cin>>a; cout<<"Hier noch eine zweite Zahl\n"; int b; cin>>b; if(a==b) { cout<<"Beide Zahlen sind gleich"; } if(a<b) { cout<<a<<" ist kleiner als "<<b; } if(a>b) { cout<<a<<" ist groesser als "<<b; } cout<<"\n"; cin>>a; } + Multi-Zitat Zitieren
#8 25. März 2006 Ne andere Möglichkeit das Fenster offen zu lassen wäre: 1.In den Unterordner des Ordners mit dem Prog zu gehen. 2.Dann Rechtsklick auf den Ordner mit dem Prog -> MS-Dos Eingabeaufforderung öffnen 3.In der Eingabeaufforderung den Namen des Programms (mit oder ohne .exe ist eigentlich egal) eingeben. 4.Fertig! Ist zwar umständlicher drum würde ich lieber zur Methode mit getch() oder so raten + Multi-Zitat Zitieren