×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Interest Homework Solution using C++

July 09, 2024
Dr. Olivia Mitchell
Dr. Olivia
🇬🇧 United Kingdom
C++
Dr. Olivia Mitchell holds a Ph.D. in Computer Science from the University of Cambridge. With over a decade of experience, she specializes in advanced file handling techniques in C++. Having completed over 800 assignments, Dr. Mitchell's expertise lies in designing efficient algorithms for file stream manipulation and error handling in file operations.
Tip of the day
Start assignments early to avoid last-minute stress and allocate time for debugging. Ensure you follow coding standards and document your code properly, as clarity and maintainability are crucial in software engineering.
News
In 2024, new programming tools like Elixir and PureScript are helping students build scalable systems and web apps, expanding their expertise in functional programming and concurrency.

Problem

Create a program that calculates twelve months’ interest and principal loan balance. Your program will ask the user for the starting principal balance, annual interest rate, and monthly payment amount.

Your program will verify the input is reasonable, as described in the Error Checking section below. After obtaining reasonable input, the program will process 12 months of payments. The output will show the accrued interest and the updated loan balance after each month’s payment. The total interest paid and total payment amounts for the 12 month period will also be calculated and displayed.

Your program output should resemble the output below.

Intrest

Solution:

/* Class: ELEC 1520 * Assignment: * Program author: * Date: * Tested on * C++ Environment: * Operating system: * Description: A program that calculates twelve month¿s interest and principle loan balance. */ #include #include #include using namespace std; int main() { // Declare the maximum allowed loan amount constant const int max_loan = 100000; // Declare the minimum allowed loan amount constant const int min_loan = 500; // Declare the user input variables, loan, annual interest rate and monthly payment double loan, annual_rate, payment; // Declare calculated variable for the monthly interest rate double monthly_rate; // Ask the user for the starting principle balance. cout << "Enter loan amount [500.00 100000.00]: "; cin >> loan; // Check the state of the cin input stream object. // The fail bit is set when cin fails to read input.Terminate the program when scanf fails. if (cin.fail() == true) { cout << "Programming terminating due to input error" << endl; exit(EXIT_FAILURE); } // If the loan is out of the defined range, terminate the program with the error message else if (loan < min_loan || loan > max_loan) { cout << "The loan should be in the range of " << min_loan << " to " << max_loan << "." << endl; exit(EXIT_FAILURE); } cout << endl; // Ask the user for annual interest rate cout << "Enter annual interest rate: "; cin >> annual_rate; // Check the state of the cin input stream object. // The fail bit is set when cin fails to read input.Terminate the program when scanf fails. if (cin.fail() == true) { cout << "Programming terminating due to input error" << endl; exit(EXIT_FAILURE); } // If the annual interest rate is out of the defined range, terminate the program with the error message else if (annual_rate < 0.00 || annual_rate > 8.99) { cout << "The annual interest rates should be in the range of 0.00% to 8.99%." << endl; exit(EXIT_FAILURE); } cout << endl; monthly_rate = annual_rate / 100.00 / 12.0; // Ask the user for the monthly payment amount cout << "Enter monthly payment: "; cin >> payment; // Check the state of the cin input stream object. // The fail bit is set when cin fails to read input.Terminate the program when scanf fails. if (cin.fail() == true) { cout << "Programming terminating due to input error." << endl; exit(EXIT_FAILURE); } // The monthly payment amounts should be positive. else if (payment < 0) { cout << "Monthly payment amounts should be positive." << endl; exit(EXIT_FAILURE); } // The monthly payment amount entered must be greater than the first month's interest. else if (payment < (loan * monthly_rate)) { // If the monthly payment input value is not greater than the first month's interest, // display an appropriate error messageand terminate the program. cout << "The monthly payment amount entered must be greater than the first month's interest." << endl; exit(EXIT_FAILURE); } cout << endl; // Print the header for the monthly payment schedule cout << endl; cout << " Begin Monthly End" << endl; cout << " Loan Accrued Payment Loan" << endl; cout << " Month Balance Interest Amount Balance" << endl; cout << endl; // Declare the variable for the monthly interest double interest; // Declare the variable for the start of period loan balance double balance = loan; // Declare the variable for the end of period loan balanace double new_balance; // Declare the variable for the accured interest double accured_interest = 0; // Declare the variable for the accured payment double accured_payment = 0; // Using the for-loop to iterate to print the 12-month payment schedule // If the end loan balance is equal or less than 0, exit the loop for (int i = 0; balance > 0 && i < 12; i++) { // Compute the monthly interest // It makes use of round function to correct the amount into 2 decimal place interest = round( balance * monthly_rate * 100 ) / 100.0; // Accumulate the interest for the accured interest accured_interest += interest; // If the payment is larger than the sum of the balance and interest, correct the payment // to be the sum of the balance and interest if ( payment > ( balance + interest ) ) { payment = balance + interest; } // Accumulate the payment for the accured payment accured_payment += payment; // Calculate the end of period loan balance new_balance = balance - payment + interest; // Display the current period payment schedule cout << setw(5) << (i + 1) << setw(13) << fixed << setprecision(2) << balance << setw(14) << interest << setw(14) << payment << setw(14) << new_balance << endl; // Update the balance with the calculated end of period loan balance balance = new_balance; } cout << endl; // Print the total amount for the interest and payment paid cout << "Amount Total" << setw(20) << accured_interest << setw(14) << accured_payment << endl; cout << endl; }

Related Samples

On ProgrammingHomeworkHelp.com, we offer a dedicated section for C++ assignments, complete with related sample solutions to guide you through complex programming challenges. Our expertly crafted C++ samples provide invaluable insights and practical examples, ensuring you grasp key concepts effectively. Whether you're struggling with syntax issues, object-oriented programming, or advanced algorithms, our resources are designed to support your academic success. Trust us to help you navigate through your C++ assignments with ease and confidence, making your learning experience both productive and rewarding.