PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich glaub es hackt!



REFLΞX
23.03.2009, 12:56
Sorry für den Titel aber ich dreh gleich durch!

Beschäftige mich erst seit kurzem mit C++. Als Compiler hab ich Visual C++ 2008 Express Edition von MS. Ich check einfach nicht, wie ich "Hello World!" erstellen kann.

Kann mir jemand helfen? Schritt für Schritt bitte. In dem Buch von Jesse Liberty wird das ganz ganz anders erklärt, ok da wird auch noch mit visual c++ 6 gearbeitet aber trotzdem!

Code-C4
23.03.2009, 12:58
er meint hakt.. so wie hängen.. ;
und nicht hackt wie hacken xD

Sn0opY
23.03.2009, 13:01
eem google jeder 2. thema zu c++ beginnt mit HELLO WORLD ^^

sp1nny
23.03.2009, 13:07
#include <iostream>
using namespace std;

int main()
{
cout<<"Hello World"<<endl;
cin.get();

return 0;
}

xant0x
23.03.2009, 13:33
Ich weiß jetzt nicht ob du mit MSVC nicht klarkommst oder mit Cpp.
Ich gehe mal von MSCV aus:
1. MSVC starten
2. Datei -> Neu -> Projekt
3. Links bei Visual C++ -> Win32
4. In der Mitte auf Win32-Konsolenanwendung klicken, unten unter "Name" gibst du einen Namen für dein Projekt ein, z.B. "Hello World" -> OK
5. Es sollte ein neues Fenster kommen, dort gehst du links auf Anwendungseinstellungen. Nun bei "Zusätzliche Optionen" einen Haken bei "Leeres Projekt" reinmachen -> Fertig stellen.
6. Jetzt müsste links oder rechts, je nach deinen Einstellungen, ein Fenster namens "Projektmappen-Explorer" sein (Wenn nicht, dann geh auf Ansicht -> Projektmappen-Explorer oder einfach Strg+Alt+L). Dort sollten drei Punkte sein (Headerdateien, Quelldateien, Ressourcendateien). Mach dort Rechtsklick auf Quelldateien -> Hinzufügen -> Neues Element.
7. Jetzt gehst du links auf Visual C++ -> Code. Dort C++-Datei (.cpp) auswählen und unten unter Name "main.cpp" eingeben -> OK.
8. Nun solltest du dein Hello World programm in das neu geöffnete Fenster schreiben. Wenn du dies getan hast oben auf den Grünen Pfeil drücken (oder F5).

Ich hoffe ich konnte dir helfen ...

REFLΞX
23.03.2009, 18:38
Vielen Dank für die schnelle Antwort!
Im Buch von Jesse Liberty wird aber der Code verwendet:

#include <iostream.h>

int main()
{
cout << "Hello World!/n";
return 0;
}

-------------
Is das falsch?

2. Frage: Wenn ich irgendwann mal mehr Kenntnisse habe in C++ und auch größere Prog programmieren kann, wie kann ich dann das Fenster in den das Prog gestartet werden soll gestalten? Quasi die Oberfläche, ich hoffe ihr wisst was ich meine! Gibt es da interne Tools in MSVC mit dem man das machen kann?

HaCk & CrAcK
23.03.2009, 18:40
ich mache es so:

#include <iostream>

int main()
{
cout << "Hello World!/n";
return 0;
} :D

sp1nny
23.03.2009, 18:41
Zu 1. : Guck mal 2 Posts über deinem.
Zu 2. : Wieso heisst es wohl "Visual Studios" ? File -> New -> Project -> Visual C++ ( Project types ) -> Windows Forms Application

@Hack&Crack -> auch bei dir fehlt "using namespace std;" - sonst wird "cout" nicht erkannt und es gibt einen Compilerfehler

Zudem benutze ich noch "cin.get();" da das Fenster sonst einfach wieder schließt und man sieht seine Ausgabe nicht. ( Jaja bei MSVS gibt es eine eingebaute Funktion beim Testen seiner Applikation wodurch es nicht automatisch schließt, da automatisch ein System("Pause") eingebaut wird )

ch3rrY
23.03.2009, 18:51
muss nicht sein... wenn du smd zuerst öffnest und von da aus das prog startest... bleibt das fenster auch offen =) XD

]=-antr4xx-=[
23.03.2009, 20:11
ich mache es so:

#include <iostream>

int main()
{
cout << "Hello World!/n";
return 0;
} :D
Das bezweifle ich, entweder oben 'use std;', oder 'std::count'
Nichts für Ungut.

Swola4
23.03.2009, 20:24
war das nicht so, dass bei visual studio c++ die konsole nicht immer anbleibt, so system("PAUSE") mäßig ???
Irgendwie war da doch so etwas ^^

Dev-C++ ftw :P

t0ny
23.03.2009, 20:38
#include <iostream.h> funktioniert nicht ;)
alle anderen Header funktionieren aber wie gewohnt mit ".h "

also:

#include <iostream>
using namespace std;

int main()
{
cout<<"Hello World"<<endl; // oder anstatt endl; /n;
cin.get(); //<--- ist mir auch neu :D

return 0;
}

sp1nny
23.03.2009, 20:53
Egal was man schreibt... niemand liesst es. Erst schreibe ich:

#include <iostream>
using namespace std;

int main()
{
cout<<"Hello World"<<endl;
cin.get();

return 0;
}2 Posts drunter wird gefragt ob das Hello World bei ihm falsch ist anstatt meins anzugucken..

Jetzt schreibt antraxx, das es so nicht funktionieren wird bei Hack&Crack und ich habe 1 Post drüber das Problem schon beschrieben. Bin sprachlos wie man hier auf die Posts von anderen achtet.

@swola: auch das habe ich bereits beschreiben *roll*

( Jaja bei MSVS gibt es eine eingebaute Funktion beim Testen seiner Applikation wodurch es nicht automatisch schließt, da automatisch ein System("Pause") eingebaut wird )

@t0ny- cin.get(); ist ein Befehl der auf eine Eingabe wartet und diese dann in eine Variable speichert. Wenn man die Parameterliste leer lässt bewirkt er das gleiche wie System("Pause") , er ist jedoch ein systemunabhängiger Befehl und man sollte ihn deshalb verwenden. Bei mehrfachen Abfragen bei cin.get(); muss man jedoch noch ein cin.ignore(); einfügen da es sonst nicht richtig funktioniert.

t0ny
23.03.2009, 21:14
Nunja, was soll man schon dazu sagen....
wollte den code noch mal hervor holen, so wie es auch 100%ig
funktioniert. :)


aber das mit dem cin.get() muss ich mal ausprobieren
war mir bis heute nicht bekannt, naja bin auch kein
überflieger in c++ :D

sp1nny
23.03.2009, 21:27
Hier mal ein Beispiel von cin.get();

#include <iostream>
using namespace std;

int main(){

char name[15];
cout<<"Bitte geben sie ihren Vornamen ein!"<<endl;
cin.get(name,14);
cout<<"Ihr Name ist "<<name<<endl;
cin.ignore();
cin.get();
return 0;
}

REFLΞX
24.03.2009, 13:38
#include <iostream.h>

int main()
{
cout << "Hello World!/n";
return 0;
}


1>------ Erstellen gestartet: Projekt: Hello World, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>hallo.cpp
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(1) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "iostream.h": No such file or directory
1>Das Buildprotokoll wurde unter "file://c:\Users\Anton\Documents\Visual Studio 2008\Projects\Hello World\Hello World\Debug\BuildLog.htm" gespeichert.
1>Hello World - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



#include <iostream>
using namespace std;

int main()
{
cout << "Hello World!/n";
return 0;
}


1>------ Erstellen gestartet: Projekt: Hello World, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>hallo.cpp
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(2) : error C2143: Syntaxfehler: Es fehlt ';' vor 'using'
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(2) : error C2871: 'std': Es ist kein Namespace mit diesem Namen vorhanden
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(6) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>Das Buildprotokoll wurde unter "file://c:\Users\Anton\Documents\Visual Studio 2008\Projects\Hello World\Hello World\Debug\BuildLog.htm" gespeichert.
1>Hello World - 3 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



#include <iostream>
using namespace std;

int main()
{
cout<<"Hello World"<<endl;
cin.get();

return 0;
}


1>------ Erstellen gestartet: Projekt: Hello World, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>hallo.cpp
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(2) : error C2143: Syntaxfehler: Es fehlt ';' vor 'using'
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(2) : error C2871: 'std': Es ist kein Namespace mit diesem Namen vorhanden
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(6) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(6) : error C2065: 'endl': nichtdeklarierter Bezeichner
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(7) : error C2065: 'cin': nichtdeklarierter Bezeichner
1>c:\users\anton\documents\visual studio 2008\projects\hello world\hello world\hallo.cpp(7) : error C2228: Links von ".get" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist ''unknown-type''
1>Das Buildprotokoll wurde unter "file://c:\Users\Anton\Documents\Visual Studio 2008\Projects\Hello World\Hello World\Debug\BuildLog.htm" gespeichert.
1>Hello World - 6 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



___________________________________
Egal was ich mache, es werden immer Fehler angezeigt! Ich glaub ich bin einfach zu blöd für C++

xant0x
24.03.2009, 13:44
Es heißt
#include <iostream> und nicht #include <iostream.h>
Dies zu Variante 1.

Variante 2 funktioniert schon, nur heißt es eben \n und nicht /n (hast du auch bei Variante 1 falsch gemacht).

Was du bei Variante 3 falsch gemacht hast weiß ich nicht, bereinige doch mal die Projektmappe.

sp1nny
24.03.2009, 13:47
Das sieht mir dannach aus, dass er den <iostream> nicht erkennt. oO
Bei dem ersten liegts and <iostream.h>, wie xant0x schon gesagt hat.
Die anderen beiden müssten theoretisch funktionieren.
Wieso es nicht klappt kann ich mir gerade nicht erklären, aber was für ein Projekt hast du erstellt?

Probier ansonsten mal:


#include <stdio.h>
#include <windows.h>

int main()
{
printf("Hello World\n");
system("Pause");
return 0;
}

REFLΞX
24.03.2009, 13:52
Win32-Konsolenanwendung>Neues Projekt>Neues Element hinzufügen

sp1nny
24.03.2009, 14:01
Also ich mache immer anstatt der Konsolenandwendung ein Leeres Projekt. Das kannst du ja mal probieren. Ansonsten würde ich Visual Studio mal neu installieren, da anscheinend Dateien fehlen oder etwas falsch konfiguriert ist. Hast du schonmal andere Compiler wie Dev C++ probiert?

REFLΞX
24.03.2009, 14:02
der code von dir sp1nny funktioniert einwandfrei!
"Hello World.exe": "C:\Users\Anton\Documents\Visual Studio 2008\Projects\Hello World\Debug\Hello World.exe" geladen, Symbole wurden geladen.
"Hello World.exe": "C:\Windows\System32\ntdll.dll" wurde geladen
"Hello World.exe": "C:\Windows\System32\kernel32.dll" wurde geladen
"Hello World.exe": "C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8 b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msv cr90d.dll" wurde geladen
"Hello World.exe": "C:\Windows\System32\apphelp.dll" wurde geladen
Das Programm "[5760] Hello World.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.

sp1nny
24.03.2009, 14:07
Freut mich geholfen zu haben. :)

.:CREATIVE:.
24.03.2009, 14:07
wow so ein riesen aufstand wegen hello world xD

REFLΞX
24.03.2009, 14:08
muss ich jetzt dann immer printf statt cout verwenden?

xant0x
24.03.2009, 14:18
muss ich jetzt dann immer printf statt cout verwenden?

Ich glaube du solltest dir mal ein C/C++ Buch kaufen.
Dabei kann ich nur C von A bis Z von Jürgen Wolf empfehlen!

sp1nny
24.03.2009, 14:22
Ja musst du, da der cout Befehl zu iostream gehört und da du iostream nicht includen kannst musst du printf aus stdio.h benutzen.

@xant0x: Bei dem Problem hilft der ein C++ Buch wenig, da der Source im grunde ja richtig ist, es jedoch ein Compilerproblem gibt da er iostream nicht finden kann, was nicht normal ist.

xant0x
24.03.2009, 18:07
..

@xant0x: Bei dem Problem hilft der ein C++ Buch wenig, da der Source im grunde ja richtig ist, es jedoch ein Compilerproblem gibt da er iostream nicht finden kann, was nicht normal ist.

Ein C++ hilft sehr wohl um zu wissen was z.B. der Unterschied zwischen cout und printf ist ...

-[RiDER]-
24.03.2009, 22:32
Hi :D
[...]es jedoch ein Compilerproblem gibt da er iostream nicht finden kann[...]
Wie kommst Du darauf?

Muesste der Compiler dann nicht auch bei den anderen beiden Kodes ein "Datei (Include) kann nicht geöffnet werden: "iostream": No such file or directory" werfen?

GreetZ RiDER :D