ساختارهای کنترلی - حلقه while - بخش دوم 
                                 در این فصل از آموزش برنامه نویسی C++  قصد داریم به بررسی ساختار حلقه while()   بپردازیم که وظیفه ای شبیه به حلقه  for()    را برعهده دارد.
                                
while ( عبارت شرطی )  
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}
                                 از این ساختار برای ایجاد حلقه های تکرار استفاده می شود و تا زمانیکه عبارت شرطی داخل پرانتز  while()   درست باشد دستورات مربوطه اجرا خواهند شد و به محض نادرستی شرط، کنترل دستورات از حلقه خارج خواهد شد. 
                                
                                            
                                                
                                                    | 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 |  | 
int n;
cout << "Enter the starting number that bigger than zero : " ;
cin >> n ;
while ( n > 0 )  
{
    cout << n << ", " ;
    n--;
}
cout << "Fire! \n" ;
 | 
 
                                
Enter the starting number that bigger than zero : 8
8, 7, 6, 5, 4, 3, 2, 1, Fire!                                   
                                     کد برنامه نویسی بالا، عددی را از کاربر گرفته و با استفاده از حلقه  while شمارش معکوس آنرا در خروجی نمایش می دهد. 
                                     در برنامه C++ بالا، اگر عدد صفر یا کمتر از آنرا وارد کنیم شرط حلقه while نادرست بوده و دستورات درون حلقه اجرا نخواهد شد و فقط عبارت   Fire!    چاپ می شود. 
                                     شکل دیگری از این دستور وجود دارد که شبیه به   while()  بوده و به آن حلقه  do while گفته می شود، با این تفاوت که اگر شرط درون آن نادرست باشد دستورات درون حلقه حداقل یکبار اجرا می شوند و اگر شرط درست باشد، حلقه تا زمان نادرستی شرط ادامه خواهد یافت و ساختار آن بدینگونه است : 
                                    
do 
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}
while ( عبارت شرطی )  
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}
                                 در ساختار  do while()  ابتدا دستورات   do   اجرا شده و بعد شرط درون  while()  بررسی می شود و در صورت درستی شرط، اجرای دستورات  do  ادامه پیدا خواهد کرد. 
                                 نکته )  دوستان توجه داشته باشند که اگر دستورات مربوط به    for, while, do, …    فقط یک دستور باشد نیازی به قرار دادن دستور درون آکولاد نیست و تکرار فقط بر روی تنها سطر دستور ادامه خواهد داشت و تا زمانیکه شرط برقرار باشد فقط و فقط آن سطر تکرار و اجرا می شود و تا زمان پایان به خط بعدی نخواهد رفت اما اگر دستورات بیش از یکی باشد لازم است که آنها را در آکولاد قرار دهیم و این قانون کلی در برنامه نویسی است.
                                
                                            
                                                
                                                    | 1
 2
 3
 4
 5
 6
 7
 8
 |  | 
int n;
do
{
    cout << "Enter number (0 to end): " ;
    cin >> n ;
    cout << "You entered: " << n << "\n" ;
} while ( n != 0 )
 | 
 
                                
Enter number (0 to end): 1298
You entered: 1298                                
Enter number (0 to end): 35
You entered: 35   
Enter number (0 to end): 0
You entered: 0   
                                     اگر عدد ورودی در کد بالا در ابتدا صفر باشد دستورات یکبار اجرا می شود.