zurück weiter

C++

G.Eichelsdörfer - Staatliche Technikerschule Weilburg

Ablaufstrukturen: Schleifensteuerung an beliebigen Stellen

Beenden einer Schleife

Eine Schleife besitzt zwei mögliche Ausgänge: am Kopf oder am Fuß
In seltenen Fällen ist es hilfreich, einer Schleife weitere Ausgänge zu geben, an denen sie verlassen werden kann. Mit der C++-Anweisung break kann eine Schleife an einer beliebigen Stelle beendet werden. An welchen Stellen und wie oft Sie die break-Anweisung in einer Schleife einsetzen, bleibt Ihnen überlassen. Weil der Einsatz einer break-Anweisung jedoch zu schlechter strukturiertem Programm führt, sollte sie nur in begründeten Ausnahmefällen verwendet werden.

Beispiel zur Verdeutlichung - nicht zum Nachahmen:

while(true) // Endlosschleife
{
 cin >> Wahl;
 if(Wahl==0) break; // bedingtes Ende
 <Verarbeitung>
}

Der Schleifenausgang ist im Struktogramm gelb unterlegt.
Es erscheint zweckmäßig, die Bedingung zum Verlassen der Schleife in den Ausgangsblock zu schreiben.

Sofort zum Schleifenanfang

Wenn eine Schleife nicht verlassen wird, so folgt nach der Abarbeitung der letzten Anweisung die Abarbeitung der ersten Anweisung am Schleifenanfang. Mit der C++-Anweisung continue wird die Fortsetzung mit der ersten Schleifenanweisung erzwungen.

Beispiel zur Verdeutlichung - nicht zum Nachahmen:

do
{
 cin >> Wahl;
 // bedingte Fortsetzung am Anfang:
 if(Wahl>3) continue;
 <Verarbeitung>
}while(Wahl!=0)

Hierzu kenne ich keinen Strukturblock. Dies zeigt bereits, dass eine solche Codierung nicht zum Stil einer strukturierten Programmierung passt.


Zur besonderen Beachtung:
Denken Sie am besten erst gar nicht an Sprünge aus einer Schleife oder zum Schleifenanfang. Dies würde Ihr Verständnis des strukturierten Programmierens stören. Die Anweisung break besitzt jedoch im Rahmen von Fallunterscheidungen (nächste Seite) eine Existenzberechtigung.