Structura repetitiva conditionata posterior
Garanteaza cel putin o executie!
Sintaxa DO-WHILE
Diferenta WHILE vs DO-WHILE
| WHILE | DO-WHILE |
|---|---|
| Verifica inainte | Verifica dupa |
| Poate sa nu execute deloc | Executa cel putin o data |
| while (cond) { ... } | do { ... } while (cond); |
Exemplu: Citire cu validare
Exemplu: Joc "Ghiceste numarul"
Jocurile de tip "ghiceste numarul" sunt un exemplu clasic de DO-WHILE. Jucatorul trebuie sa faca cel putin o incercare inainte de a verifica daca a ghicit corect.
Observa ca jucatorul introduce cel putin o valoare inainte de a se verifica daca a ghicit. Daca am folosi WHILE, ar trebui sa initializam variabila ghicire cu o valoare "gresita" inainte de bucla, ceea ce ar fi mai putin elegant.
💡 Cand folosim DO-WHILE?
Regula de aur: foloseste DO-WHILE cand actiunea trebuie executata cel putin o data, indiferent de conditie. Iata situatiile cele mai frecvente:
- Meniuri interactive - meniul trebuie afisat cel putin o data ca utilizatorul sa poata alege
- Validare input - cere utilizatorului sa introduca date pana cand sunt corecte
- Jocuri "vrei sa mai joci?" - jocul trebuie jucat cel putin o runda
- Procesare cifre - numarul 0 are cel putin o cifra, deci trebuie procesata
- Orice situatie unde actiunea trebuie facuta cel putin o data inainte de verificare
⚠ Greseala comuna
Cea mai frecventa greseala este uitarea punctului si virgulei dupa while(conditie). Spre deosebire de structura WHILE clasica, DO-WHILE se termina cu ; dupa paranteza conditiei:
Alta greseala frecventa: folosirea DO-WHILE cand conditia trebuie verificata inainte. De exemplu, daca vrei sa parcurgi o lista care poate fi goala, foloseste WHILE, nu DO-WHILE.