This assignment will require you to develop a program that calculates monthly payments for a loan. You will develop the entire program from the problem statement, including developing the pseudo code, and the test data. There is no program template as with previous assignments.
In order to pass this project you must create a payment function. This function will have three formal parameters:
1. Amount of the loan as a float,
2. Number of months for the loan as an integer, and
3. Monthly interest rate expressed as a decimal as a float. It is not acceptable to pass the annual interest rate and calculate the monthly rate in the function.
The function should return a floating point value that is the monthly payment on the loan using the formula below. It should not output the payment,
This payment function will need to raise a floating point number to an integer power. You must use one of the two power functions provided in the Programming Assignments>Functions Project conference. You should not change anything in the power function.
The formula for periodic payments on a loan is:
P = ___ B * i_____
(1 – (1 + i) -n )
P = loan payment
B = balance (i.e., the amount financed)
i = interest rate. Note that interest rate must be a decimal, not a percentage rate, and the rate must be for the period of the payments. Thus, if the annual interest rate (what is usually quoted by mortgage companies, banks, and credit cards) were 6%, it would be [url removed, login to view] (6/100/12) for monthly payments (12 per year)
n = number of payments in the loan. For a 5 year car loan, n would be 60 ( 5 * 12); for a 30 year mortgage, n would be 360 (30 * 12). Note that (1+i) is raised to the negative n power, not to the n power
After printing a welcome message, your program will ask the user if they want payments for a car loan or for a home loan. Then prompt the user for the amount of the loan, the annual interest rate (as a percentage, not a decimal number). If the user wants a car loan, calculate and print a report showing the payments for a 3 year loan (36 months), a 4 year loan (48 months), and a 5 year loan (60 payments). If the user wants a home loan, calculate payments for a 30 year loan (360 payments), and a 15 year loan (180 payments). To check your payment function, for a loan of $5,700 with a 3 year length, monthly payments, and an annual interest rate of 12½ %, the result is 190.686.
Creating and using a function for calculating (but not displaying) the payment is a requirement. You will not pass this assignment if your code correctly calculates the payment without using a payment function, and the power function.
The payment function will need to raise a floating point number to a negative integer exponent. You need a power function that your payment function calls and uses, and it should handle negative exponents. You need to use one of the power functions that are in the files [url removed, login to view] or powerrecursive.cpp. Choose either the iterative power, or the recursive power. Do not change anything in the power function that you use. Do not change or delete any of the comments in the power function
You are responsible for creating a set of data to fully test your program, and to submit this with your assignment. Your test data should include the test data given above ($5700 over 3 years at 12.5% has a payment of $[url removed, login to view]).
You must appropriately document your code, use appropriate indentation, and use self documenting variable names. Each module (main, payment, and power) must have a set of header comments that lists the name of the person who created the code (i.e., you for main and payment ), the date the code was created, a section listing revisions and revision dates (which will be empty in this the initial release of your program), a description of what the module does, what the module needs as inputs, the type of the inputs, and where they come from either the key board, or passed as parameters. Finally the header comments should describe the outputs from the module. Any known invalid cases or problems should also be described.
26 freelancers are bidding on average $59 for this job
Hi this is a very easy task i have done these kind of things in 3rd semesester of my engineering so this will not bother me w waiting for your response
Looking to develop some experience. I can get your formula working. Looking at the problem statement, shouldn't take too long. Put 2 days just to be safe, but I think 1 would do.
This is a simple task, I have a favor of C++ over any other language, and feel this should be a bugfree and trouble proof project. Get back to me right away, and I can get started.