C++ Kontrollstrukturen

Kontrollstrukturen sind Anweisungen, die den Ablauf eines Programms steuern. Sie ermöglichen Entscheidungen, Wiederholungen und Verzweigungen

Die while Schleife

Schleifen werden ausgeführt um eine Gruppe von Anweisungen mehrfach auszuführen. C++ bietet die Schleifen: while, do-while und for . Die Anzahl der Schleifendurchläufe wird durch eine Laufbedingung festgelegt. Bei der while- und for-Anweisung wird die Laufbedingung zu Beginn eines Durchlaufs getestet, bei der do-while-Anweisung am Ende des Durchslaufs.

Syntax: while (Ausdruck)
Anweisung

Die Laufbedingung wird geprüft und solange der Ausdruck wahr ist wird die Anweisung ausgeführt und dann die Laufbedingung erneut überprüft.

Beispiel: int anzahl = 0;
while (ausgabe < 10)
cout << ++anzahl << endl;

Hinweis: wer schon mit Javascript oder Ähnlichem gearbeitet hat, ist sicher die Schreibweise mit den Klammern gewohnt. Auch diese ist unter C++ möglich.

while (Bedingung) {
Anweisung
}

Die for-Schleife

Bei einer For-Schleife handelt es sich um eine der wichtigsten Kontrollstrukturen innerhalb der Programmierung. For-Schleifen werden im Regelfall immer dann eingesetzt, wenn die Anzahl der Schleifendurchläufe im Vorhinein bekannt ist.

if Anweisung

if (Bedingung)
{auszuführende Anweisung}

#include <iostream>
using namespace std;

int main() {
    int alter; // Variable für das Alter
    cout << "Bitte das Alter eingeben: "; // Aufforderung zur Eingabe
    cin >> alter; // Eingabe des Alters

    if (alter >= 18) { // Bedingung: Ist die Person volljährig?
        cout << "Ja, du bist volljährig." << endl;
    } else {
        cout << "Nein, du bist noch nicht volljährig." << endl;
    }

    return 0; // Erfolgreiches Beenden des Programms
}

Wenn mehrere Aspekte zur Auswahl stehen sollen kann else if verwendet werden.

int main() {
    int punktzahl; // Deklaration der Variablen

    // Eingabeaufforderung
    cout << "Bitte die erreichten Punkte eingeben: ";
    cin >> punktzahl;

    // Bedingungen prüfen
    if (punktzahl <= 20) {
        cout << "Du hast den Test nicht bestanden" << endl;
    } else if (punktzahl > 20 && punktzahl <= 40) {
        cout << "Du hast den Test bestanden." << endl;
    } else {
        cout << "Die Eingbae muss zwischen 20 und 40 Punkten erfolgen" << endl;
    }

    return 0; // Erfolgreiches Beenden des Programms
}

Switch Anweisung

Die switch-Anweisung entspricht in etwa einer Folge von if-Anweisungen die jeweils den gleichen Ausdruck prüfen. Es kommt oft vor, dass man dieselbe Variable (oder denselben Ausdruck) gegen viele verschiedene mögliche Werte prüfen und abhängig davon unterschiedlichen Code ausführen möchte. Genau hierfür wurde die switch-Anweisung eingeführt.

#include <iostream>
using namespace std;

int main() {
    int day = 4;
switch (day) {
  Tag 1:
    cout << "Montag";
    break;
  case 2:
    cout << "Dienstag";
    break;
  case 3:
    cout << "Mitwoch";
    break;
  case 4:
    cout << "Donnerstagy";
    break;
  case 5:
    cout << "Freitag";
    break;
  
}
    return 0; // Erfolgreiches Beenden des Programms
}

verschachtelte Schleifen

Eine Schleife heißt verschachtelt, wenn sie innerhalb einer anderen Schleife platziert ist. Beim ersten Durchgang ruft die äußere Schleife die innere Schleife auf, die bis zum Abschluss ausgeführt wird. Anschließend wird die Steuerung an den Hauptteil der äußeren Schleife übergeben

Die break-Anweisung – Schleifen abbrechen

Es kann vorkommen, dass Sie Ihre C++ For-Loop vorzeitig verlassen möchten. Das kann beispielsweise dann passieren, wenn Sie eine Endlosschleife erstellen möchten, die so lange Ganzzahlen auf dem Bildschirm ausgibt, bis eine vom User eingegebene Zahl erreicht wurde. Folgendes Codebeispiel verdeutlicht die Situation:

int i = 0;
int benutzereingabe = 0;
// User gibt eine Zahl ein, die der Variable namens benutzereingabe zugewiesen wird
std::cin >> benutzereingabe
for (;;) {
	std:cout << i << std:endl;
	++i;
	// Abbruch, wenn die Schleifenvariable größer als die vom User eingegebene Zahl ist
	if (i > benutzereingabe) {
		break;
}
}

Das Schlüsselwort, das im obigen Codebeispiel dafür sorgt, dass die Schleife beendet wird, ist break. Mit break wird jede C++-For-Loop sofort beendet. Die Ausführung des Programms macht dann einfach nach der Schleife weiter.