Почему функция pow () в C ++ не работает для меня здесь? - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь создать таблицу, которая печатает ежедневные начисления процентов с разной скоростью с течением времени, но функция pow (), похоже, не работает для меня. Вот мой код:

double balance = principle * pow( (1 + (i / 36000)), (j * 360) );
printf( "%15.2f", balance);

Где i - процентная ставка, а j - год. Тем не менее, оператор print только когда-либо печатает исходный принцип, потому что pow () просто возвращает 1. Я делаю что-то не так, и как я могу это исправить? Спасибо

1 Ответ

3 голосов
/ 14 апреля 2020

Я думаю, что проблема связана с типом данных переменной «i» (интерес), и, возможно, вы воспринимаете ее как целое число. Если числитель и знаменатель имеют целочисленный тип, то оператор "/" выполняет целочисленное деление, т.е. дает минимальное значение. Таким образом, это деление приводит к 0, если (числитель <знаменатель) и 1 + 0 = 1. И, в конце концов, любая степень 1 приводит к 1. </p>

Ниже приведены изменения, которые вы можете сделать:

  1. Введите переменную "i" для плавания / двойного числа
  2. Просто измените 36000 на 36000.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...