noli88 Geschrieben 22. Oktober 2004 Teilen Geschrieben 22. Oktober 2004 Hallo! Ich bin ein absoluter newbie, und hab mir das Buch C++ von jesse Liberty gekauft. Die CD mit dem Compiler GNU C++ geht nicht, also hab ich mir den Dev-C++ 4.9.9.0 geholt Nun hab ich das Programm "Hello World!" erstellt. #include <iostream.h> int main(); int main() { cout <<"Hello World!\n"; return 0; } wenn ich auf compillieren gehe und dann auf ausführen sehe ich kurz ein fenster auflackern das sich aber gleich schliesst...wo ist mein fehler?? PS: wenn ihr erfahrung mit dem fehler von GNU C++ habts, würd ich mich auch über help freuen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sowisd Geschrieben 22. Oktober 2004 Teilen Geschrieben 22. Oktober 2004 da fehlt irgendwas: #include <iostream.h> #include <conio.h> int main() { cout <<"Hello World!\n"; getch(); return 0; } Der Fehler ist, das dein Programm ausgeführt wird, der Text Hello World angezeigt wird und dein Programm dann dierkt geschlossen wird. Die Funktion getch() aus der Include-Library conio.h wartet auf eine Tasteneingabe. Danach wird mit return 0 das Programm erst beendet. Die Deklaration der Funktion main vor dem Beginn der Funktion kannst du dir bei der main-Funktion sparen... Gruß Michael Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 22. Oktober 2004 Teilen Geschrieben 22. Oktober 2004 Du hast eigentlich nicht wirklich einen Fehler begannen. Das Problem ist nur das das Programm "Hello World" ausgibt und dann seine Aufgabe beendet hat und Windows die Konsole schließt. Wenn du zuerst in die Eingabeaufforderung gehst und da dein Programm aufrufst siehst du das es einwandfrei funktioniert. Es gibt aber auch verschiedene Wege dein Programm dazu zu bringen am Ende zu warten. Zum einen könntest du vor das return ein getch setzen, dieses wartet dann auf einen beliebigen Tastendruck. getch(); return 0; [/PHP] Dazu musst du die conio.h einbinden. Dieser Befel gehört allerdings nicht zum standard so das er auf diese Art nicht auf anderen Betriebssystemen funktioniert. Eine Möglichkeit die immer funktioniert wäre getchar(), diese Funktion wartet allerdings bis du Enter drückst und nicht auf eine beliebige Taste. Außerdem solltest du die iostream.h nicht mehr verwenden da sie zu einem alten C Standard gehört. Nimm lieber iostream also ohne .h. Dabei musst du aber einen namespace angeben. [PHP] #include <iostream> using namespace std; int main() { cout <<"Hello World!\n"; return 0; } Wieso hast du eigentlich zweimal main() in deinem Programm? Der gnu Compiler läuft erstmal nur unter Linux. Wenn du ihn unter Windows benutzen willst benötigst du so etwas wie cygwin. Welches Bs verwendest du denn? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noli88 Geschrieben 22. Oktober 2004 Autor Teilen Geschrieben 22. Oktober 2004 wieso ich 2x mal main genommen hab? im buch steht das dies ein paar compiler erfordern aber es geht auch ohne, wie ich soeben bermerkt habe. die anwendung von guybrush hat bei mir nicht funktioniert, der bildschirm fuhr wieder sofort runter. Mit Sowisd Tipp gings aber. Thx an beide, ich hoffe ihr helfts mir beim nächsten mal wieder Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 22. Oktober 2004 Teilen Geschrieben 22. Oktober 2004 Ich hatte bei meinem 2 ten Beispiel ja auch nur demonstriert wie das mit dem namespace klappt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noli88 Geschrieben 22. Oktober 2004 Autor Teilen Geschrieben 22. Oktober 2004 hätte noch ne question: #include <iostream.h> #include <conio.h> void DemonstrationFunction() { cout <<"In DemonstrationFunction"\n"; } int main() { cout <<"In main\n"; DemonstrationFunction(); cout <<"Zurueck in main\n"; getch(); return 0; } ich kompilliere sie und wenn ich sie dann ausführen will, erscheint "Quelldatei ist nicht kompilliert".. WIESO??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sowisd Geschrieben 22. Oktober 2004 Teilen Geschrieben 22. Oktober 2004 hätte noch ne question: #include <iostream.h> #include <conio.h> void DemonstrationFunction() { cout <<"In DemonstrationFunction"\n"; } int main() { cout <<"In main\n"; DemonstrationFunction(); cout <<"Zurueck in main\n"; getch(); return 0; } ich kompilliere sie und wenn ich sie dann ausführen will, erscheint "Quelldatei ist nicht kompilliert".. WIESO??? Ich kenne zwar den Compiler nicht so gut, aber du hast auf jeden fall hier: cout <<"In DemonstrationFunction"\n"; einen Syntaxfehler...das eine " ist zuviel...schätze mal daran wird es liegen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noli88 Geschrieben 23. Oktober 2004 Autor Teilen Geschrieben 23. Oktober 2004 Tut mir leid, ich muss dich aber wieder belästigen :confused: #include <iostream.h> #include <conio.h> int Add (int x, int y) { cout << "In Add(), erhalten " << x << " und " << y << "\n"> return (x+y); } int main() { cout << "Ich bin in main()!\n"; int a, b, c; cout << "Geben Sie zwei Zahlen ein: "; cin >> a; cin >> b; cout << "\nAufruf von Add()\n"; c=Add(a,; cout << "\nZurueck in main().\n"; cout << "c wurde gesetzt auf " << c; cout << "\nBeenden...\n\n"; getch() return 0; } UND ES ERSCHEINT WIEDER " QUELLDATEI NICHT KOMPILLIERT". und das obwohl ich es genau so geschrieben habe wie es im Buch stand. Langsam macht mich dás Buch Wahnsinnig...2 der ersten Programmes sind fehlerhaft... Danke für die Hilfe im Voraus... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. Oktober 2004 Teilen Geschrieben 24. Oktober 2004 UND ES ERSCHEINT WIEDER " QUELLDATEI NICHT KOMPILLIERT". Es gibt keinen Grund zu schreien. Du solltest unbedingt darauf achten, ob der Kompiliervorgang ohne Fehler beendet wird, sonst brauchst du dein Programm nicht zu starten, und dich auch nicht über diese Meldung zu wundern. Wenn du dir die Fehlermeldungen des Compilers ansiehst, wird dir wahrscheinlich in dieser Zeile: cout << "In Add(), erhalten " << x << " und " << y << "\n"> oder in der darauffolgenden einen Syntaxfehler gemeldet werden. Das liegt daran, dass das > am Ende der Zeile nicht dahin gehört. Da muss ein ; hin, wie bei jeder Anweisung. Auch hier getch() fehlt das Semikolon am Ende. Zu iostream.h hat dir Guybrush Threepwood bereits etwas gesagt. Gewöhn dir bitte an, nach dem Kompilieren zu prüfen, ob Fehler oder Warnungen aufgetreten sind. Falls ja, schau dir die Zeilen, in denen der Compiler Fehler sieht, genau an. Ich bezweilfe, dass es wirklich so im Buch steht. Aber selbst wenn, darfst du dich trotzdem nicht aufs stumpfe Abschreiben beschränken, sondern musst versuchen, zu verstehen, was da falsch sein könnte. Bücher enthalten nunmal hin und wieder Fehler, deswegen ist Mitdenken gefragt. Die Fehler, die hier vorliegen, hättest du ohne größere Schwierigkeiten auch selbst finden können, oder? Falls du eine Fehlermeldung nicht verstehst oder den Fehler nicht beheben kannst, dann erst melde dich hier, und zwar mit der kompletten Fehlermeldung und dem dazugehörigen Code, vielleicht mit ein paar weiteren Zeilen davor und dahinter. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.