IT 06-Programming defining diagram Exercise- George Madison University .

Programming Assignment 5/6 Scenario: IT Estates, a local real estate company has approached you to write a program to keep track of the homes the company will custom build for new owners. A new owner can request any one of the following types of homes to be built. Because the real estate company has limited resources, it can only build up to 29 homes. However, the company does not know how many homes, in total, will be built because the homes are built on demand. Home Type Cottage Victorian Tudor Revival Mansion Cost $99,955 $423,699 $777,399 $1,025,999 Create a program for use by the company’s sales team to take orders for new homes to be built. An order occurs when the user enters a home type by name (e.g. Cottage). Until the user has indicated they are finished entering home types, continue to prompt the user to enter a home type. You must validate the home type, providing an error message and re-prompting the user if an invalid home type is entered. Keep track of the number of homes that will be built for each home type. Once the user has indicated they are finished entering home types, display a well-formatted report containing a list of each home type with its associated cost, the number of homes to be built for that home type, the total cost of all homes that will be built, and the average cost of a home. Other Requirements: • • • • • Your solution must demonstrate the concept of one-dimensional arrays. Your solution must not use methods other than main. They are not required for this assignment. Your solution must not import any Java library other than JOptionPane, including java.util.Arrays. Your solution must contain appropriate validation. Try to think about what might be considered appropriate as you are designing your solution beyond what has already been explicitly provided. Your solution may not use any functions or language constructs not covered during this semester’s IT 106 without prior authorization from your instructor, even if you know other functions or language constructs. We want everyone to be on the same “playing field”, regardless of previous programming exposure, and get practice with algorithmic design to solve 1 problems (the intent of the course). Using something existing not discussed in class does not give you as much practice as solving the problem yourself. Doing this may lead to a substantial grade penalty, a grade of zero, or an Honor Code inquiry. When in doubt, ask! To Do (Check Blackboard for Due Dates): Programming Assignment 5: Solution Design 1) Create a defining diagram that shows the input, processing, and output 2) Create a solution algorithm using pseudocode 3) Show testing using the desk checking table method, to include test data, expected results, and a desk checking table. Make sure your desk checking considers multiple cases including both valid and invalid test data to prove your algorithm will work in all cases Upload a Word document containing only items above to Blackboard. Grading Criteria Requirement Points Defining Diagram with input, processing, and output 40 Efficient Solution Algorithm 40 Thorough Desk Checking Table including test data, and expected results 20 Programming Assignment 6: Solution Implementation Write a well-documented, efficient Java program that implements the algorithm you identified. Include appropriate documentation as identified in the documentation expectations document. Note: You must use the JOptionPane class for input/output. Additionally, if you use System.exit as shown in the textbook, it may only be used as the absolute last line in the program. You may not use System.exit, or any variant that exits the program in the middle of the program. The program should be designed to only exit once the algorithm has finished. Upload the .java file of the final program to Blackboard. Be careful that you do not submit a .class file instead of a .java file. Your program must successfully compile using jGrasp. Partial credit is available. Any final program that does not compile, for any reason, will receive an automatic zero. Other IDEs often place in additional code that you are unaware of, doing too much of the work for you. You are strongly discouraged from using IDEs other than jGrasp. Grading Criteria Requirement Implementation of Java Program, using efficient practices where appropriate, such as the use of constants, good variable names, no redundant code, etc. Points 70 2