Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Депозитный калькулятор (https://javascript.ru/forum/misc/79973-depozitnyjj-kalkulyator.html)

AlexRow 12.04.2020 17:13

Депозитный калькулятор
 
Я пишу депозитный калькулятор, который является функцией с тремя параметрами, где amount - суммя вклада, percent - процент по вкладу, period - период вклада. В функцию помещен цикл for, для расчета сумы вклада, зависящий от трех этих параметров функции. У меня ошибка в коде. Подскажите где она. После исправления в консоль должны выводится закоментированные ответы.

function calculateProfit(amount, percent, period) {
let sum = 0;
for (i = 0; i <= amount; i += percent + period) {
sum += i;
}
return sum;
}
console.log(calculateProfit(1000, 5, 7)); //407
console.log(calculateProfit(12500, 5, 7)); //5322
console.log(calculateProfit(0, 3, 1)); //0
console.log(calculateProfit(100000, 3, 1)); //3000

рони 12.04.2020 17:28

AlexRow,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js run]
... содержимое скрипта с проблемой
[/js]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 12.04.2020 17:43

Цитата:

Сообщение от AlexRow
5322

как получили это число?

AlexRow 12.04.2020 17:46

console.log(calculateProfit(12500, 3, 12));//5322. Там опечатка

рони 12.04.2020 17:54

AlexRow,
function calculateProfit(amount, percent, period) {
     let sum = 0;
     for (let i = 0; i < period; i++) {
       let delta = amount * percent / 100;
       sum += delta;
       amount += delta;
     }
     return Math.floor(sum);
   }
   console.log(calculateProfit(1000, 5, 7)); //407
   console.log(calculateProfit(12500, 3, 12)); //5322
   console.log(calculateProfit(0, 3, 1)); //0
   console.log(calculateProfit(100000, 3, 1)); //3000

AlexRow 12.04.2020 18:24

Спасибо большое


Часовой пояс GMT +3, время: 07:09.