Die continue-Anweisung


Die break-Anweisung führt Sie am Ende der Schleife aus dieser Schleife heraus. Manchmal wollen Sie aber zum Anfang der Schleife zurückkehren, wenn etwas Unerwartetes passiert ist. Die Ausführung der continue-Anweidung hat genau diese Wirkung.

Hier ist eine Variation des DIVDO-Beispiels. Dieses Programm, welches wir etwas früher kennengelernt haben, führt Divisionen durch, aber es hat einen fatalen Makel: Wenn der Anwender eine 0 als Divisor eingibt, erlebt das Programm einen katastrophalen Fehlschlag und bricht mit der Laufzeitfehlermeldung Divide error ab. Die überarbeitete Version des Programms, DIVDO2, geht mit dieser Situation großzügiger um.

// divdo2.cpp // Veranschaulicht CONTINUE-Anweisung #include <iostream.h> void main() { long dividend, divisor; char ch; do { cout << "Geben Sie den Dividend ein: "; cin >> dividend; cout << "Geben Sie den Divisor ein: "; cin >> divisor; if(divisor == 0) // Wenn versucht wird durch 0 zu teilen, { cout << "Divisor nicht zulässig!\n"; // Meldung anzeigen continue; // Zum Schleifenanfang gehen } cout << "Der Quotient ist " << dividend / divisor; cout << " , Der Rest ist " << dividend % divisor; cout << "\nNoch einmal? (j/n): "; cin >> ch; } while(ch != 'n'); }

Hier ist eine Stichprobe der Ausgabe:

Geben Sie den Dividend ein: 10
Geben Sie den Divisor ein: 0
Divisor nicht zulässig!
Geben Sie den Dividend ein:

Eine break-Anweisung würde unter diesen Umständen einen Ausstieg aus der do-Schleife bewirken, was aber eine unötige krasse Maßnahme wäre.


27