In: Computer Science
CODE IN C++ PLEASE
When you borrow money to buy a house, a car, or for some other purpose, you repay the loan by making periodic payments over a certain period of time. Of course, the lending company will charge interest on the loan. Every periodic payment consists of the interest on the loan and the payment toward the principal amount. To be specific, suppose that you borrow $1,000 at an interest rate of 7.2% per year and the payments are monthly. Suppose that your monthly payment is $25. Now, the interest is 7.2% per year and the payments are monthly, so the interest rate per month is 7.2/12 = 0.6%. The first month’s interest on $1,000 is 1000 X 0.006 = 6. Because the payment is $25 and the interest for the first month is $6, the payment toward the principal amount is 25 - 6 = 19. This means after making the first payment, the loan amount is 1,000 - 19 = 981. For the second payment, the interest is calculated on $981. So the interest for the second month is 981 X 0.006 = 5.886, that is, approximately $5.89. This implies that the payment toward the principal is 25 - 5.89 = 19.11 and the remaining balance after the second payment is 981 - 19.11 = 961.89. This process is repeated until the loan is paid. Instructions Write a program that accepts as input: The loan amount The interest rate per year The monthly payment. (Enter the interest rate as a percentage. For example, if the interest rate is 7.2% per year, then enter 7.2.) The program then outputs the number of months it would take to repay the loan. (Note that if the monthly payment is less than the first month’s interest, then after each payment, the loan amount will increase.) In this case, the program must warn the borrower that the Monthly payment is too low. The loan cannot be repaid. Since your program handles currency, make sure to use a data type that can store decimals with a decimal precision of 2.
The c++ program to calculate the number of months required to pay the money is as follows :
________________________________________________________________________________________________
#include<iostream>
using namespace std;
//Function to round a floating point number to two decimal
places
float presetting(float num)
{
int t = num*100; //The float number accepted is multiplyed by
100
if(t%10>5)
{
//If the last digit is grater than
five, .5 is added and the number is rounded to two decimal places
and returned
float interest
=(int)(num*100+.5);
return (float)interest/100;
}
else
{ //else the number is rounded to two decimal places
and returned
float interest
=(int)(num*100);
return (float)interest/100;
}
}
int main()
{
float principal,rate,monamt,interest;
/*
variables are declared as follows
principal will hold the principal amount.
rate will hold the annual interest rate.
monamt is the montly amount installment.
interest is declared to hold the interest per
month
*/
//Taking the user inputs
cout<<"\nEnter the Principle amount :$ ";
cin>>principal;
cout<<"\nEnter the interest rate : ";
cin>>rate;
cout<<"\nEnter the monthly installment amount :
$";
cin>>monamt;
rate = rate/1200;
int count=0; //Count will count the number of month
required to pay the loan
while(principal>0)
{
interest = principal*rate;
//Interest is calculated
interest =
presetting(interest);//Interest is rounded off to two decimal
places
if(interest > monamt)
{ //Giving
warning to user if the monthly payment is lower than monthly
interest amount
cout<<"monthly payment is too low, and
with this monthly payment, the loan amount could not be
repaid.";
return 0;
}
count++;
principal =
principal-(monamt-interest);//calculating the remaining
principal
principal =
presetting(principal);
}
cout<<"Total No Of Months required to pay the
loan is : "<<count;
return 0;
}
____________________________________________________________________________________________
The output of the program is