Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
17.03.2003, 17:29
Doktorfish



HI ich bin voll der Newbie in Sachen programmien. Ich hab das Programm
Dev-C++ 4.9.7.0. Wenn ich jetzt z.B. da das Zeug :

#include <iostream.h>
void main()
{
// Dies ist das Hello-World-Programm
cout<<"Hello, world!"<<endl;
};

eingeb, wie kann ich das kompilieren ??
Da kommen immer so fehler und wenn ich mal meine, dass es kompiliert ist
kann man das Zeug net starten. Oder hab ich da ein paar Fehler eingegeben??
Könnt ihr mir dann sagen welche ?? DANKE

Euer Newbie Doktorfish

--

zum Seitenanfang zum Seitenende Profil || Suche
001
17.03.2003, 17:31
ScyTheMan
Moderator


Zitat:
Doktorfish postete
Da kommen immer so fehler [...]
Wärst du bitte so nett uns diese Fehler zu sagen?

btw. ist das hier nicht das richtige Forum, sieht ja nicht gerade nach einem Spiel aus!

--

http://choerbaert.org
Ein Gespenst geht um im Netz - das Gespenst des Open Source
csndr

zum Seitenanfang zum Seitenende Profil || Suche
002
17.03.2003, 17:44
Rayk



Quellcode:#include <iostream.h>

void main()
{
  cout << "Hello World" << endl;
}
Das ';' am ende der Prozedur muss weg

--

ICQ : 293840958

zum Seitenanfang zum Seitenende Profil || Suche
003
17.03.2003, 17:49
Prefect



Außerdem sollte das statt <iostream.h> nur <iostream> heißen. Die Form, die du verwendest, ist veraltet.

Dann sind natürlich cout & Konsorten im Namespace std. Du hast zwei Möglichkeiten: entweder, du schreibt unter das #include:

Quellcode:#include <iostream>

using namespace std;
Ooder du änderst die cout-Zeile:

Quellcode:std::cout << "Hello World" << std::endl;
Dann muss main() eigentlich einen int zurückgeben. Dadurch ändert sich das Programm in Folgendes:

Quellcode:#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
    cout << "Hello World" << endl;

    return 0;
}
Edit: Blah, ich bin das [ cpp ] von www.resourcecode.de zu sehr gewöhnt ;)

BTW: Das ; am Ende ist zwar Käse, dürfte aber _eigentlich_ nichts machen.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.


Dieser Beitrag wurde am 17.03.2003 um 17:51 von Prefect bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
17.03.2003, 18:13
Tron



blubb... prefect, was ist denn in dich gefahren? sag blos du laesst dich noch zum cppismus konvertieren. (:

anbei: wenn man argc und argv nicht verwendet kann man main auch ganz legal ohne parameter deklarieren, also einfach int main()
das ; am ende sollte tatsaechlich nix tun, vermutlich ist der fehler einfach nur die warnung, dass er den veralteten header verwendet.

@Doktorfish:
naechstesmal schreib die fehlermeldung hin oder kann man echt so $%/& sein sich nicht denken, dass das nicht vielleicht doch wichtig sein koennte. /:

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
005
17.03.2003, 18:13
JP



mannomann... ob ich das ganze als "Hello World Programmierer" peilen würde...
Das ; am ende stört nicht. Zum kompilieren (und glecih starten) musst du einfach
F9 drücken (oder oben in der symbolleiste auf das dritte symbol von links unten
klicken). Das geht dann zwar, aber (je nach OS) verschwindet das HelloWorld sofort.
Desshalb würde ich noch ein cin.get() einfügen. Das sieht dann so aus:

Quellcode:#include <iostream>
void main()
{
// Dies ist das Hello-World-Programm
cout<<"Hello, world!"<<endl;
cin.get();
}
PS: Du machst Volkards C++ Kurs oder? ;)

Edit: Ich seh grad Trons Post. Da kommt kein fehler beim Kompilieren...

--

Free your mind and your ass will follow!


Dieser Beitrag wurde am 17.03.2003 um 18:15 von JP bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
17.03.2003, 18:34
Tron



junge, dein programm ist fehlerhaft... also nochmal ganz langsam zum abtippen:
Quellcode:#include <iostream>

using namespace std;

int main()
{
  cout << "Hello world!" << endl;
}

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
007
17.03.2003, 19:17
JP



was sollte das bitte? war das nicht überflüssig Tron?
sorry, aber das musste ich sagen.

PS: Sein programm funzt wunderbar... (trotz einiger "Stylfehler")

--

Free your mind and your ass will follow!


Dieser Beitrag wurde am 17.03.2003 um 19:47 von JP bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
17.03.2003, 21:08
Tron



JP, ich meinte DEIN programm

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
009
17.03.2003, 21:38
JP



MEIN Programm funktioniert aber auch WUNDERBAR. Und das "int main()" standart ist und
so is jawohl bei so einem beispiel wirklich unwichtig (zumal in dem Kurs den er macht, nämlich
Volkards C++ Kurs, immer "void main()" benutzt wird).

--

Free your mind and your ass will follow!

zum Seitenanfang zum Seitenende Profil || Suche
010
17.03.2003, 21:50
Tron



mingw meint das zu deinem programm:

Zitat:
test.cpp:3: `main' must return `int'
test.cpp:3: return type for `main' changed to `int'
test.cpp: In function `int main(...)':
test.cpp:5: `cout' undeclared (first use this function)
test.cpp:5: (Each undeclared identifier is reported only once for each function it appears in.)
test.cpp:5: `endl' undeclared (first use this function)
test.cpp:6: `cin' undeclared (first use this function)
<edit>die ersten beiden zeilen sind nur warnungen, es geht um die restlichen, das sind fehler</edit>

<edit 2>ich finde den rueckgabetyp von main sehr wohl wichtig und finde es nicht gut, dass dieses tut etwas veraltetes lehrt. (int main() ist nicht erst seit gestern standard)
das verwirrt die leute nur, wenn sie warnungen bekommen und wissen nicht warum.</edit 2>

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett


Dieser Beitrag wurde am 17.03.2003 um 21:57 von Tron bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
17.03.2003, 23:00
Kriz



Volkards C++ Kurs... Ähm... ja, nicht wahr? (hust hust hust)

Weiter im Text: In C/C++ sollte main() definitiv einen Wert zurückgeben, da man nur damit einem übergeordnetem Caller die Möglichkeit geben kann, den Beendigungsstatus des Programms mitzuteilen. Derweilen die Calling-Routinen immer einen Wert erwarten vom aufgerufenen Programm, würden sie bei void nix erhalten. Da void aber irgendwie inkompatibel zu int ist (warum nur?), dürften void main()-Verbrechen weder ANSI noch ISO noch Prefect sein...

Gaaaaaaaaaaaaanz früher bei der ersten C-Version erlaubte die Urfassung von Kernighan und Ritchie ein void main() bzw. nur main() als Hauptfunktion.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
012
18.03.2003, 07:07
Tron



Zitat:
Kriz schrieb
dürften void main()-Verbrechen weder ANSI noch ISO noch Prefect sein...
da muss ich prefect aber in schutz nehmen! (:
Zitat:
Prefect schrieb
Dann muss main() eigentlich einen int zurückgeben. Dadurch ändert sich das Programm in Folgendes:

Quellcode:[...]
int main(int argc, char** argv)
[...]
{

Zitat:
Kriz schrieb
bzw. nur main()
falls ich mich richtig erinnere war es damit implizit als int deklariert.

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
013
18.03.2003, 14:18
Prefect



JP: Ja okay, und wenn du einen veralteten Compiler wie MSVC++ 6 oder gcc < 3.0 verwendest funktioniert das Programm vielleicht auch, weil die alten Compiler die Namespaces von C++ nicht richtig unterstützen.

Das macht dein Programm aber noch lange nicht zu korrektem C++.

BTW ist das cin.get(); irgendwie ein dummer Hack. Ich weiß, das machen viele (und ich habe es auch gemacht), aber es wäre sinnvoller, das Problem über die IDE zu lösen. KDevelop 3 (Gideon) zeigt z.B. die Programmausgabe in einem Dockfenster an, so dass sie auch nach Beendigung des Programms nicht verschwindet. Bei MSVC++ kann man IIRC Shift+F5 zum Start des Programms verwenden, und das Terminalfenster bleibt offen.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.


Dieser Beitrag wurde am 18.03.2003 um 14:19 von Prefect bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
014
19.03.2003, 12:24
voidi



es gibt doch auch getch()

--

2far.net

<Teranite> ich hab nen arschmaessigen traffic

zum Seitenanfang zum Seitenende Profil || Suche
015
19.03.2003, 15:06
apfelkorn



wäh... das is ja wieder c und nich c++

btw prefi: mit dem servicepack zu visstud ist das ganze auch behoben. Der meckert, wenn du nicht ordentlich mit den namespaces rummachst :)

--

zum Seitenanfang zum Seitenende Profil || Suche
016
19.03.2003, 17:38
JP



hm... also ich hab das Prog mit Dev-C++ 4.9.7.1 kompiliert und alles lief wie geschmiert.
Mit Visual C++ .NET gung es allerdings nur mit "#include <iostream.h>"
Was das void main() angeht: Bei einem "Hello-World-Programm" muss man doch nich so pingelich sein...
Aber das der Kurs das so macht is echt nich mist. Das gewöhnt man sich an...

--

Free your mind and your ass will follow!

zum Seitenanfang zum Seitenende Profil || Suche
017
19.03.2003, 18:47
Kriz



Du Honk,

entweder man lernt es von Anfang an richtig oder man läßt es. Später aus eingefleischten Routinen rauszukommen ist nicht einfach, also laber bitte net so einen Dünnpfiff von wegen "Was das void main() angeht: Bei einem "Hello-World-Programm" muss man doch nich so pingelich sein...
Aber das der Kurs das so macht is echt nich mist. Das gewöhnt man sich an..."

o_O

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche