The following is the formula that can be used to complete that calculation:
Monthly Payment =
Monthly Interest Rate / (1 - (1 + Monthly Interest Rate) -Payment Interval)) * Principal
Where
Monthly Interest Rate expressed as: Interest Rate / 100 / 12.
Payment Interval expressed as: Number of Years * Months of Year.
Principal is total amount of mortgage expressed without any comma separators or $ prefixing it.
An example for the above formula:
Rate: 7.75
Period: 360
Principal: $100,000
(7.75 / 100 /12) / (1 - (1 + 7.75 /100 / 12) ^ -(30 * 12) ) * 100000
The result of the above formula generates a value of 682.18. (Note that there is no formatting of the value.) The ^ is the symbol for an exponent that replaces the superscript in an actual formula.
In C++ you must declare variables for the rate, period, principal, and monthly payment. Each of these variables is prefixed with a data type. In this case the data types are limited to float for decimal-based numbers (interest rate and monthly payment) and int for whole numbers (payment interval and principal). NOTE: C++ in case sensitive so be sure the variable is the same in every instance.
Some of the Code:
Payment = ?? / (1 - pow((1 + ??), - ?? * 12)) * ??;
cout << "Your monthly mortgage payment is $" << ?? << endl << endl;
[Remember to have #include
Test:
Rate
|
Period
|
Principal
|
Monthly Payment
|
3.50%
|
30 years
|
$350,000.00
|
1571.656
|
6.25%
|
15 years
|
$275,000.00
|
2357.913
|
7.325%
|
30 years
|
$468,000.00
|
3216.427*
|
5.50%
|
40 years
|
$725,000.00
|
3739.335
|
8.125%
|
30 years
|
$645,000.00
|
4789.107*
|
*Possible rounding error