Понекогаш сакаме, различно од она што го нуди while циклусот, да гарантираме извршување на одредена наредба (или блок од наредби) најмалку еднаш (на пример, да печатиме мени). Во C++, ова е овозможено со исказот do-while:
do Притоа, наредбата naredba (или блокот од наредби кои евентуално би се наоѓал на нејзино место) ќе биде извршена најмалку еднаш. По извршувањето на naredba, програмата го проверува условот uslov и зависно од неговата вредност (true/false), се завршува циклусот (доколку условот не е исполнет) или се продолжува со извршување на наредби.
Следнава програма го илустрира кажаното:
Пример
Програмата очекува корисникот да внесе еден позитивен цел број (чија вредност се запишува во променливата n). Сé додека корисникот не внесе позитивен број (т.е. додека n<=0), програмата ќе печати "Vnesi pozitiven broj: " и ќе го чита целиот број кој го внесол корисникот. Исказот do-while, најчесто, се употребува кога условот од кој зависи повторното извршување на циклусот зависи од податоци кои се читаат/пресметуваат во самиот блок од наредби; и проверката на вредноста на условот нема смисла без тие податоци. Пример#include <iostream> using namespace std; int main () { unsigned long n; do { cout << "Vnesi broj (0 za kraj): "; cin >> n; cout << "Vie vnesovte i sega e kraj: " << n << "\n"; } while (n != 0); return 0; } |