logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

your program will allow you to create loans for multiple people, and store these amortization tables in a 3‐dim array.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

General Overview: An amortization schedule shows the month‐to‐month state of a loan as a payee makes payments on interest and principle. Generally, your program will allow you to create loans for multiple people, and store these amortization tables in a 3‐dim array

 Requirements and Grading Rubric: This is a complex program that will test your knowledge on all concepts we have covered so far. You will be working with Methods, as well as with Multi‐ dimensional arrays in this assignment. Make sure you understand all the major concepts from these chapters and the associated in‐class lectures.

 

  • At a minimum, you must implement the methods as listed in the Pseudocode

You may create more if you wish/need.

  • Your program contains no compile or run‐time

  • Loan customer names must be stored in the two‐dimensional array nameTable (as shown below). Customer amortization schedules must be stored in the three dimensional array amortDB (as shown below)

  • The populateAmort() method must be able to handle any loan, interest, and lifetime inputs, along with references to the amortDB and nameTable arrays, and the input of what position in the amortDB to store the new schedule at. You will account for both printing it to the screen and storing the data for each amortization schedule in the three‐dimensional array

  • Your program must not contain any logic errors. You must properly traverse the two and three‐dimensional arrays that store your customer

    • When adding a new customer, you must split and reverse their name using the splitName() method, and add this at a new empty position in the nameTable[][] array (Meaning, you will write the code that will traverse the array searching for a new empty spot, and once found, the lastname and firstname will be inserted into this empty spot at column locations 0 and 1,

    • When adding a new loan schedule for a new customer, you will add the new schedule at the same position in the amortDB[][][] array that you added the new name at in the nameTable[][] Meaning: These two arrays will be parallel to each other. If you have three names in nameTable then there should be three schedules stored in amortDB[][][], and at positions 0, 1, and 2 in each, respectively. populateAmort() should be used for generating the new schedule and saving it into amortDB[][][]

    • When updating/changing a schedule for a customer, you will call

populateAmort() at the position you are updating and have it run using the new

 

loan, APR, or lifetime figures, and it will re‐populate the amortization schedule at that location (overwriting the old values for the new at the pre‐existing position).

Method Hierarchy: (Solid Thin Arrows: Dependencies)

Program will loop at menu after all processing unless user chooses “Exit” option

Listing of main(): (This is all the code you should have in your main() method)

Pseudocode for each method:

Here I am giving you the actual Method Definition’s Header that will use in your code, then I give you some pseudocode for how each method will work. Take note of the parameters passed in and any return values for the methods. Your parameters will tell you what data/value inputs you can see and work with in each method. Your return types (if not ‘void’) will tell you what you need to send back to the calling code. 

public static void handleLoanMenuChoice(int menuChoice, double[][][] amortDB,

String[][] nameTable)

Swtich on menu choice.

{

Case 1: call addLoan(…); Case 2: call adjustLoan(…);

Case 3: call printAmort(…chooseCustomer() ); Default: Prompt for invalid menu choice.

}

 

public static void printAmort(double[][][] amortDB, String[][] nameTable, int amortTablePosition)

 

(Accepts the position of the amortization table to print as a parameter input)

Print out “Amortization schedule for” with lastname, firstname concatenanted on end.

Print out schedule column headers

 

for (i=0; i<amortDB[parameter position].length;i++

{

print out the four columns for each row in the schedule selected by amortTablePosition in amortDB[][][]

}

public static void addLoan(double[][][] amortDB, String[][] nameTable)

Prompt and capture customer name

call splitArray() and capture the returned single‐dimension String[] array in a String[] array

call nameTableFreePosition() and capture the returned integer in a variable for the new empty position in both amortDB[][][] and nameTable[][]

Prompt and capture loan amount Prompt and capture APR

Prompt and capture loan lifetime.

call populateAmort() and pass to it references to amortDB, nameTable, as well as the new position number, the loan amount, APR, and loan lifetime.

 

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Husnain SaeedComputer science

609 Answers

Hire Me
expert
Atharva PatilComputer science

998 Answers

Hire Me
expert
Chrisantus MakokhaComputer science

627 Answers

Hire Me
expert
AyooluwaEducation

976 Answers

Hire Me

Get Free Quote!

285 Experts Online