C++ do…while petlja s primjerima
Što je do-while petlja?
Do-while petlja ponavlja dio od C++ programirati nekoliko puta. U do-while petlji testni izraz se dodaje na dnu petlje. Tijelo petlje dolazi prije testnog izraza. Zato se tijelo petlje mora jednom izvršiti, čak i kada testni izraz procijeni netočno u prvom testu.
Kada koristiti do-while petlju?
Do-while petlja bi se trebala koristiti kada broj ponavljanja nije fiksan, a petlja se mora izvršiti barem jednom. The C++ kompajler prvo izvršava tijelo petlje prije evaluacije uvjeta. To znači da petlja mora vratiti rezultat. To je slučaj čak i kada se testni uvjet ocijeni kao netočan pri prvoj procjeni. Budući da je tijelo petlje već izvršeno, mora vratiti rezultat.
Sintaksa
Osnovna sintaksa C++ do while petlja je sljedeća:
do{ //code }while(condition);
Uvjet je probni izraz. Mora biti istinito da bi se petlja izvršila. { i } označavaju tijelo do while petlje. Dolazi prije uvjeta. Dakle, izvršava se prije uvjeta.
Kako radi petlja do-while?

Objašnjenje dijagrama toka:
- Početak do while petlje.
- Tijelo do while petlje.
- Ispitni izraz ili uvjet koji se procjenjuje.
- Ako je testni izraz istinit, C++ prevodilac je izvršio tijelo do while petlje.
- Ako je testni izraz lažan, C++ prevodilac izvršava naredbe nakon tijela petlje.
- Naredbe koje dolaze nakon tijela petlje.
Primjer 1
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključivanje iostream datoteke zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
- Uključivanje std imenskog prostora kako bi se njegove klase i funkcije koristile bez pozivanja.
- Poziv main() funkcije unutar koje treba dodati logiku programa. { označava početak tijela funkcije main().
- Komentar. The C++ kompajler će ovo preskočiti.
- Deklaracija cjelobrojne varijable x i dodjeljivanje vrijednosti 1.
- Stvaranje do-while petlje. { označava početak tijela petlje.
- Za ispis vrijednosti varijable x uz drugi tekst na konzoli. Kraj je a C++ ključna riječ koja znači završni redak.
- Povećanje vrijednosti x za 1 nakon svake iteracije.
- Kraj tijela petlje. Testni izraz dodan je na kraj tijela petlje. Provjerava je li vrijednost x manja od 5.
- Funkcija main() trebala bi vratiti vrijednost ako program dobro radi.
- Kraj tijela funkcije main().
Primjer 2
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključivanje iostream datoteke zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
- Uključivanje std imenskog prostora kako bi se njegove klase i funkcije koristile bez pozivanja.
- Poziv main() funkcije unutar koje treba dodati logiku programa.
- { označava početak tijela funkcije main().
- Deklariranje dvije cjelobrojne varijable, num i sum. Varijabla sum je inicijalizirana na 0.
- Stvaranje do-while petlje. { označava početak tijela petlje.
- Ispis teksta “Unesite broj:” na konzoli.
- Čitanje korisničkog unosa s konzole i pohranjivanje vrijednosti u varijablu num. Cin (konzolni unos) je funkcija koja čita korisnički unos.
- Dodavanje vrijednosti num vrijednosti sume i pohranjivanje rezultata u varijablu sum.
- } označava kraj tijela petlje. Testni izraz dodan je na kraj tijela petlje. Provjerava je li vrijednost koju je unio korisnik kako bi se uvjerio da nije 0. != nije jednako operatoru. Ako korisnik unese 0, petlja bi trebala prekinuti.
- Ispis vrijednosti varijabilnog zbroja na konzoli uz ostali tekst.
- Funkcija main() trebala bi vratiti vrijednost ako program dobro radi.
- Kraj tijela funkcije main().
Ugniježđena Do While petlja
In C++, moguće je stvoriti jednu do-while petlju unutar druge do-whole petlje. To rezultira ugniježđenom do-while petljom.
Sintaksa
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
Prva naredba do označava do dio vanjske do-while petlje.
Druga naredba do označava do dio unutarnje do-while petlje.
Prva naredba while označava testni uvjet za unutarnju petlju.
Druga naredba while označava testni uvjet za vanjsku petlju.
Kako radi ugniježđena petlja Do While
Ugniježđena do while petlja radi na sljedeći način:
Korak 1: Inicijalizacija se izvodi prvo i jednom.
Korak 2: Naredbe (do) se izvršavaju jednom.
Korak 3: Ispitni izraz je procjena kontrolom protoka.
Korak 4: Ako je istinito, izvršava se unutarnja petlja.
Korak 5: Izjave o ažuriranju su ažurirane.
Korak 6: Proces se ponavlja sve dok testni izraz ne postane lažan.
Korak 7: Kada testni izraz postane netočan, izlazi se iz unutarnje petlje i kontrola skače na vanjsku petlju.
Korak 8: Ispitni uvjeti se ponovno ocjenjuju.
Korak 9: Ako je istinito, izvod(i) se izvršavaju da vrate netočno.
Korak 10: Izvršenje petlje se zaustavlja i kontrola skače na izjave nakon petlje.
Primjer
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključivanje iostream datoteke zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
- Uključivanje std imenskog prostora kako bi se njegove klase i funkcije koristile bez pozivanja.
- Poziv main() funkcije unutar koje treba dodati logiku programa. { označava početak tijela funkcije main().
- Deklaracija cjelobrojne varijable a i dodjeljivanje vrijednosti 1.
- Stvaranje vanjske do-while petlje. { označava početak tijela vanjske petlje.
- Deklaracija cjelobrojne varijable b i dodjeljivanje vrijednosti 1.
- Stvaranje unutarnje do-while petlje. { označava početak tijela unutarnje petlje.
- Za ispis vrijednosti varijable a na konzoli. "\n" je znak novog retka koji pomiče kursor miša u sljedeći red.
- Povećanje vrijednosti b za 1 nakon svake iteracije.
- Kraj tijela unutarnje petlje. Testni izraz dodan je na kraj tijela petlje. Provjerava je li vrijednost b manja ili jednaka 5.
- Povećanje vrijednosti a za 1 nakon svake iteracije.
- Kraj tijela vanjske petlje. Testni izraz dodan je na kraj tijela petlje. Provjerava je li vrijednost a manja ili jednaka 3.
- Kraj tijela funkcije main().
Rezime
- Do-while petlja izvodi dio koda nekoliko puta.
- Treba ga koristiti kada broj ponavljanja nije fiksan.
- U do-while petlji, tijelo petlje dolazi prije testnog izraza.
- Tijelo petlje izvršava se barem jednom, čak i ako testni izraz postane lažan.
- Ovu petlju treba koristiti kada broj ponavljanja nije fiksan.
- Do while petlja može se izvoditi bilo koji broj puta, pod uvjetom da je uvjet istinit.
- Uvjet se procjenjuje jednom nakon svake iteracije.
- Ishod evaluacije stanja određuje radnju koju treba poduzeti.
- Ako je uvjet istinit, petlja je izvršila tijelo.
- Izvršenje petlje odmah se zaustavlja, a uvjet se procjenjuje kao lažan.
- Budući da je tijelo petlje do while već izvršeno, mora vratiti rezultat.