Zum Inhalt springen

Empfohlene BeitrÀge

Geschrieben

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.

Geschrieben

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

Geschrieben

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?

Geschrieben

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

Geschrieben

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???

Geschrieben
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...

Geschrieben

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,B);

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...

Geschrieben
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.

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die grĂ¶ĂŸte IT-Community
rund um Ausbildung, Job, Weiterbildung fĂŒr IT-FachkrĂ€fte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard fĂŒr Fachinformatiker und IT-FachkrĂ€fte

×
×
  • Neu erstellen...