Programming Project Unit 4

Unit 4 – Creating Methods

Since you have created the data objects for Harbor View Mooring, you now need to create processes associated with each object. In order to keep with good object-oriented practices of implementation hiding and program modularization, all processes related to an object (class) must be kept in a discreet method, within the object’s Class definition file. So, your job is to create Methods that accomplish the following tasks.

Assumption: Each customer will only be owner of one boat and will only rent one slip.

You are expected to follow the “General Directions” found in the “Course Project Instructions” link on our course page.

Customer Class:

(1) Use the Customer class and array you created in Unit 3. (See Note #1 in Programming Notes below.)

(2) Create a Method in the Customer Class file that will sort the Customers by ID number when called from the main program. To do this, you will need to use an Interface (using the iComparable method) as described in the programming notes below. (See Note #2 in Programming Notes below.)

Boat Class:

(1) Use the Boat class and array you created in Unit 3.

(2) Each year, a customer must pay an insurance premium to HVM  based on a fixed amount (determined by HVM) and the value of their boat. Create a Method in the Boat Class file called, “BoatInsurance”. This Method will receive a fixed amount and a percentage (floating point number) as parameters (input by the user) and will return the insurance premium due from the owner of this boat. (The insurance premium is the fixed amount plus the percentage of the boat’s value; the fixed amount and percentage are both supplied by the user.) In keeping with the OO principles of Abstraction and Reusability, this Method will be in the Boat Class file.

Slip Class:

(1) Use the Slip class and array you created in Unit 3.

For Unit 4, the following tasks need to be demonstrated using the Methods you have created:

Use the Interface you created in the Customer class to sort the customers by ID number.
Print Customer information about each customer in sorted order. You can either print all information (fields), or print customer ID, last name, first name, boat number, and slip number (excluding address and phone number).
Continuously prompt the user for a customer number; while user enters a valid customer number, present customer name, boat ID, and slip ID. Tell the user if they enter an invalid customer ID. Continue prompting the user until they indicate they are finished.
Prompt the user for a boat ID;
if the boat ID is valid, return the value of the boat (using “getter” Methods from the Boat class). (See Note #3 in Programming Notes below.) and
ask the user if they want to calculate the yearly boat insurance premium;
if they do, prompt them for a fixed amount and a percentage, and then return the insurance premium amount. (For this task you should use the BoatInsurance  method from the Boat class.)
Print out the insurance premium amount.
(If they enter an invalid boat ID, inform them of such.)
(No need to prompt the user for more boat IDs; just demonstrate this function once in your program; i.e. only ask for one boat ID, then continue on in the program.)

Prompt the user for a slip ID; if the slip ID exists, return the slip’s monthly rental amount,
and tell whether the slip is rented or not (using “getter” Methods from the Slip class). (See Note #3 in Programming Notes below.)
Ask the user if they want to change the monthly slip rental amount; if they do, then prompt them for the amount and update the slip rental amount (using “setter” Methods from the Slip class).
Print all the new slip information (at least slip ID and rental amount) to verify to the user that the slip rental amount was updated. (No need to prompt the user for more slip IDs; just demonstrate this function once in your program; i.e. only ask for one slip ID, then continue on in the program.)
(If they enter an invalid slip ID, inform them of such.)
(No need to prompt the user for more slip IDs; just demonstrate this function once in your program; i.e. only ask for one slip ID, then continue on in the program.)
No need to do advanced error checking; for this exercise we will assume that if the customer exists, then the slip and boat numbers also exist, even though in real life this might cause our program to encounter errors.

Unit 4 Programming Notes:

Because you are using the same Classes you created in Unit 3 (and will be instantiating your objects with data you have already created), you should copy your Visual Studio solution to create your Unit 4 Project. You can then add Methods to your Class files for Unit 4. (As in Unit 3, even though you will be submitting four separate .cs files, it is suggested that you create them all as one Visual Studio Project, if that is what you are using for your C# programming.)
For sorting “objects” by ID, you need to create an Interface using the iComparable.CompareTo() method in the Class file as explained on page 286 ff. (This same process could be used to sort by name or by any other field.)
In order to access elements of an object individually, you will need to assign “getters” and “setters”, and set their protection levels properly. Consider using the auto-implemented property as explained on pp. 256-259.

Unit 4 Deliverables:

A customer Class file with indicated Methods defined.
A boat Class file with indicated Methods defined.
A slip Class file with indicated Methods defined.
A main C# test program that carries out the processes indicated above.

Upload Instructions:

Select the Add Submission button below. Click Add, located in the top left hand corner of the File Submission box. The File Picker window will appear. Click Upload a file and then select the Browse button. Navigate to your file location. Once the file is located, select it and then select the Open button, the Upload this file button, and then the Save changes button. Click Submit Assignment to complete the upload process. Select Send for marking.

Calculate the price
Make an order in advance and get the best price
Pages (550 words)
$0.00
*Price with a welcome 15% discount applied.
Pro tip: If you want to save more money and pay the lowest price, you need to set a more extended deadline.
We know how difficult it is to be a student these days. That's why our prices are one of the most affordable on the market, and there are no hidden fees.

Instead, we offer bonuses, discounts, and free services to make your experience outstanding.
How it works
Receive a 100% original paper that will pass Turnitin from a top essay writing service
step 1
Upload your instructions
Fill out the order form and provide paper details. You can even attach screenshots or add additional instructions later. If something is not clear or missing, the writer will contact you for clarification.
Pro service tips
How to get the most out of your experience with Lets Write For You
One writer throughout the entire course
If you like the writer, you can hire them again. Just copy & paste their ID on the order form ("Preferred Writer's ID" field). This way, your vocabulary will be uniform, and the writer will be aware of your needs.
The same paper from different writers
You can order essay or any other work from two different writers to choose the best one or give another version to a friend. This can be done through the add-on "Same paper from another writer."
Copy of sources used by the writer
Our college essay writers work with ScienceDirect and other databases. They can send you articles or materials used in PDF or through screenshots. Just tick the "Copy of sources" field on the order form.
Testimonials
See why 20k+ students have chosen us as their sole writing assistance provider
Check out the latest reviews and opinions submitted by real customers worldwide and make an informed decision.
11,595
Customer reviews in total
96%
Current satisfaction rate
3 pages
Average paper length
37%
Customers referred by a friend
OUR GIFT TO YOU
15% OFF your first order
Use a coupon FIRST15 and enjoy expert help with any task at the most affordable price.
Claim my 15% OFF Order in Chat