سومين ساختار حلقه در C++ حلقه do- while است که بلاکی از کد را تا زمانی که شرط معينی true است اجرا می کند. حلقه do-while تقریبا مشابه حلقه while است با این تفاوت که شرط حلقه در انتهای حلقه است برخلاف حلقه while که در ابتدای قرار دارد. ساختار کلی آن به شکل زير است:
do {
loop_body
}
while (condition);
condition يک عبارت شرطی است و تا وقتی که درست (يا غيرصفر) باشد بدنه حلقه تکرار می شود. چون شرط در انتها بررسی می شود بدنه حلقه حداقل يکبار اجرا می شود. اگر شرط برقرار نباشد حلقه به پايان می رسد و کنترل به دستور بعد از do-while منتقل می شود. بدنه حلقه می تواند يک دستور ساده باشد که در اينصورت نيازی به آکولاد نمی باشد.
دياگرام حلقه do-while به صورت زير است:
مثال. قطعه کد زير اعداد 1 تا 20 را نمايش می دهد.
int count = 1;
do {
cout << count << endl;
count++;
} while (count <= 20);
مثال. حلقه زير تا زمان وارد شدن عدد 99 ورودی دريافت می کند.
Do {
cin >> nbr ;
} while (nbr <= 99);
حلقه های do-while هم مشابه حلقه های for و while می توانند تودرتو باشند. دقت کنيد که ساختار حلقه بايد کاملا درون حلقه ديگر باشد و نبايد overlap باشد.
do {
loop_body
}
while (condition);
condition يک عبارت شرطی است و تا وقتی که درست (يا غيرصفر) باشد بدنه حلقه تکرار می شود. چون شرط در انتها بررسی می شود بدنه حلقه حداقل يکبار اجرا می شود. اگر شرط برقرار نباشد حلقه به پايان می رسد و کنترل به دستور بعد از do-while منتقل می شود. بدنه حلقه می تواند يک دستور ساده باشد که در اينصورت نيازی به آکولاد نمی باشد.
دياگرام حلقه do-while به صورت زير است:
مثال. قطعه کد زير اعداد 1 تا 20 را نمايش می دهد.
int count = 1;
do {
cout << count << endl;
count++;
} while (count <= 20);
مثال. حلقه زير تا زمان وارد شدن عدد 99 ورودی دريافت می کند.
Do {
cin >> nbr ;
} while (nbr <= 99);
حلقه های do-while هم مشابه حلقه های for و while می توانند تودرتو باشند. دقت کنيد که ساختار حلقه بايد کاملا درون حلقه ديگر باشد و نبايد overlap باشد.