noli88 Geschrieben 22. Oktober 2004 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.
Sowisd Geschrieben 22. Oktober 2004 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
Guybrush Threepwood Geschrieben 22. Oktober 2004 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?
noli88 Geschrieben 22. Oktober 2004 Autor 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
Guybrush Threepwood Geschrieben 22. Oktober 2004 Geschrieben 22. Oktober 2004 Ich hatte bei meinem 2 ten Beispiel ja auch nur demonstriert wie das mit dem namespace klappt
noli88 Geschrieben 22. Oktober 2004 Autor 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???
Sowisd Geschrieben 22. Oktober 2004 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...
noli88 Geschrieben 23. Oktober 2004 Autor 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...
Klotzkopp Geschrieben 24. Oktober 2004 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.
Empfohlene BeitrÀge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden