PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage C++ Express



trisn
22.06.2010, 17:25
Hallöle ,

solangsam hab ich jetzt doch interesse bekommen an C++ da der Vater meiner Freundin aus Hobby für die Firma die Maschienen Programmiert , klingt komisch is aber so ^^ und irgendwie hats mich gepackt, naja Frage

Ich hab mir jetzt ein Ebook von nem UniKurs besorgt , fängt an mit

void main()
{
};
und erklären + nächstes Ziel das Hello World Programm

naja wenn ich das in Visual C++ Express 2010 Compilen will bekomm ich jedes mal ne Fehlermeldung

also mein code



#include <iostream.h>
void main()
{

cout<<"Hello, world!"<<endl;
};
Programmier ich im falschen gebiet , also Win32 Projekt , ist doch nicht falsch oder doch ? ansonsten wären anderere Compiler besser und einfacher zu hand haben. Also mit Englisch hab ich keine Probleme also ist ausm tiefsten Timbuktu in einer englischen fassung nichts schlimmes drann.


Ich hab ja keine Ahnung aber ähmm ich gehe irgendwie grade selber stark von aus das mir die Header Datei iostream.h irgendwie fehlt :o

Ich danke schonmal im vorraus ;-)

Sawyer
22.06.2010, 17:31
Rückgabewert Der Main Funktion muss immer int sein.
Diese Klammer ist gänzlich unnötig.


Ich hab ja keine Ahnung aber ähmm ich gehe irgendwie grade selber stark von aus das mir die Header Datei iostream.h irgendwie fehlt :o
Es heißt ja auch iosteam. So wäre es richtig:


#include <iostream>
using namespace std;

int main(void)
{
cout << "Hello, world!" << endl;
return 0;
}Da es sich dabei nicht um .NET handelt, werde ich das ganze verschieben.

MfG, Sawyer

trisn
22.06.2010, 17:35
f:\dokumente und einstellungen\ich\eigene dateien\visual studio 2010\projects\hello\hello\hellocpp(1): warning C4627: "#include <iostream>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>f:\dokumente und einstellungen\ich\eigene dateien\visual studio 2010\projects\hello\hello\hellocpp(9): fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "StdAfx.h"" einzufügen?
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


also er zeigt mir zwar jetzt an das alles richtig definiert wurde nur das kommt beim compilen bei raus ^^ also ich tippe auf die Headerdatei nur wieso fehlt mir diese ?

Avior
22.06.2010, 17:43
http://img194.imageshack.us/img194/1766/erklrungu.jpg

Das hat nichts mit der Header-Datei zu tun...

trixx3r
22.06.2010, 17:47
trag mal den header iostream nur in der StdAfx.h header datei ein sonst nirgendwo

morph.
22.06.2010, 17:57
Genau und inkludiere die StdAfx.h in deiner main.cpp, darauf wartet der Compiler, wenn eine solche Datei existiert, sie wird standardmäßig zu neuen Projekten hinzugefügt. Dann müsste es gehen...

trisn
22.06.2010, 18:12
ja das ganze sieht jetz anders aus mhh beim compilen zeigt er mir nur wieder nen neuen fehler an das er die datei bsp.exe nicht aus dem verzeichniss öffnen kann.

http://www.abload.de/thumb/lul8kkt.jpg (http://www.abload.de/image.php?img=lul8kkt.jpg)

blackberry
22.06.2010, 18:22
http://free-hack.com/452018-post5.html

Im Video unten wird alles gezeigt.

trisn
22.06.2010, 18:24
Okay danke schön , dann werd ich mal nicht weiter unnötig zeit in anspruch nehmen , danke an euch ;-)

AlterHacker
22.06.2010, 18:55
Deine Paint-Zensierung hat übrigends nichts gebracht ;)

Ansonsten wenn du nicht solche zusatzheader haben willst die windows aber will, nimm einen anderen Compiler / IDE ( Code::Blocks *schleichwerbung*)

sp1nny
22.06.2010, 19:03
Oder einfach ein leeres Projekt erstellen. ( kannst du bei der Projekterstellung anklicken )

trisn
22.06.2010, 19:10
Danke AlterHacker ich gucks mir mal an ;-)

matze093
24.06.2010, 21:56
Auf deinem Screenshot sehe ich, dass da noch der return befehl fehlt.
Die Funktion main() muss ja noch einen rückgabewert haben.

Sinned
24.06.2010, 22:03
Ich bin überhaupt kein Fan von MS IDE. Hol dir Code::Blocks oder wxDev C++

Um den Fehlerzubeheben musst du glaub ich auf Erstellen klicken und dann auf Projektmappe erstellen.

Mir fällt auf das du die Funktion gar nicht schließt, oder muss das nicht unbedingt sein? (getch() oder so)

l0dsb
25.06.2010, 01:40
Mit getch() wird nicht geschlossen. Ein Rückgabewert ist an für sich bei einer solchen Funktion mit Rückgabetyp nicht verkehrt, per (C/C++?-)Standard wird aber als Default-Anweisung ein return 0 kompiliert, sofern nicht vorhanden.

Generell empfiehlt es sich, leere Projekte zu verwenden. Die Templates können eine nette Sache sein, ich hab sie jedoch noch nie wirklich gebrauchen können. :/

s1ckST4R
25.06.2010, 02:25
öhm ich würde dir au raten anderen Programm zu benutzen, ich weiß garnemme welches ich benutzt hab O_o Dev-C++ glaub aber des wird nemme Supportet naja was solls.
ehm soweit ich mich erinner... muss wenn man

cout
macht und nicht

using std namespace
oder iwie so immer std:: davor gesetzt werden:


#include <iostream.h>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
SYSTEM("PAUSE");
}
oder so iwie ... naja guck ma hier nach:
Highscore - Programmieren in C++: Einführung (http://www.highscore.de/cpp/einfuehrung/index.html)
hoffe hat geholfen, mfg
s1ckST4R

Master of Chaos
25.06.2010, 07:06
Ist zwar auch möglich, in der Regel macht man es aber so

#include <iostream.h>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return(0);
}
Deine Methode ist zwar auch möglich, muss dann aber immer das std:: davorstehen, ist also im Prinzip nur eine Vereinfachung.

LG,
Master of Chaos

c2x
25.06.2010, 08:09
#include <iostream.h>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
SYSTEM("PAUSE");
}

Bufferoverflow garantiert ;)
Hör nicht auf Slckstar, mach es mit getch()

Und std wird nur benötigt, solange du den Compiler nicht anweist den std namespace zu nutzen.

blackberry
25.06.2010, 15:35
Bufferoverflow garantiert ;)
Hör nicht auf Slckstar, mach es mit getch()

Buffer-Overflow in dem Source? Da wird nichtmal auf Userinput gewartet, da return vor dem system kommt.
Dazu kommt, dass system klein geschrieben werden müsste, da C++ case-sensitive ist.

Und von getch würde ich allein schon wegen der Kompatibilität abraten (natürlich auch von system - dazu kommen noch path attacks...).
getchar() aus stdio.h respektive cstdio sollte die richtige Wahl sein.