We help IT Professionals succeed at work.

Amortization Schedule

cstone021897
cstone021897 asked
on
Medium Priority
360 Views
Last Modified: 2008-03-06
Write a C program that will print an amortization schedule. Your program should be interactive by requesting from the user: amount to borrow, interest rate, # of months to repay. This data should be plugged into this formula to compute monthly payment: MP=P/((1-(1+I/12)to the -M)/(I/12))

Next you should print out this information followed by a header. Then your program should go into a loop to print the schedule. The limit of the loop will be the # of months to repay. Mounthly interest should be computed with this formula: MON INT=P* (I/12)

When your schedule is finished, print out the total amount of interest paid. Consider what to do if the last payment must be changed plus or minus to make the balance go to zero.
Document each line of code
Comment
Watch Question

Commented:
I suggest you sit down and do your homework alone...

agreed to pc.

Commented:
Looks like a homework problem to me.  If you can't handle this one, maybe you should change majors.

Commented:
Well, I did it. 37 lines of code. What is your teachers email address so that I can send it in.
Commented:
void main()
{
        double MonthlyPayment; // monthly payments
        double Principal = (double)100000; // amount borrowed
        double M = (double)360; // duration of loan in months
        double AnnualInterestRate = (double)8; // annual interest rate
        double MonthlyInterestRate;     // Monthly interest rate
        double MI; // monthly interest paid
        double MonthsInAYear = (double)12; // number of months in a year
        double One = (double)1; // the multiplicative identity
        double dx, dp; // intermediate calculations
        int i; // loop counter
                   
        printf( "amount to borrow: "); scanf( "%f", &Principal);
        printf( "interest rate: "); scanf( "%f", &AnnualInterestRate);
        printf( "total months: "); scanf( "%f", &M);
       
        printf( "Borrowing $%.2f @ a rate of %.2f%% for %.0f months\n", Principal, AnnualInterestRate, M);

        MonthlyInterestRate = AnnualInterestRate / (MonthsInAYear * 100);
        dx = One + MonthlyInterestRate;
       
        for( dp = 1, i = 0; i < M; i++) dp = dp * dx;
       
        MonthlyPayment = Principal * MonthlyInterestRate / ( One - (One/dp));
        printf( "Means a monthly payment of $%.2f\n", MonthlyPayment);
       
        for( i=0; i < M; i++) {
               
                printf( "Principal $%.2f  Interest $%.2f   Balance $%.2f\n",
                        MonthlyPayment - (Principal * MonthlyInterestRate),
                        Principal * MonthlyInterestRate,
                        Principal - (MonthlyPayment - (Principal * MonthlyInterestRate)));
                Principal = Principal - (MonthlyPayment - (Principal * MonthlyInterestRate));
//                if( Principal <= MonthlyPayment) break;
        }
        printf( "Principal $%.2f  Interest $%.2f   Balance $0.00\n",
                MonthlyPayment - (Principal * MonthlyInterestRate),
                Principal * MonthlyInterestRate);

}


Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.