В цикле for начальное значение, условие работы и приращение связаны с номерами итераций; однако, если количество итераций не определено или не имеет важного значения, то лучше использовать цикл while. При использовании цикла while необходимо просто задать условие, при котором он должен работать:
while (<условие работы>) {
<тело цикла>;
}
Для иллюстрации работы цикла while рассмотрим следующую задачу. Предположим, что кому-то нужно накопить 300 000 рублей на покупку машины, и он периодически кладет деньги в копилку; когда будет накоплено 300 000 рублей или больше, «говорящая» копилка должна сообщить, что денег на покупку достаточно. Описанную ситуацию моделирует код, использующий цикл while:
//Цена автомобиля
const float price = 300000;
cout << "Машина стоит " << price << " рублей.\n";
//Накопленная сумма
float total = 0;
//Принимем деньги, пока их меньше 300000
while (total < price) {
cout << "\nВ копилке " << total << " рублей.\n";
cout << "Сколько еще положить?\n";
float money;
cin >> money;
total += money;
}
//Требуемая сумма накоплена
cout << "\nВ копилке " << total << " рублей\n";
cout << "Вы накопили на машину.\n";
Работа программы «Копилка» выглядит так: