Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Need help with this C++ course project, thanks in advanced! Create a hierarchy chart showing the logical components of your program. Modularize your code according

Need help with this C++ course project, thanks in advanced!

Create a hierarchy chart showing the logical components of your program. Modularize your code according to your chart using the practices learned this week. Your menu should now call individual modules to do the work of the program.

Examples: In the programming tutorial, add a tutorial on working with modules. Then modularize the code so that each tutorial and quiz is in a module.

Here is my code:

#include "stdafx.h"

#include

#include

using namespace std;

const int SIZE = 5;

int nMonths[SIZE];

float loanAmount[SIZE];

float totalPaid[SIZE];

float interestRate[SIZE];

float monthlyPayment[SIZE];

int id;

//process function

void process() {

float interestToAdd = 0.0f;

float remaining = loanAmount[id];

float toAdd = 0.0f;

cout << endl;

cout << "Month" << " (Interest Added)" << " (Amount Paid)" << " (Debt Remaining)" << endl;

nMonths[id] = 0;

totalPaid[id] = 0;

while (remaining > monthlyPayment[id]) {

interestToAdd = remaining * interestRate[id] / 12;

nMonths[id]++;

remaining += interestToAdd;

if (remaining > monthlyPayment[id]) {

toAdd = monthlyPayment[id];

}

else {

toAdd = remaining;

}

cout << nMonths[id] << " $" << interestToAdd << " $" << toAdd << " $" << remaining << endl;

totalPaid[id] += toAdd;

remaining -= toAdd;

}

}

//display the result function

void displayResult() {

cout << endl << "Statistics about loan. " << endl;

cout << "Initial loan amount: $" << loanAmount[id] << endl;

cout << "Total amount paid: $" << totalPaid[id] << endl;

cout << "Time to pay off loan: " << nMonths[id] << endl;

cout << "Overpay percentage: " << (totalPaid[id] / loanAmount[id]) << endl;

cin.ignore();

}

//choose letterA function

void chooseletterA() {

float Amount, rateOfIntrest, monthlyAmountToPay, totalAmount;

int lengthOfLoan;

cout << "What is the amount of the loan?:$";

cin >> Amount;

cin.ignore();

while (Amount<1) //validate

{

cout << "Amount should be greater than 0..What is the amount of the loan?:$";

cin >> Amount;

}

cout << "What is the interest rate on the loan?";

cin >> rateOfIntrest;

rateOfIntrest /= 100;

cin.ignore();

cout << "What is the length of loan?:$";

cin >> lengthOfLoan;

while (lengthOfLoan<1)

{

cout << "length of loan should be greater than 0..What is the length of loan?:$";

cin >> lengthOfLoan;

}

monthlyAmountToPay = (Amount*rateOfIntrest*pow((1 + rateOfIntrest), lengthOfLoan)) / (pow((1 + rateOfIntrest), lengthOfLoan - 1));

cout << "Your monthly loan payment amount = $" << monthlyAmountToPay << endl;

system("pause");

}

//chooseletterB function

void chooseletterB() {

float Amount, rateOfIntrest, monthlyAmountToPay, totalAmount;

int lengthOfLoan;

cout << "What is the monthly amount of the loan?:$";

cin >> monthlyAmountToPay;

cin.ignore();

cout << "What is the interest rate on the loan?";

cin >> rateOfIntrest;

rateOfIntrest /= 100;

cin.ignore();

cout << "What is the length of loan?:$";

cin >> lengthOfLoan;

cin.ignore();

Amount = monthlyAmountToPay * pow((1 + rateOfIntrest), lengthOfLoan - 1) / (rateOfIntrest*pow((1 + rateOfIntrest), lengthOfLoan));

cout << "Your total loan amount = $" << Amount << endl;

system("pause");

}

//chooseletterc function

void chooseletterC() {

float Amount, rateOfIntrest, monthlyAmountToPay, totalAmount;

int lengthOfLoan;

cout << "What is the amount of the loan?:$";

cin >> Amount;

cin.ignore();

cout << "What is the monthly amount of the loan?:$";

cin >> monthlyAmountToPay;

cin.ignore();

cout << "What is the length of loan?:$";

cin >> lengthOfLoan;

cin.ignore();

rateOfIntrest = ((monthlyAmountToPay *lengthOfLoan) - Amount) / lengthOfLoan;

cout << "Your monthly monthly rate of intrest = $" << rateOfIntrest / 12 << endl;

system("pause");

}

//chooseletter D function

void chooseletterD() {

float Amount, rateOfIntrest, monthlyAmountToPay, totalAmount;

int lengthOfLoan;

cout << "What is the amount of the loan?:$";

cin >> Amount;

cin.ignore();

cout << "What is the monthly amount of the loan?:$";

cin >> monthlyAmountToPay;

cin.ignore();

cout << "What is the interest rate on the loan?";

cin >> rateOfIntrest;

rateOfIntrest /= 100;

cin.ignore();

lengthOfLoan = (log(Amount) - log(monthlyAmountToPay)) / (log(1 + rateOfIntrest));

cout << "Your length of loan amount = $" << lengthOfLoan << endl;

system("pause");

}

//multiple choice function

void multipleChoice() {

cout << "Welcome to the multiple choice part of the program, please choose a letter: " << endl;

cout << "A: Monthly payment " << endl;

cout << "B: Loan amount " << endl;

cout << "C: Length of loan " << endl;

cout << "D: Interest rate " << endl;

char ch;

cin >> ch;

//validate the input

while (!(ch >= 'A' && ch <= 'D')) {

cout << "Invalid input..please choose a letter:(A - D): ";

cin >> ch;

}

switch (ch)

{

case 'A':

chooseletterA();

cout << "First question: Please solve for monthly payment. " << endl;

break;

case 'B':

chooseletterB();

cout << "Second question: Please solve for loan amount. " << endl;

break;

case 'C':

chooseletterC();

cout << "Third question: Please solve for length of loan. " << endl;

break;

case 'D':

chooseletterD();

cout << "Forth question: Please solve for interest rate. " << endl;

break;

}

}

int main() {

int ch;

for (int i = 0; i < SIZE; i++) {

cout << "What is the amount of the loan?:$";

cin >> loanAmount[i];

cin.ignore();

//validation amount should be greater than 0

while (loanAmount[i] < 0)

{

cout << "loan amount should be greater than 0..What is the amount of the loan?:$";

cin >> loanAmount[i];

}

cout << "What is the interest rate on the loan?:$";

cin >> interestRate[i];

interestRate[i] /= 100;

cin.ignore();

cout << "What is the desired monthly payment?:$";

cin >> monthlyPayment[i]; cin.ignore();

while (monthlyPayment[i] < 0) {

cout << " Monthly payment should be greater than 0..What is the desired monthly payment?:$";

cin >> monthlyPayment[i];

}

while (monthlyPayment[i] < loanAmount[i] * interestRate[i] / 12) {

cout << "Not a valid amount, Amount must be greater than $";

cout << (loanAmount[i] * interestRate[i] / 12) << endl;

cout << "What is the desired monthly payment amount? $";

cin >> monthlyPayment[i]; cin.ignore();

}

}

id = 0;

process();

do {

cout << endl << "************************MENU***************************" << endl;

cout << "1. Process Loan for a customer" << endl;

cout << "2. Display Result" << endl;

cout << "3. Multiple Choice" << endl;

cout << "4. Exit" << endl;

cout << "Enter your choice : ";

cin >> ch;

system("pause");

switch (ch) {

case 1:

cout << "What is the customer id you want process its data [1-5]: ";

cin >> id;

cin.ignore();

//validation amount should be greater than 0

while (id < 1)

{

cout << "The customer id should be whithin [1-5] included, please enter new value: ";

cin >> id;

}

id = id - 1;

process();

break;

case 2:

displayResult();

break;

case 3:

multipleChoice();

break;

//exit function

case 4:

cout << "Thank you";

return 0;

default:

cout << "Entered Wrong Keyword.... Re-enter Again";

break;

}

} while (ch != 4);

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Relational Database And SQL

Authors: Lucy Scott

3rd Edition

1087899699, 978-1087899695

More Books

Students also viewed these Databases questions

Question

Refer to Example 10.18 and find a 90% confidence interval for /0.

Answered: 1 week ago

Question

1. Identify three approaches to culture.

Answered: 1 week ago

Question

2. Define communication.

Answered: 1 week ago

Question

4. Describe how cultural values influence communication.

Answered: 1 week ago