C++
Herzlich willkommen zu meinem Ersten Tutorial.Es geht über C++.
Um diese Beispiele nachmachen zu können empfehle ich Ihnen die Entwicklungsumgebung Code Blocks.
Hier können Sie sie herunterladen.
Wenn Sie es fertig installiert haben gehen sie auf File (links oben)->New->Project->und wählen Sie dann die Console application aus->Go->C++ auswählen->irgendeinen Projekt-Titel und Speicheradresse eingeben->und dann auf Finish.
Oder eine Abkürzung ist das Create a new Projekt auf der "Startseite".
Links sehen Sie nun eine Leiste mit ihrem Projektnamen.
Unter den Punkt Sources werden wir die verschiedenen Quelltexte speichern.
Die Datei main.cpp ist schon vorgegeben und wird auch weiter unten erklärt.
Aber fangen wir jetzt einfach mal an.
Unsere Programme bestehen immer aus folgendem Grundgerüst:
//Headerdatei
#include <iostream>
using namespace std;
//Hauptprogramm
int main()
{
return 0;
}
#include <iostream>
using namespace std;
//Hauptprogramm
int main()
{
return 0;
}
Wie man schon erkennen kann macht man mit // einen Kommentar.
Alles was hinter dem // wird vom Compiler (Programm, dass den Code von C++ in die Maschinensprache übersetzt) ignoriert.
So ein Kommentar gilt aber nur für eine Zeile.
Mehrzeilige Kommentare macht man so:
/*Kommentar
Kommentar
Kommentar*/
Kommentar
Kommentar*/
Anders als bei anderen Programmiersprachen muss man bei C++ alle Headerdateien selbst einbinden.
Um überhaupt ein Programm zu machen benötigen wir die Headerdatei <iostream>, in der viele Funktionen deklariert sind.
Jede Codezeile im Programm wird mit einem Semikolon (;) abgeschlossen.
Mit int main() fagen wir das Programm an.
In den geschweiften Klammern kommt dann der ganze Code hinein.
Das return 0; ist eigentlich erstmal gar nicht wichtig.
Was wäre ein Programm dass nicht einmal Text ausgibt?
Nichts, also werde ich Ihnen zeigen wie man Text in C++ ausgibt.
Dazu benutzen wir die Funktion cout.
Um zB.: ein Programm zu schreiben, dass Hallo Welt! ausgibt brauchen wir folgenden Code:
#include <iostream>
using namespace std;
int main()
{
cout << "Hallo Welt"<<endl;
return 0;
}
Da Hallo Welt! ein String (Text) ist müssen wir ihn in Anführungszeichen geben.
Das endl bewirkt einen Zeilenumbruch.
Nun können wir schon unser erstes Programm übersetzen.
Wie, das wird in dieser Bilder-Reihe gezeigt:
Im letzten Bild wird Hallo Welt in der Konsole ausgegeben.
Der Text darunter wird von Code Blocks erzeugt und den sollten sie nicht beachten.
Nun können sie die Programme auch ausführen.
Eine sehr nützliche Hilfe beim Programmieren sind sogenannte Variablen.
Diese Speichern zb. eine Nummer, eine Zeichenkette (String) oder etwas anderes.
Hier eine Tabelle mit den wichtigsten Datentypen:
Name | Deutscher Name | Beispiele |
int | Ganzzahl | 1,2,3,.. |
double | Fließkommazahl | 1.2, 3.14159,... |
char | Zeichen | a, 4, c, y,... |
string | Zeichenkette | hallo, blabla |
bool | Wahrheitswert | true, false |
Anders als zb. in Php muss man in C++ dem Compiler sagen um welchen Datentyp es sich handelt.
Im Folgendem Beispiel werde ich Ihnen ein Programm zeigen, dass "Hallo 5"ausgibt.
#include <iostream>
//Um Strings verwenden zu können
#include <string>
using namespace std;
int main()
{
string hallo = "hallo";
int nummer = 5;
cout << hallo << nummer << endl;
return 0;
}
//Um Strings verwenden zu können
#include <string>
using namespace std;
int main()
{
string hallo = "hallo";
int nummer = 5;
cout << hallo << nummer << endl;
return 0;
}
Zuerst müssen wir die Headerdatei string includen, um Strings speichern zu können.
Dann machen wir eine Variable mit dem Typ string und dem Namen hallo und weißen ihm mit dem = Operator den Wert Hallo zu.
Achtung: Anführungszeichen nicht vergessen!
Danach machen wir das selbe nur mit dem Typ int, welcher eine Ganzzahl erwartet.
Danach geben wir die Variablen aus.
Aber was wäre ein Programm, das nicht mit dem User kommuniziert?
Also brauchen wie eine Funktion, die einen Text eines Users aufnimmt.
Dafür eignet sich die Funktion cin.
Hier ein kurzes Beispiel dafür:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Bitte geben sie ihren Namen ein" <<endl:
cin >> name;
cout << "Hallo" << name << endl;
return 0;
}
#include <string>
using namespace std;
int main()
{
string name;
cout << "Bitte geben sie ihren Namen ein" <<endl:
cin >> name;
cout << "Hallo" << name << endl;
return 0;
}
Zuerst wird eine Variable mit dem Typ String und mit dem Namen name deklariert.
Dann wird " Bitte geben sie ihren Namen ein" ausgegeben.
Dann muss der Benutzer seinen Namen eingeben, der dann an die Variable name geschickt wird.
Nachdem er Enter gedrückt hat gibt das Programm Hallo und dann den Name des Benutzers aus.
Jetzt kommen wir zu fortgeschritteren, aber auf keinen Fall komplitzierteren, Sachen - Schleifen und Co.
Am Besten fangen wir gleich mit einem Beispiel an:
#include <iostream>
using namespace std;
int main()
{
int gewicht;
cout << "Bitte geben sie ihr Gewicht ein:" <<endl:
cin >> gewicht;
if (gewicht < 45) {
cout << "Sie sind wohl ein Kind. << endl;
} else if (gewicht == 100) {
cout << "Genau 100 Kilo. Da heißt es wohl Abnehmen!" << endl;
} else {
cout << "Viel Spaß noch!" << endl;
}
return 0;
}
using namespace std;
int main()
{
int gewicht;
cout << "Bitte geben sie ihr Gewicht ein:" <<endl:
cin >> gewicht;
if (gewicht < 45) {
cout << "Sie sind wohl ein Kind. << endl;
} else if (gewicht == 100) {
cout << "Genau 100 Kilo. Da heißt es wohl Abnehmen!" << endl;
} else {
cout << "Viel Spaß noch!" << endl;
}
return 0;
}
Wie sie sich bestimmt schon denken steht nach dem if (engl. für wenn) in den Klammern eine Anweisung, die wahr sein muss, damit der dazugehörige Codeblock in den Klammern ausgeführt wird.
Wenn die Anweisung falsch ist wird der Codeblock einfach übersprungen.
Die Zeichen größer und kleiner kennt man ja aus der Mathematik.
Manche werden sich wundern warum hier == steht.
Das liegt daran, dass C++ = schon als Zuweisungsoperator benutzt und somit würde man nicht das Gewicht mit 100 vergleichen sondern gewicht den Wert 100 zuweisen.
Wichtig für das vergleichen von Werten sind folgende Operatoren:
Operator | Beschreibung |
== | gleich |
< | kleiner |
> | größer |
<= | kleiner oder gleich |
>= | größer oder gleich |
!= | ungleich |
Dann schauen wir bei unserem Code weiter.
Um nicht einige if Anfragen zu machen, kann man nach der if Abfrage einen else if Block schreiben.
Da passiert dann dasselbe wie beim if Block.
Der else Block wird ausgeführt, wenn keiner der Abfragen zutrifft.
Nun kommen wir zu Schleifen und wie immer kommt zuerst ein Code:
#include <iostream>
using namespace std;
int main()
{
int i = 1;
while(i<=10) {
cout << "I hat den Wert" <<i << endl;
i++;
}
return 0;
}
using namespace std;
int main()
{
int i = 1;
while(i<=10) {
cout << "I hat den Wert" <<i << endl;
i++;
}
return 0;
}
Mit while machen wir eine Schleife.
Nach while kommt wieder in runden Klammern eine Bedingung.
Der Codeblock in den geschweiften Klammern wird so lange ausgeführt, wie die Bedingung war ist.
Wenn es wahr ist wird der Wert von i ausgegeben.
Um keine sogenannte Endlosschleife zu programmieren (das passiert wenn die Bedinung immer erfüllt ist) erhöhen wir die Zählervariable i um 1 nach jedem Schleifendurchlauf.
i++ ist eine Abkürzung für i = i + 1.
Nun eine weitere Schleife, die songenannte for-Schleife.
Sie ist der while-Schleife sehr ähnlich.
Hier das selbe Beispiel mit der for-Schleife:
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 10; i++) {
cout << "I hat den Wert" <<i << endl;
}
return 0;
}
using namespace std;
int main()
{
for (int i = 1; i <= 10; i++) {
cout << "I hat den Wert" <<i << endl;
}
return 0;
}
Das Beispiel wird das Selbe ausgeben.
In den Klammern wird zuerst eine Zählervariable deklariert, dann wird die Bedingung angegeben, wann die Schleife ausgeführt werden soll und am Schluss wird die Zählervariable noch verändert.
Es muss aber nicht immer ++ sein.
Wenn man zum Beispiel i += 2 (i = i +2) nehmen würde, würde natürlich nur jede 2. Zahl ausgegeben werden.
Jetzt noch die 3. Schleife, die ich hier behandle.
Die do-while-Schleife, die auch wieder fast so wie die while-Schleife aussieht.
Der Einzige Unterschied ist, dass bei einer while-Schleife zuerst die Bedinung überprüft wird, es kann also auch sein, dass die Schleife gar nicht ausgeführt wird.
z.B:
int i = 2;
while (i < 2) {
cout << i << endl;
}
while (i < 2) {
cout << i << endl;
}
Bei einer do-while-Schleife ist das genau der Unterschied.
Da wird zuerst der sogenannte Anweisungsblock ausgeführt und dann erst die Bedingung überprüft:
#include <iostream>
using namespace std;
int main()
{
int i ;
do {
cout << "Bitte geben sie eine gerade Zahl ein" <<endl;
cin >> i;
} while(i%2 != 0);
return 0;
}
using namespace std;
int main()
{
int i ;
do {
cout << "Bitte geben sie eine gerade Zahl ein" <<endl;
cin >> i;
} while(i%2 != 0);
return 0;
}
Hier sollte solange eine Eingabe erwartet werden, bis die Zahl gerade ist.
Vielleicht wird ihnen die Bedingung komsich vorkommen, da sie den % (Modulo) Operator nicht kennen.
Erinnern sie sich am Besten an die Volksschule oder einfach an die Zeit ohne Taschenrechner, als man die Divisionen noch per Hand machte.
Es kam leider oft ein Rest heraus und genau das ist es, was der % Operator macht.
Zum Beispiel kommt bei 5%2 eins heraus.
Als kleine Überprüfung:
2*2 + 1 = 5
Also überprüft dieses Kosntrukt i%2 != 0, ob die Zahl nicht durch 2 teilbar ist.
Nun können Sie schon kleine Programme mit C++ machen.
Ich hoffe das Tutorial hat Ihnen gefallen.
Viel Spaß noch mit C++.
Sie brauchen Hilfe?
Dann schreiben Sie mir hier.
Kommentare zu dieser Seite:
|
Kommentar zu dieser Seite hinzufügen: