[Tutorial]C++ für Anfänger I

10/17/2009 11:08 Fresh^^#1
Moin, ich schreib hier mal mein Tutorial über C++.
Es ist für Anfänger gedacht, also für totale Neueinsteiger.

Über C++:

C++ wurde von Bjarne Stroustrup erfunden und entwickelt.
Wenn ihr mehr über ihn wissen wollt:
Bjarne Stroustrup

Ich glaube mehr muss man eigentlich gar nicht wissen.

Was ihr braucht:

Ihr braucht vor allem Geduld und Lernfähigkeit.
Ihr müsst auch mit dem PC umgehen müssen und wissen was ein PC überhaupt ist.
Ihr braucht überhaupt gar keine Vorkenntnisse in irgendeiner Programmiersprache.

Benötigte Programme:

Ihr braucht eine Entwicklungsumgebung und einen Compiler.
Ich empfehle euch:
[Only registered and activated users can see links. Click Here To Register...]
Ich nutze ihn auch selber.

So ich glaube jetzt haben wir alles was wir brauchen. Fangen wir also an.

Lektion 1: Das erste Programm

Ihr öffnet Dev C++ und öffnet ein neues Projekt.

Ich poste hier gleich mal den Code, und erkläre ihn Schritt für Schritt.

PHP Code:
#include <iostream>
using namespace std;

int main()
{
    
int Eingabe
    int Quadrat
    cout 
<< "Geben sie eine Zahl ein: ";
    
cin >> Eingabe;
    
Quadrat Eingabe Eingabe;
    
cout << "Die Quadratzahl lautet " << Quadrat << endl;

PHP Code:
 #include <iostream> 
Der Befehl #include liest die Datei Iostream an dieser Stelle in den Quelltext ein.
Er wird benötigt, um Informationen über Programmbibliotheken einzubinden.
In diesem Fall geht es um die Ein- und Ausgabe.
Wenn also eine Ein- oder Ausgabe im Programm verwendet werden soll, muss am Anfang des Datei dieser Befehl stehen, der die Datei iostream einfügt.
Die Datei iostream enthält die Inforamtionen, die der Compiler braucht, um mit der Bibliothek arbeiten zu können.

PHP Code:
 using namespace std
Hier wird der Namensraum std eingebunden.
Dieser Befehl bewirkt, dass auf die Bibliotheksnamen ohne dieses Präfix zugegriffen werden kann.

PHP Code:
 int main()

Der Name main() leitet die Hauptfunktion des Programmes ein.
Das Wort int bezeichnet den Typ der Funktion.
Jedes C oder C++ Programm hat genau eine Funktion main().
Hier beginnt nach dem Programmstart das Programm.
Jede Funktion, also auch main(), enthält eine Reihe von Anweisungen, die in geschweiften Klammern stehen („{ }“)

Die öffnende schweifende Klammer ( { ) signalisiert den Start des Programms an.
Die schließende Klammer ( } ) beendet das Programm sozusagen.

PHP Code:
 int Eingabe;
int Quadrat
Die erste Zeile enthält die erste Anweisung.
Jede Anweisung wird mit einem Semikolon ; abgeschlossen.
Diese Anweisung ist eine Variablendefinition.
Es wird festgelegt, das es eine Variable namens Eingabe gibt, die ganze Zahlen aufnehmen kann. Dies wird durch den Variablentyp int signalisiert.
int ist die Abkürzung für Integer. Integer ist im englischen der Begriff für „Ganze Zahlen“ also Zahlen ohne Nachkommastellen.

Auch die nächte Zeile ist eine Variablendefinition.
Hier wird die int-Variable Quadrat definiert.

Die erste Variable haben wir Eingabe genannt, da später eine Eingabe erfolgen wird[/b].
Die andere haben wir Quadrat genannt, weil sie später eine Quadratzahl, die wir berechnen werden, beinhaltet.

PHP Code:
 cout << &#8222;Geben sie eine Zahl ein:“; 
Bildschirmausgaben werden auf das Objekt cout gelenkt.
cout folgen zwei Kleiner-Zeichen, die als Umleitungsoperator bezeichnet.
[b]cout << „Geben sie eine Zahl ein:“;[/php] ist also eine Bilfschirmausgabe.
Auf eurem Bildschirm wird „Geben sie eine Zahl ein:“ erscheinen.

Wichtig ist das wir Zeichen, die ausgegeben werden sollen, immer in Anführungszeichen stellen.

PHP Code:
cin >> Eingabe
Dies ist das Gegenteil zu cout.
cin ist eine Bildschirmeingabe, ihr müsst also eine Zahl oder ein Zeichen eingeben.
Mit den 2 Größer-Zeichen werden die Daten von der Eingabe in eine Variable umgeleitet. In unserem Fall in Eingabe.
Auf diese Weise erhält die Variable ihren Wert direkt von der Tastatur.

PHP Code:
Quadrat Eingabe Eingabe
Dies wird den meisten von euch jetzt ziemlich klar sein.
Der Wert Eingabe * Eingabe wird der Variable Quadrat zugewiesen.
Das „*“ steht für multiplizieren, „+“ für addieren, das „-„ steht für subtrahieren und „/“ steht für dividieren.

PHP Code:
cout << &#8222;Die Quadratzahl lautet“ << Quadrat << endl; 
Das werdet ihr jetzt auch schon verstehen.
Mit cout << „Die Quadratzahl lautet“ << Quadrat“ wird der Text und dann die Variable Quadrat ausgegeben.
Mit endl; wird bewirkt, dass die Zeile abgeschlossen wird.
Die nächste Ausgabe würde nun in einer neuen Zeile ausgegeben werden.
Logischerweise wird jede Anweisung mit ; beendet.

So, das wars fürs erste einmal. Ich hoffe ich konnte euch ein bisschen Helfen, und das Tutorial wird fortgesetzt. Ich werde noch ein paar Dateien anhängen, die ihr euch anschauen könnt und daraus auch ein bisschen lernen.

PS: Das Thanks bitte nicht vergessen.
10/17/2009 12:03 MrSm!th#2
Quote:
PHP Code:
using namespace std
Hier wird der Namensraum std eingebunden.
Dieser Befehl bewirkt, dass auf die Bibliotheksnamen ohne dieses Präfix zugegriffen werden kann.
Ich fände es besser, wenn du für Anfänger auch erwähnst, wo normalerweise das Präfix steht. Das wird einem nämlich aus deiner Erklärung nicht klar^^
Normalerweise sehe ich in Tutorials immer, dass erst mit std:: gearbeitet wird und dann später using namespace std; .

Ansonsten für den Anfang ganz ok
10/17/2009 12:18 To4st#3
ist zwar bishen pingelig aber du hast in dem beispiel code zwei semikolons in der main() funktion unter "int Eingabe & int Quadrat" vergessen.

eine frage habe ich noch, die main() funktion ist vom typ int , muss daher nicht ein return wert vom typ int noch in der main() funktion vorhanden sein z.b. "return 0;" ?
10/17/2009 12:32 MrSm!th#4
return kann man glaub ich auch weglassen
das mit den ; ist mir auch aufgefallen aber später im Text hat er es ja mit geschrieben^^
10/17/2009 19:50 Fresh^^#5
jo ich werd das editen...

Ist ja auch mien erstes Tut...
10/17/2009 22:28 backo#6
[Only registered and activated users can see links. Click Here To Register...]
10/18/2009 00:39 MrSm!th#7
Ein Buch ist ja streng genommen auch nix anderes als ein Tutorial :rolleyes:
Allerdings sollte man, wenn man eins schreibt, eben wirklich sehr viel Erfahrung haben und alles gut erklären, was hier nicht ganz so der Fall ist =/
Allerdings kann man das nicht auf Tutorials generell beziehen!
10/18/2009 02:03 backo#8
Es gibt schlechte Bücher, es gibt aber auch schlechte Tutoriale. Aber, es gibt mehr schlechte Tutoriale weil es leichter ist 'n thread aufzumachen, als ein Buch zu schreiben. Und nein, man lernt sehr viel mehr von Büchern. Siehe:
[Only registered and activated users can see links. Click Here To Register...]

@speidel

Als du Dev C++ empfohlen hast, hab ich aufgehört dein post weiterzulesen, nur so als info, Dev C++ wird seit ungefähr 5 jahren nicht weiterentwickelt. Sorry, aber du hast nicht mehr als maximal 3 monate erfahrung mit C++.

Tuts von leuten mit mehr als 10 jahren erfahrung:

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
10/18/2009 08:43 Fresh^^#9
ja des is schon möglich...
10/18/2009 11:20 MrSm!th#10
Quote:
Originally Posted by backo View Post
Es gibt schlechte Bücher, es gibt aber auch schlechte Tutoriale. Aber, es gibt mehr schlechte Tutoriale weil es leichter ist 'n thread aufzumachen, als ein Buch zu schreiben. Und nein, man lernt sehr viel mehr von Büchern.
habe ich das abgestritten Ö.Ö ? klar lernt man daraus mehr und es gibt auch mehr schlechte Tuts als Bücher, ich sagte ja nur Tuts sind nicht grundsätzlich falsch!

Quote:
Tuts von leuten mit mehr als 10 jahren erfahrung:
und so welche meinte ich auch nur^^ ich sagte doch nur von leuten mit erfahrung und die scheint er noch nicht richtig zu haben
Quote:

[Only registered and activated users can see links. Click Here To Register...]
jo kann ich sehr empfehlen! hab ich auch für die grundlagen genommen echt spitze!
und wenn man die grundlagen hat kann man auf die Hauptseite gehen und noch 2 weitere Tutorials machen, die jeweils am Ende des vorderen ansetzen.
sehr zu empfehlen wenn man wirklich mit nem tutorial lernt!
allerdings kosten die lösungen geld =/ ich bin aber auch ohne die gut durchgekommen
06/21/2011 20:20 yannik134@yahoo.de#11
Mit welchem programm und mit welcher programmiersprache kann man denn Hacks machen?
Ich hab auf dem Gebiet echt keine Ahnung, hab die ganzen Sachen bisher nur runtergeladen....
06/27/2011 12:39 demonbrawler#12
Quote:
Originally Posted by [Only registered and activated users can see links. Click Here To Register...] View Post
Mit welchem programm und mit welcher programmiersprache kann man denn Hacks machen?
Ich hab auf dem Gebiet echt keine Ahnung, hab die ganzen Sachen bisher nur runtergeladen....

alleine die Frage zeigt mir nur das du nicht hacken lernen wirst^^ aber ich will ja nicht so sein... Lerne python, vb und c++. Wenn du das erstma drauf hast, kannst du überlegen in welche Richtung du gehen willst wie db, network etc der rest ist nur Kreativität und Einfallsreichtum :D
08/11/2011 11:00 hunger97#13
@VP was ein Blödsinn?

Python ist eine Ergänzungsskriptsprache (Skriptsprache = unterordnung von Programmsprache also ist es auch eine, für alle die es nicht wissen!)

Python Dateien dienen zur Ergänzung eines Programmes ähnlich wie DLL's.
Sie werden häufig benutzt, damit in großen Entwickungsfirmen nicht jemand den ganzen Code vom anderen anschauen muss und womöglich nirgendswo durchsteigt. Sondern die wichtigen Sachen für sich aus der Python (.py / .pyc (.pyc ist Kompilirtes Python, dass ohne "c" ist nur ein Skript!)).

Ich denke mir er redet von Gamehacking und dadurch braucht er 2 Sachen.

-C++, ist einfach das beste, wenn man es mal kann, kann man es auch später für Berufe o.ä. verwenden (btw: Programmierer sind STARK gesucht!)

-Cheat Engine kenntnisse (Wie finde ich einen Pointer, wie Scanne ich Adressen, wie finde ein Offset)

-Memory Kenntnisse (Was ist ein Pointer (Zeiger)?; Was ist ein Offset?; Was ist eine Memoryadresse?(ist das etwas zu essen?).

-EVTL (!) ASM (Assembler) Kentnisse, es ist nicht unbedingt wichtig, aber kann einem häufig sehr sehr gut weiterhelfen, vorallem wenn du später auch einmal Programme, wie TuneUp, Camtasia Studio, Fraps cracken willst brauchst du ASM.

Mit freundlichen Grüßen
08/11/2011 14:39 ProstylerXx#14
find ich gut
08/13/2011 19:32 LostHope.#15
Statt "endl" kann man doch auch "\n" nehmen oder? Für den Linebreak.

Und für "system('pause')" sollte man "cin.get()" nehmen, das ist dann plattformunabhängig.