Amortization Schedule

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
cstone021897Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
emmonsConnect With a Mentor 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);

}


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

0
 
mbecker011597Commented:
agreed to pc.
0
 
tallenCommented:
Looks like a homework problem to me.  If you can't handle this one, maybe you should change majors.
0
 
emmonsCommented:
Well, I did it. 37 lines of code. What is your teachers email address so that I can send it in.
0
All Courses

From novice to tech pro — start learning today.