Программирование >>  Формирование пользовательского контейнера 

1 ... 72 73 74 [ 75 ] 76 77 78 ... 156


Листинг 6.1. Расчет регулярных платежей по ссуде

#include <iostream> # include <cinath> #include <ioinanip> #include <locale>

using namespace std;

Вычисляет регулярные платежи по ссуде, double regpay(double principal, double intRate, int numYears, int payPerYear) {

double numer;

double denom;

double b, e;

intRate /= 100.0; преобразует проценты в дробь

□ максимальный аннуитет от инвестиции;

□ оставшаяся величина долга по ссуде.

Эти программы можно использовать в том виде, в котором они приведены или модифицировать в соответствии с вашими потребностями. Честно говоря, эти программы могут оказаться самыми полезными, несмотря на то, что они наиболее простые в этой книге.

Вычисление платежей по ссуде

Вычисление регулярных платежей по ссуде (например, при покупке в рассрочку машины или дома) - возможно, самый популярный вид финансовых расчетов. Платежи вычисляют с помощью следующей формулы:

Payment = (intRate * (principal / payPerYear))/

/(1 - ((intRate / payPerYear) + l)-payPerYear numVears )

где intRate обозначает процентную ставку, principal - ссуду, payPerYear ~ число платежей в течение года, а numYears - количество лет, отпущенных на погашение ссуды.

В профамме, приведенной в листинге 6.1, функция regpayo использует эту формулу для вычисления регулярных платежей. В качестве парамефов она принимает величину ссуды, процентную ставку, продолжительность ссуды в годах и количество платежей в течение года, а возвращает - сумму платежа.



int main () { double p, r; int y, ppy;

Устанавливает locale равным english. Задайте нужный вам язык и/или регион. cout.imbuedocaleCenglish ));

cout Enter principal: ; cin p;

cout Enter interest rate (as a percentage): ; cin r;

cout Enter number years: ; cin y;

cout Enter number of payments per year: ;

cin ppy;

cout \nPayment: fixed setprecision(2) regpay(p, r, y, ppy) endl;

return 0;

numer = intRate * principal / payPerYear;

e = -(payPerYear * numYears);

b = (intRate / payPerYear) + 1.0;

denom = 1.0 - pow(b, e);

retxim numer / denom;



232 Алавае

Для того чтобы рассчитать регулярные платежи по ссуде, просто введите необходимую информацию в ответ на запросы программы. Далее приведен вывод программы.

Enter principal: 1000

Enter interest rate (as a percentage): 9

Enter nuinber years: 5

Enter nuinber of payments per year:. 12

Payment: 20.76

Функция main () содержит несколько элементов, заслуживающих внимания. Во-первых, в региональной настройке (locale) потока вывода cout выбран английский язык. Это сделано с помощью вызова функции-члена imbue о, которая передает как параметр объект locale со значением engiish. В результате денежные суммы выводятся в формате, принятом в англоязычных странах: запятая отделяет тысячи, а точка - дробную часть. Во-вторых, перед выводом на экран числовой формат рассчитанного платежа изменяется на формат с фиксированной точкой (fixed) и точностью представления (precision), равной двум. В результате на экран выводятся два знака в дробной части (после точки) с соответствующим округлением. При необходимости дробная часть заполняется нулями. Подобный подход применяется во всех финансовых программах. При использовании других региональных установок или языка просто измените язык/регион объекта locale, передаваемого функции imbue ().

Расчет будущей величины инвестиции

Другое часто встречающееся вычисление - расчет будущей величины вложения по величине первоначальной инвестиции, процентной ставке, количеству начислений процентов в течение- года и длительности инвестиционного проекта в годах. Например, вы хотите знать, сколько денег будет на вашем пенсионном счету через 12 лет, если в данный момент он содержит 98 ООО долларов и средняя годовая ставка составляет 6%. Приведенная в листинге 6.2 профамма позволяет решить эту задачу.

Для расчета будущей величины вклада воспользуемся следующей формулой: Future Value =

= principal * ((rateOfRet / COmpPerYear) + 1) compPerYea.< numVeais

где rateOfRet - процентная ставка (rate of return), principal содержит начальную величину вклада, compPerYear определяет количество начислений процентов в течение года, а numYears - продолжительность хранения вклада в годах. Если в качестве значения переменной rateOfRet используется



1 ... 72 73 74 [ 75 ] 76 77 78 ... 156

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика