Основным отличием цикла for от цикла do-while является то, что:
- цикл For выполняется 0 или более раз
- Но цикл do-while выполняется 1 илибольше раз
Пример:
int input = 100;
//Will never execute as i is bigger than 5
for (int i = input; i<5; ++i)
cout << i;
//Will execute only one time as i < 5 is checked only
//after first execution
int i = input;
do
{
cout << i;
} while(i < 5);
Способ правильно выполнить вашу задачу:
int i = 0;
//if used to prevent first execution
if (i <= input)
{
do
{
cout << name << " is number " << input << endl;
total = total + i;
i = i + 2;
} while(i <= input);
}
Но для лучше переписать для цикла, как
for(BEFORE_STATEMENT; FINISH_STATEMENT; ITERATE_STATEMENT)
{
LOOP_CODE
}
цикл while, который будет работать так же
BEFORE_STATEMENT
while(FINISH_STATEMENT)
{
LOOP_CODE
ITERATE_STATEMENT
}