Hallo Leute
Hier mal das TuT fuer C++ besser kennenlernen/Coden
Hier mal das TuT fuer C++ besser kennenlernen/Coden
PHP Code:
C++ Tutorial
Vorbereitungen:
Vorkenntnisse: nicht umbedingt nötig
Zuerst müsst ihr euch einen Compiler downloaden und installieren!
Ein Compiler ist das Programm in das man den Quellcode eingibt und daraus ein Programm macht!
Visual C++ 2008 Express Edition:
http://visual-c-plus-plus-2008.softonic.de/
Visual C++ 2008 erfordert:
Betriebssystem: WinXP/2003/Vista/Win7
Prozessor: 1,6 GHz
Arbeitsspeicher: 192 MB
Sehr wichtig:
C++ lässt sich nicht in wenigen Wochen oder Tagen lernen!!!
Man muss schon etwas Zeit und Geduld investieren!!!
Lesson 1.1:
Das erste Programm:
Startet zuerst Visual C++ 2008 Express Edition
Dann erstellt einen neuen Arbeitsbereich:
Wähle im Menü den Punkt Datei und klicke dann auf Neu -> Projekt !!!
Nun erscheint ein Fenster!
Dort wählt ihr den Unterpunkt Win32 und unter Vorlagen Win32-Konsolenanwendung !!!
Danach gibst du einen Namen für das Projekt ein und wählst den Speicherort !!!
Zuletzt deaktivierst du das Häckchen bei Projektmappenverzeichnis erstellen !!!
In dem darauf folgenden Fenster klickst du auf Weiter !!!
In dem darauf folgenden Fenster wählst du Konsolenanwendungen und Leeres Projekt und klickst dann auf Fertigstellen !!!
Jetzt erscheint dieses Fenster! Dort macht ihr einen Rechtsklick auf Quelldateien -> Hinzufügen -> Neues Element !!!
Dann erscheint noch ein Fenster in dem du unter Code -> C++ - Datei (.cpp) wählst!!!
Danach klickst du auf Hinzufügen !!!
Jetzt geht es mit dem Programmieren erst richtig los!!!
Hier der Quellcode:
//C++ TuT
//Lesson 1.1
//Ein Text wird ausgegeben
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
cout << "Hello World\n";
system ("pause");
return 0;
}
Das war dann auch schon der erste Code!!!
Nachdem ihr den Quellcode eingegeben habt, geht ihr in der Menüleiste auf Erstellen -> Kompilieren !!!
Wenn der Compiler keinen Fehler findet geht auf Erstellen -> Lesson 1.1 erstellen !!!
Hier folgt die Erklärung:
Kommentare:
Die Zeilen 1,2,3,4,7 und 8 sind Kommentare: Das bedeutet das sie für das Programm unwichtig sind und vom Compiler nicht beachtet werden!!!
Die Kommentare mögen zwar für Compiler unwichtig sein, dafür sind sie für uns umso wichtiger!!
Die Kommentare sind für die Übersicht da!!!
Man stelle sich vor man würde ein Programm schreiben, mit Tausenden von Zeilen und ohne Kommentare!!
Das wäre ein heilloses Durcheinander!!!
Man würde die einzelnen Programmteile nicht mehr wiederfinden und wenn Fehler auftauchen oder man das Programm ändern möchte wäre das ohne Kommentare fast unmöglich!!
Deshalb sollte man sich von Anfang an angewöhnen alles zu kommentieren!!
Die #include Anweisung:
In Zeile 5 befindet sich die #include Anweisung: #include <iostream>
Diese ermöglicht es Textein- und ausgaben !!!
Das io steht für "input/output" und stream steht für Strom, womit der Datenstrom gemeint ist!!
Der #include Befehl ist ein sogenannter Präprozessor-Direktiv!!
Diese Präprozessor-Direktive werden bei einer Kompilierung des Codes immer zuerst kompiliert!!
Namensbereiche:
In C++ ist es möglich Teile des Quelltextes in Namensbereiche zu gruppieren!!
Genau das wird in Zeile 6 gemacht!!!
Dort sagen wir dem Compiler das wir den Namensbereich std verwenden möchten!!!
Die in den eingebundenen Dateien enthaltenen Funktionen und Variablen befinden sich somit in diesem Namensbereich!!!
Die main-Funktion:
In C++ hat man die Möglichkeit häufig verwendete Programmteile in eine Funktion zusammenzufassen!!!
Jedes C++ Programm braucht mindestens eine Funktion: Die main-Funktion!!
Diese Funktion wird bei jedem Programmstart als erstes aufgerufen!!
Deshalb schreiben wir unseren Code auch innerhalb dieser Funktion!!!
Die main-Funktion wird mit einer gewellten Klammer ( Zeile 10 ) geöffnet und auch wieder geschlossen ( Zeile 14 )!!!
Vor der letzten gewellten Klammer steht der Rückgabewert return !!!
Wir liefern in diesem Falle eine 0 zurück und sagen dem Compiler damit das alles glattging!!
Der cout-Befehl:
Dieser Befehl ist der Befehl der den Text auf den Bildschirm bringt: cout
cout steht für: 'c' = console und 'out' = out also = console out
Direkt nach dem cout folgt der sogenannte Umleitoperator ( << )!!!
Wenn man jetzt also eingibt : cout << "Text";
dann wird "Text" an cout geleitet und ausgegeben!!!
Wichtig ist auch das Semikolon ( ; ) am Ende des Befehls!!!
Am Ende einer jeden Befehlszeile muss ein Semikolon stehn!!!
Hinweis: So sollte das Ergebnis aussehen:
Hinweis: Man kann zwischen Debug und Release umstellen!!!
Der Unterschied zwischen Debug und Release:
Der Debug ist fehlerfreier und absturzsicher!!!
Allerdings ist er auch langsamer und nimmt mehr Speicherplatz in Anspruch!!!
Der Release ist dafür kleiner und schneller!!
Allerdings können sich darin Fehler einschleichen!!!
Man sollte auf jeden Fall immer beide erstellen und testen welche besser läuft!!
Hinweis: Bevor ihr die nächste Lesson macht solltet ihr die vorherige noch mehrmals durchgehen
und auch noch einige Programme mit dem bisherigen Wissen schreiben!!!
Lesson 2.1:
Deklarieren und definieren von Variablen
Du fragst dich jetzt vielleicht ersteinmal was Variablen sind:
Variablen sind veränderbare Zahlenwerte!!!
In dieser Lesson wirst du erfahren wie man in C++ mit Zahlen arbeitet!!!
Zuerst muss man einen Datentyp bestimmen, dann der Variable einen Namen geben und ihr zuletzt einen Wert zuweisen!!
Bsp:
int Variable = 155;
int ist der Datentyp (int steht für Integer)
Variable ist in diesem Fall der Variablename; diesen Schritt nennt man Deklarieren!!!
Die Zahl 155 ist der zugewiesene Wert; Diesen Schritt nennt man Definieren!!!
Hier der Quellcode:
//C++ TuT
//Lesson 2.1
//Deklarieren und Definieren von Variablen
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
//Variablen
//
int Lebensenergie; //Variable deklarieren
Lebensenergie = 100; //Variable definieren
cout << "Die Lebensenergie des Spielers beträgt: " << Lebensenergie << endl;
system ("pause");
return 0;
}
So das war der Code, hier folgt die Erklärung:
Die Deklaration und Definition von Variablen:
Bis Zeile 12 ist nichts neu, in Zeile 13 folgt die Deklaration de Variable!
Das bedeuted wir geben der Variable einen Namen(in diesem Fall Lebensenergie )!!!
In Zeile 14 wird die Variable Definiert!
Das bedeutet wir weisen der Variable einen Wert zu dieser kann im Programm verändert werden!!!
Hinweis: Variablen sind, wie der Name schon sagt variable, also veränderbar!!!
Ihr habt euch sicher schon gefragt warum in Zeile 15 steht:
cout << "Die Lebensenergie des Spielers beträgt: " << Lebensenergie << endl;
Hier die Erklärung:
Lebensenergie ist ja der Variablenname, hier wird er eingesetzt und damit der Wert der Variable aufgerufen!!!
Das endl steht für End of the Line, und bedeutet das selbe wie \n also ein Zeilenumbruch!!!
Das endl ist hier sinvoller weil man sonst schreiben müsste:
cout << "Die Lebensenergie des Spielers beträgt: " << Lebensenergie << "\n";
So sollte das Ergebnis ausehen:
Hinweis: Bevor ihr die nächste Lesson macht solltet ihr die vorherige noch mehrmals durchgehen
und auch noch einige Programme mit dem bisherigen Wissen schreiben!!!
Lesson 2.2
Deklarieren und definieren von Variablen 2
Jetzt fragt man sich vielleicht was man machen soll wenn man sehr viele Variablen hat!!!
Es gibt mehrere Möglichkeiten!!!
Eine wäre:
int Lebensenergie;
int Rüstung;
int Verteidigung;
int Angriff;
Lebensenergie = 100;
Rüstung = 100;
Verteidigung = 75;
Angriff = 63;
Das was wir hier sehn ist nicht sehr sinvoll!!!
Wenn man viele Variablen vom selben Datentyp hat kann man sie in einem Rutsch erzeugen!!!
Auch das definieren kann man kurz machen!!!
Das sieht dann so aus:
int Lebensenergie, Rüstung, Verteidigung, Angriff;
Lebensenergie = Rüstung = 100;
Verteidigung = 75;
Angriff = 63;
Zack so hat man schon einige Zeilen gespart!!!
Hier ein Beispielcode:
//C++ TuT
//Lesson 2.2
//Deklarieren und definieren von Variablen 2
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
//Deklarieren der Variablen
//
int Weg, Geschwindigkeit;
//Definieren der Variablen
//
Weg = 500;
Geschwindigkeit = 100;
cout << "Zu laufender Weg: " << Weg << " Meter" << endl;
cout << "Deine Geschwindigkeit: " << Geschwindigkeit << " m/s" << endl;
system ("pause");
return 0;
}
Hier die Erklärung:
In Zeile das einzig neue, es werden zwei Variablen auf einmal deklariert!!!
Das ist möglich, weil beide Variablen den selben Datentyp haben!!!
Hätten die Variablen unterschiedliche Datentyp wäre dies nicht möglich!!!
Die beiden Variablen werden durch ein Komma abgetrennt!!!!
So sollte das Ergebnis aussehen:
Hinweis: Bevor ihr die nächste Lesson macht solltet ihr die vorherige noch mehrmals durchgehen
und auch noch einige Programme mit dem bisherigen Wissen schreiben!!!
Lesson 2.3
Rechnen mir Variablen
In dieser Lesson werde ich euch zeigen wie man mit Variablen rechnet!!!
Das Rechnen mit Variablen ist eine der wichtigsten Sachen in C++ und anderen Programmiersprachen!!!
Dieser Quellcode wird diesesmal etwas länger als all die anderen!!!
Wenn ihr den nicht auf Anhieb versteht wäre das kein Wunder!!!
Also nicht verzagen und die Erklärung durchlesen!!!
Aber zuerst der Quellcode:
//C++ TuT
//Lesson 2.3
//Rechnen mit Variablen
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
//Deklarieren der Variablen
//
float Headshotkill, Backkill, Any_other, Dead;
float PP_Headshotkill, PP_Backkill, PP_Any_other, PAP_Dead;
float GP_Headshotkill, GP_Backkill, GP_Any_other, GAP_Dead, GesamtP, GesamtK;
float KD, GeldfRunde, EXPfRunde;
//Definieren der Variablen
//
Headshotkill = 13;
Backkill = 25;
Any_other = 86;
Dead = 23;
PP_Headshotkill = 50;
PP_Backkill = 30;
PP_Any_other = 20;
PAP_Dead = 10;
//Definieren der restlichen Variablen durch Berechnung
//
GP_Headshotkill = Headshotkill * PP_Headshotkill;
GP_Backkill = Backkill * PP_Backkill;
GP_Any_other = Any_other * PP_Any_other;
GAP_Dead = Dead * PAP_Dead;
GesamtP = GP_Headshotkill + GP_Backkill + GP_Any_other - GAP_Dead;
GesamtK = Headshotkill + Backkill + Any_other;
KD = GesamtK / Dead;
GeldfRunde = (Headshotkill * 5) + (Backkill * 3) + (Any_other * 2) - Dead;
EXPfRunde = ( GesamtK * 5 ) + Dead;
//Ausgeben der Werte
//
cout << "Headshotkill(s): " << Headshotkill << endl;
cout << "Gesamtpunkte fuer Headshotkill(s): " << GP_Headshotkill << endl;
cout << "\nBackkill(s): " << Backkill << endl;
cout << "Gesamtpunkte fuer Backkill(s): " << GP_Backkill << endl;
cout << "\nKill(s) aller anderen Arten: " << Any_other << endl;
cout << "Gesamtpunkte fuer Kill(s) aller anderer Arten: " << GP_Any_other << endl;
cout << "\nTode: " << Dead << endl;
cout << "Gesamtpunkteabzug: " << GAP_Dead << endl;
cout << "\nGesamtkill(s): " << GesamtK << endl;
cout << "\nDeine KD betraegt: " << KD << endl;
cout << "\nGesamtpunkte: " << GesamtP << endl;
cout << "\nGeld fuer diese Runde: " << GeldfRunde << endl;
cout << "\nEXP fuer diese Runde: " << EXPfRunde << endl;
system ("pause");
return 0;
}
Hier folgt wieder die Erklärung:
Das erste was auffällt ist der Datentyp float !!!
Der float kann Kommazahlen darstellen!!!
Und da bei der KD ein Kommawert das Ergebnis ist brauchen wir den float !!!
Eigentlich bräuchten wir nur einen float aber dann zeigt uns der Compiler einen Haufen Warnungen an!!!
Man könnte zwar auch Casten aber das kommt erst in einer späteren Lesson dran!!!
Danach wird ganz normal definiert!!!
Dann kommt das eigentliche dieser Lesson an die Reihe: Das Rechnen mit Variablen!!!
Das funktioniert genau so wie im Mathematikunterricht!!!
Erklärung der Rechenzeichen:
Addition +
Subtraktion -
Multiplikation *
Division /
Wert zuweisen =
Hinweis: In C++ ist = nicht gleich =!!!
Das Gleich das wir aus dem Mathematikunterricht kennen ist in C++ == !!!
Klammern werden ganz normal gesetzt!!
Punktrechnung vor Strichrechnung gilt ebenfalls!!!
Nach der Berechnung werden die Werte ausgegeben!!!
Das Ergebnis sollte so aussehen:
Hinweis: Bevor ihr die nächste Lesson macht solltet ihr die vorherige noch mehrmals durchgehen
und auch noch einige Programme mit dem bisherigen Wissen schreiben!!!
Lesson 2.4
Konstanten erzeugen
In dieser Lesson befassen wir uns mit Konstanten!!
Konstanten sind unveränderbare Zahlen!!
Konstanten erzeugt man immmer dann, wenn man sich sicher ist das die Zahl im gesamten Programm nicht geändert werden
darf, wie zum Beispiel die Anzahl der Level oder die Addys & Offsets in einem Hack!!
Es gibt drei Möglichkeiten Konstantren zu erzeugen: const, #define und enum!!
Ich werde euch jetzt alle drei Möglichkeiten erläutern!!!
2.4.1 Konstanten mit const erzeugen
Wenn man eine Konstante mit const erzeugen will macht man dies fast genau so wie wenn man eine Variable
erzeugen will, nur das man in diesem Falle ein const davor setzt!!
Und so würde es im Quellcode aussehen:
//C++ TuT
//Lesson 2.4.1
//Konstanten erzeugen 1
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
//Konstanten mit const erszeugen
const int Level = 10;
cout << "Anzahl der Level: " << Level << endl;
system ("pause");
return 0;
}
Das Ergebnis sieht dann so aus:
Wenn man nun versuchen würde die Konstante im Programm zu ändern, dann würde der Compiler
einem einen Fehler vorwerfen!!
2.4.2 Konstanten mit #define erzeugen
Die zweite Möglichkeit bietet uns der Präprozessor-Direktive #define!!
Das funktioniert dan folgendermaßen:
//C++ TuT
//Lesson 2.4.2
//Konstanten erzeugen 2
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
//Konstante erzeugen mit #define
#define Damage 555
cout << "Damage: " << Damage << endl;
system ("pause");
return 0;
}
Das Ergebnis sieht dann so aus:
Da #define ein Präprozessor-Direktiv ist wird er zuerst kompiliert und es wird deshalb
überall im Programm wo Damage steht 555 eingesetzt!!!
Bei Präprozessor-Direktiven, wie #define ist zu beachten, dass keine Zuweisungsoperatoren (=)
an dieser Stelle verwendet werden dürfen und am Ende kein Semikolon stehen darf!!!
Auch hier meckert der Compiler, wenn man versucht die Konstante innnerhalb des Programms zu verändern!!
2.4.3 Konstanten mit enum erzeugen
Die dritte und letzte Möglichkeit besteht darin das Schlüsselwort enum zu benutzen!!
Wenn man nun mit dem bisherigen Wissen versuchen würde 4 verschiedenen Waffentypen eine
Kennnummer zuzuweisen dann würde das so aussehen:
const int Famas = 0;
const int M4A1 = 1;
const int Dual_Scorpions = 2;
const int Lasergun = 3;
Ganz schön aufwendig oder??
In solchen Fällen benutzt man enum!!
Das würde dann so aussehen:
//C++ TuT
//Lesson 2.4.3
//Konstanten erzeugen 3
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
//Konstanten erzeugen mit enum
enum Waffentyp {Famas, M4A1, Dual_Scorpions, Lasergun};
//Konstanten ausgeben
cout << "Spieler 1 hat Waffe Nr. " << Famas << endl;
cout << "Spieler 2 hat Waffe Nr. " << M4A1 << endl;
cout << "Spieler 3 hat Waffe Nr. " << Dual_Scorpions << endl;
cout << "Spieler 4 hat Waffe Nr. " << Lasergun << endl;
system ("pause");
return 0;
}
Das Ergebnis sieht dann so aus:
enum stellt also einen Aufzälungstypen dar!!
Es werden Werte aufsteigend von 0 verteilt!!!
Es handelt sich hierbei um Integer!!
Man kann aber z.B Famas auch einen anderen Wert zuweisen!!!
enum {Famas = 4, M4A1, Dual_Scorpions = 27, Lasergun};
Nun hat Famas den Wert 4, M4A1 den Wert 5, Dual_Scorpions den Wert 27, und Lasergun den Wert 28!!!
Welche der Möglichkeiten ist jetzt die beste???
Die Frage lässt sich eigentlich ganz einfach beantworten:
Es kommt darauf an was man mit den Konstanten machen will!!!
Möchte man beispielsweise eine Aufzählung erzeugen ist enum natürlich
die beste Möglichkeit!!
#define verbraucht keinen Speicherplatz, da es eine Textersetzung ist!!
Es wird häufig beim coden von Hacks verwendet!!
const ist jedoch der einzige Richtige Datentyp!!!
Es ist meist sinnvoll einen echten Datentyp zu verwenden!!
Daher ist const in den meisten Fällen die beste Methode!!!
Hinweis: Bevor ihr die nächste Lesson macht solltet ihr die vorherige noch mehrmal durchgehen und auch
noch einige Programme mit dem bisherigen Wissen schreiben!!!
Danke im Vorraus!







