CSCE Homework Help

profilentiwari20
CSCE1040Homework4-2020-2.pdf

CSCE 1040 Homework 4

For this assignment we are going to re-design and modify the code for a system to schedule passengers and drivers for rides in the Mean Green EagleLift that we started in Homework 2 and Homework 3

The Driver class will be a base class for four child classes of

Economy (2 or less Passengers), Basic (2-4 Passengers), Group (5 – 7 Passengers) and Luxury (Limo-style with amenities)

Each of the child classes will need to provide information about the available number of passenger seats within their given range, cargo capacity (luggage), and any other restrictions. The Luxury class should provide a set of notes or list of attributes listing the available amenities (TV, phone, bar, party lights, Bluetooth connections, wifi etc.). It is your choice as to what is appropriate for each class of ride, but you must provide some level of stratification or difference that is then reported when information is loaded and displayed.

There should be a virtual PrintInfo function that will print all the info for a given driver starting with the base information and then the details for the particular type. Note this function will be useful in the collection class reporting methods. It should first be declared in the base class. You may also create operator overload functions for the insertion and extraction operators if you like. You may add other data needed for your implementation as well as you will need accessor and mutator functions for the data.

Note that the Driver collection class will now be a mixed collection and will have to use run-time polymorphism for certain capabilities.

Please refer to the Homework 2 specifications for other details that must still be present for all of the various entity classes and their collections. Note that this is an upgrade or addition to the Homework 2/3 effort and not a completely new implementation.

You will need to provide an appropriate menu system that can be multi-level if you like. You will need to load and store the data as in Homework 3, but modified to

handle the inheritance relationships. This can be done automatically when the program starts and ends. You should also want to store after an add, delete or edit to make sure changes to the data are preserved.

For this design portion you will need to turn in an updated design including the same elements you turned in for Homework 2 and 3 modified to include the inheritance relationships and additional functionality and attributes. As a review this will consist of the items described below. A document set consisting of: 1. A title page with your name, assignment, course and title 2. a single class relationship diagram showing only the relationships between the entities

3. a set of ten individual class content diagrams showing the attributes and methods for each of the classes in #2

4. Step-by-Step algorithms for every method defined in every class in pseudo code. Again you can reuse homework 3 and only add the new or revised methods affected by this design change

5. A 2-3 paragraph minimum report about your experience with the redesign as well as with implementing the inheritance component of this assignment

All of these items should be gathered together, in order, in either a single PDF File, or two separate files, that you will turn in on Canvas. Then you will need to modify the code from Homework 3 to implement the new features you have designed. This will be worth approximately 70% of the total grade for this assignment. You should collect all the cpp files and h files, as well as your makefile, design and report into a single zip file. You should also include 1-2 paragraphs in your report about the development experience in addition to the section about the design (as described above). There will be point deductions assessed for not zipping your code files together and for not providing a working makefile.