Verfügbare Informationen zu "C++ Teil5"
Qualität des Beitrags: Beteiligte Poster: biohazard Forum: www.biohazard-die-nr1.de.vu aus dem Unterforum: Tutorials Antworten: 1 Forum gestartet am: Mittwoch 14.04.2004 Sprache: deutsch Link zum Originaltopic: C++ Teil5 Letzte Antwort: vor 20 Jahren, 10 Tagen, 4 Stunden, 56 Minuten
Alle Beiträge und Antworten zu "C++ Teil5"
Re: C++ Teil5
biohazard - 15.04.2004, 14:56C++ Teil5
C++ Programmierung - Teil
5
Schleifen II, Klassen I
Teil: (4/?)
Thema: Schleifen II, Klassen I
Version: 1.00
Datum: 15.03.2000
Do-While Schleife:
Im letzten Tutor haben wir die while Schleife kennengelernt. Der unterschied zwischen der
while und der do-while Schleife ist der folgende:
Bei der while Schleife wird erst die Laufbedingung geprüft und der Schleifenkörper nur dann
ausgeführt, wenn die Bedingung erfüllt ist. Es kann also sein, dass der Körper der Schleife gar
nicht ausgeführt wird, da die Bedingung nicht zutrifft. Bei der do-while Schleife wird der
Schleifenkörper immer mindestens einmal ausgeführt, da erst der Körper ausgeführt wird und
erst anschließend die Laufbedingung geprüft wird.
Beispiel:
Ich werde das Programm aus dem letzten Tutor wieder aufgreifen und es dann
umschreiben(die Erläuterung entnehmt ihr bitte dem 4. Teil):
1: #include <iostream.h>
2:
3: void main(void)
4: {
5: int i, j=1;
6:
7: cout << "Wie oft soll der Schleifenkörper ausgeführt werden:";
8: cin >> i;
9:
10: while(i > 0)
11: {
12: cout << "\nDurchgang: " << j;
13: i--; j++;
14: }
15:
16: cout << "\n\nEnde der Schleife!!!";
17: }
Wenn der Benutzer auf die Frage hin, wie oft die Schleife durchlaufen werden soll eine 0
eingibt, wird der Schleifenkörper nicht ausgeführt, da die Laufbedingung nicht erfüllt ist.
Das ganze Programm mit der do-while Schleife:
1: #include <iostream.h>
2:
3: void main(void)
4: {
5: int i, j=1;
6:
7: cout << "Wie oft soll der Schleifenkörper ausgeführt werden:";
8: cin >> i;
9:
10: do
11: {
12: cout << "\nDurchgang: " << j;
13: i--; j++;
14: } while(i > 0)
15:
16: cout << "\n\nEnde der Schleife!!!";
17: }
Erläuterung:
In Zeile 10 beginnt unsere do-while Schleife. Sie wird durch ein 'do' eingeleitet und der
Schleifenkörper wird wie sonst auch immer durch die Klammern eingeleitet und beendet.
Innerhalb dieser Klammern wird der Code geschrieben. Dabei ist bei der do-while Schleife
darauf zu achten, dass der Schleifenkörper immer mindestens einmal ausgeführt wird!
Nach der schließenden geschweiften Klammer ist die Laufbedingung. Ist diese True(also
stimmt die Laufbedingung) so wird der Schleifenkörper nochmals ausgeführt, bis die
Laufbedingung False(also nicht zutrifft) ist.
Das war es auch schon mit der do-while Schleife!
for-Schleife:
In den beiden Schleifen, die wir zuvor kennengelernt haben, war es immer so, dass wir eine
Laufbedingung angegeben haben die auf "Richtigkeit" geprüft wurde. Im Schleifenkörper
mussten wir immer umständlich Inkrementieren/Dekrementieren oder Variablen anders
verändern um ein Abbruchbedingung zu erhalten. Bei der for-Schleife ist es möglich die
Startbedingung(z.B. Deklaration einer Zählervariablen), die Abbruchbedingung und die
Inkrementieren/Dekrementieren innerhalb der 'Klammer' vorzunehmen. Dazu das obige
Beispiel entsprechend umgeändert:
1: #include <iostream.h>
2:
3: void main(void)
4: {
5: int i, j=1;
6:
7: cout << "Wie oft soll der Schleifenkörper ausgeführt werden:";
8: cin >> i;
9:
10: for(i = 0;i > 0; i--, j++)
11: {
12: cout << "\nDurchgang: " << j;
13: }
14:
15: cout << "\n\nEnde der Schleife!!!";
16: }
Erläuterung:
Wir betrachten uns mal die Zeile 10. Die Schleife wird durch ein 'for' eingeleitet, dahinter
folgt die Klammer in der die Startbedingung(der Startwert der Variable i wird auf 0 gesetzt)
dann die Laufbedingung(i > 0) und schließlich die Dekrementierung/Inkrementierung(die wir
vorher im Schleifenkörper durchgeführt haben) enthalten sind. Man beachte, dass sie durch
ein Semikolon voneinander getrennt werden!
Der Körper wird solange durchlaufen, bis die Laufbedingung 'False' ist.
Erweiterte for-Schleife:
Wie wir es im überstehenden Beispiel schon zum Teil gemacht haben, können wir die for-
Schleife erweitern:
.....
.....
.....
for(int i=0, int j=0 ; i>0 ; i--, i++)
{
.....
.....
}
......
......
......
Wie wir sehen, haben wir die Deklaration der Variablen jetzt innerhalb der for-Schleife
durchgeführt. Genauso habe wir die Inkrementierung/Dekrementierung (wie oben) dort
durchgeführt.
Das war es mehr oder weniger auch mit Schleifen.
Klassen:
Ihr solltet euch jetzt noch mal kurz das Thema "Variablen" und "Funktionen" durch den Kopf
gehen lassen, da wir das jetzt gebrauchen können.
Also was sind Klassen? Unter Klassen kann man sich am ehesten eine Sammlung von
Variablen und Funktionen vorstellen. Innerhalb einer Klasse werden Variablen/Funktionen
eines bestimmten Typs erzeugt. Um das mal ein bisschen zu veranschaulichen werde ich das
mal mir einer Fußballmannschaft vergleichen(wie nehmen mal Bayer 04 Leverkusen(nicht
das ich Bayer Fan wäre(oh, jetzt habe ich mich geoutet) und FC Bayern München):
Also wir stellen uns beide Vereine als zwei unterschiedliche Klassen vor(Bayer und
München). In jeder dieser Mannschaften gibt es Spieler, die auf verschiedenen Positionen
Spielen. Also:
Klasse Bayer Klasse München
Stürmer.Ulf_Kirsten Stürmer.Carsten_Janker
Torwart.Adam_Matysek Torwart.Oliver_Kahn
Der Klasse Bayer gehört also Ulf Kirsten an, der wiederum aus der Klasse Stürmer
kommt(sozusagen eine Liste aller Stürmer aus der Ulf_Kirsten in die Klasse Bayer einsortiert
wird). Genauso verhält sich das mit mit dem Torwart und dem Rest.
Ok, Ok ich geb es ja zu das ist scheiße erklärt aber egal.
Ich werde mal einfach anfangen und das nächste Tutor ausschließlich Klassen widmen:
1: #include <iostream.h>
2:
3: class Kirsten{
4: public:
5: int alter;
6: int gebJahr;
7: };
8:
9: void main(void)
10: {
11: Kirsten Spieler;
12: cout << "Ulf ist " << Spieler.alter << " Jahre alt";
13: cout << "\nUlf wurde im jahre " << Spieler.gebJahr << " geboren\n\n";
14: }
Erläuterung:
In Zeile 3 erstellen wir die Klasse 'Kirsten'. Klassen werden außerhalb von Funktionen
Deklariert. Klassen erstellt man mit Hilfe des Schlüsselwortes 'class', gefolgt von einer
öffnenden geschweiften Klammer und einigen Datenelementen(int alter etc.). Beendet wird
die Deklaration durch eine schließende geschweifte Klammer und einem Semikolon(nicht
vergessen!). Was 'public' bedeutet werde ich im nächsten Tutor erklären.
In Zeile 11 erzeugen wir eine Instanz von der Klasse Kirsten(was das ist kläre ich –genau im
nächsten Tutor). Diese Instanz heißt Spieler.
In den Zeilen 12/13 werden die Werte der Variablen über die Instanz der Klasse Kirsten
ausgegeben. Da wir den Variablen keinen Wert zugewiesen haben, werden irgendwelche
wirren Zahlen ausgegeben.
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum www.biohazard-die-nr1.de.vu
Ähnliche Beiträge wie "C++ Teil5"
[EINZEL] vincentvega vs. replicator (story teil5) - vincentvega (Dienstag 05.09.2006)
Ein Stück CityMercs Geschichte Teil5 - Janine Allison (Freitag 17.03.2006)