Ваша проблема в том, что вы устанавливаете начальное значение совокупности на каждой итерации цикла. Вы должны сделать это один раз до начала цикла.
Вы также можете упростить вычисление, поскольку увеличение на 1,18% может быть достигнуто простым умножением на 1.0118
. Это дает вам что-то вроде:
int Pop = 10180000;
for (int i = 1; i <= 120; i++)
Pop = Pop * 1.0118;
cout << Pop << endl;
Конечно, если вы писали реальный код, вы можете выделить функциональность, чтобы его можно было легко использовать повторно:
int increaseValue(
int value,
double ratePerPeriod,
unsigned int periodCount
) {
for (unsigned int i = 0; i < periodCount; i++)
value *= (ratePerPeriod / 100.0 + 1.0);
return value;
}
:
cout << increaseValue(10180000, 1.18, 120) << endl;