So I currently taking a class in C++ which I find difficult only because I am not so experienced. I was wondering if anyone can help me figure out a while loop to calculate a single monthly payment for this program.
//Amortization Formula: R = L * i
--------------------
1 - (1 + i)^-mt
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double R; // amortization formula
double L = 0.00; // loan amount (principal)
double g; // gross salary
double r; // interest rate per year
int t = 30; // number of years for the loan
int m = 12; // number of payments in a year
double i = m / t;
int p; // monthly payment range
int grossSalary(); // prototype function of grossSalary
double interestRate(); // prototype function of interestRate
double monthlyPaymentRange(); // prototype function of monthlyPaymentRange
double maxTarget(); // prototype function of maxTarget
double monthlyPayment(); // prototype function of monthlyPayment
int main() // this combines all of the functions in order to give the monthly payment
{
grossSalary();
interestRate();
monthlyPaymentRange();
maxTarget();
monthlyPayment();
system("pause");
}
int grossSalary() // this function asks for the gross salary of the user and returns g (gross salary)
{
cout << "Please enter your yearly gross salary: ";
cin >> g;
return g;
}
double interestRate() // this function asks the user for an interest rate and returns r (interest rate)
{
cout << "Please enter an interest rate: ";
cin >> r;
return r;
}
double monthlyPaymentRange() // this function calculates the monthly payment range
{
p = g / 12 * 0.3;
cout << "The target (30% of monthly salary) monthly payment range is: " << p << endl;
return p;
}
double maxTarget() // this function calculates the maximum target house price
{
L = g * r - g;
cout << "Your max target house price is: " << L << endl;
return L;
}
double monthlyPayment() // this function calculates the monthly payment using the amortization formula
{
cout << "with a monthly payment of: " << R << endl;
while(L < p) // how to fix this?
{
cout << R << endl;
R = L * i / 1 - pow(1 + i, -m * t);
break;
}
return R;
}
I am completely stuck and don't know how to go about it. Any help would be great.