Zum Inhalt springen

Newbie braucht hilfe mit dem Bloodsheed compiler


noli88

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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