Ваше выражение (interest/100)
с interest
типа int
является целочисленным делением и - если значение interest
равно <100
, всегда будет 0
, так как любая дробная часть результат будет отброшен (см., например, этот стандартный черновик C ++ онлайн):
5.6 Мультипликативные операторы
- ... Для целочисленных операндов оператор / дает алгебраический фактор с любым
дробная часть отбрасывается
Следовательно, термин (interest/100)*(loan-(loan/series)*i)
тоже будет 0
, так что ваш результат будет (loan/series)+0
в каждой итерации.
Запись (interest/100.)
(обратите внимание на .
в 100.
, делающем второй аргумент значением с плавающей запятой), так, чтобы термин был делением с плавающей запятой (вместо целочисленного деления).
Кстати: loan
и interest
должны, вероятно, иметь тип double
вместо int
в любом случае.