Programming in C Mortgage, Interest, Loan Assignment
Generally, when someone takes out a mortgage or other non-revolving loan, each payment is the same except for the final payment, which might be a little more or a little less in order to exactly pay off the loan. How is the required payment amount calculated? There is a closed form solution for this problem, which is easily derivable or can be looked up, but it produces a result that is not quite correct because it is based on the assumption that all transactions have infinite resolution, meaning, for instance, that the monthly payment might be $1234.5678473....
In actuality, all transactions are rounded to the nearest cent. The result is that the actual monthly payment will be slightly different than the ideal payment - though seldom by more than a few cents - and that the final payment must be slightly different,
usually by just a few dollars, to clear up the residual error.
Your program here will compute a mock Financial Disclosure statement for the principal and interest portion of a fixed-rate mortgage. The user will be asked to enter the initial mortage balance, the APR, and the number of years in the loan term. To simplify things, it will be assumed that the mortgage is taken out on the first day of the month and that payments are due the first day of the each month thereafter.
This is not at all an unreasonable assumption because loan companies generally force this situation to be the case, in effect, by requiring interest associated with a closing date that is not on the first of the month either be prepaid at closing or folded into the loan balance as of the first day of the next month. The other assumption we will make is that a "month" is exactly 1/12 of a year. This is common practice in the financial industry and is written into almost all mortgage contracts.
In order to determine the actual payment schedule for a real mortgage, the loan payments are simulated and the payment amount adjusted until the payment that comes closest to paying off the loan on schedule is found. The final payment is then adjusted to exactly clear the loan.
You are to run such a simulation to find the correct monthly payment. Each month interest is first computed on the prior month's balance and then this amount is added to the balance and the current month's payment is applied. Keep in mind that each transaction must be properly rounded to the nearest cent. The simulation should run in a loop that progressively adjusts the monthly payment until the magnitude of the residual balance after the final payment is as small as possible; this might result in either a slight overpayment or a slight underpayment.
Typical run of the program:
What is the beginning principal balance ($): $ 250000.00
What is the annual interest rate (%): 4.125
What is the loan term (years): 15
IF PAID OFF ON SCHEDULE
179 equal payments of:.... $ 1864.92
Final payment of:......... $ 1864.59
Total Finance Cost:....... $ 85985.27
Run your simulations for the following cases and place the results in a ReadMe.txt file.
$200,000; 4.500%; 30 year
$200,000; 4.375%; 20 year
$200,000; 3.875%; 15 year
$200,000; 3.875%; 10 year
NOTE: These rates are current rates for no-closing cost loans with superior credit.