In Kap5-2 haben Sie die break-Anweisung schon kurz kennengelernt. Dieser Befehl darf in C++ nur innerhalb einer Schleife, in einem case-Zweig oder in einer switch-Anweisung eingefügt werden. break bewirkt das sofortige Verlassen der Schleife. Sind mehrere Schleifen ineinander verschachtelt, wird nur die Schleife abgebrochen, die gerade durchlaufen wird. Die anderen Schleifen bleiben davon unbeeinflusst. Ein Beispiel zeigt das folgende Programm-Fragment:
int main() { char eingabe; ... //Endlos-Schleife for (;;) { ... //Ein Auswahlmenü anzeigen cout << "Auswahl: "; //Auswahl entgegennehmen cin >> eingabe; if (eingabe == "E") //falls Eingabe = E break //Schleife verlassen } ... }
Das Beispiel zeigt wie nach einer (nicht dargestellten) Anzeige eines Menüs eine Auswahl entgegengenommen wird. Nach Eingabe des Buchstabens „E“ wird die Endlosschleife durch die break-Anweisung verlassen.
[sc name=“adsense_InText_ad“]
Die continue-Anweisung wird nur innerhalb einer for- und einer while-Schleife angewendet. Sie hat zur Folge dass die restlichen Anweisungen übersprungen die Schleife aber nicht verlassen wird.
Gibt die Auswertung einer Schleifenbedingung den Wert „true“ werden alle Anweisungen in der Schleife ausgeführt. Durch die break-Anweisung besteht die Möglichkeit, die Abarbeitung der Befehle an einem beliebigen Punkt zu unterbrechen. Alternativ kann die continue-Anweisung dazu verwendet werden, die verbleibenden Befehle zu übergehen, ohne gleich die Schleife abzubrechen. Trifft der Computer innerhalb einer Schleife auf „continue“, kehrt das Programm zum Schleifenanfang zurück. Dort wird nach der Prüfung der Schleifenbedingung der nächste Durchlauf gestartet. Das folgende Beispiel zeigt die Verwendung der continue-Anweisung:
int main() { ... for (monat index=0; index<12; index++) { ... if index==5) //falls index = 5 continue //Rest der Schleife überspringen ... //weitere Anweisungen wenn index ungleich 5 } ... }
Bei Verwendung der break- und Continue-Anweisung ist die Position sehr wichtig. Diese muss immer nach einem Incrementer (Hochzähler) sein, um eine Endlosschleife zu vermeiden. Die Anweisungen müssen jedoch vor anderen Befehlen stehen, die Einfluss auf den weiteren Programmablauf haben.
Dieser Artikel ist Teil unseres kostenlosen Workshops “C++ Programmieren lernen” – Geeignet für Einsteiger und Fortgeschrittene. Machen auch Sie mit und lernen Sie in 50 Artikeln, wie Sie Programme selbst schreiben!
Artikelbild: Fotolia / bramgino