Nieuws — Lesstof — Pengo — Projecten — Console API — Links
Lesstof © 2002-2003, Joost Ronkes Agerbeek
Een do/while-lus voert een herhaling uit onder een bepaalde voorwaarde. Zolang de voorwaarde waar is, wordt de code binnen de lus uitgevoerd. Er zijn twee vormen van deze lus, namelijk de do-lus en de while-lus. Bij de do-lus wordt de voorwaarde gecontroleerd na elke iteratie en bij de while-lus voor elke iteratie. Dat betekent dat een do-lus gegarandeerd minstens één keer wordt uitgevoerd, terwijl dat bij de while-lus alleen het geval is als de voorwaarde waar is.
In het volgende voorbeeld wordt de lus uitgevoerd totdat de gebruiker een 0 invoert. De gebruiker moet eerst een getal invoeren, dus de lus moet minstens één uitgevoerd worden. Daarom gebruiken we een do-lus.
do { // lees invoer int myNumber; cin >> myNumber; } while (myNumber != 0);
Dit voorbeeld is een simpel gokspel. De speler mag doorgaan zolang hij nog geld heeft. Als de speler helemaal aan het begin al geen geld heeft, mag hij niet aan het spel beginnen. Die voorwaarde moeten we dus controleren voordat de lus begint en daarom gebruiken we een while-lus.
while (myMoney > 0) { // lees invoer int myGamble; cin >> myGamble; // is het getal goed geraden? if ((myGamble % 3) == (myMoney % 3)) { // ja, keer winst uit myMoney *= 2; } else { // nee, incasseer verlies myMoney /= 2; } }