Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Use c++ to creat a program to manage cars in a dealership. This will be a menu driven system. You will make a vector of

Use c++ to creat a program to manage cars in a dealership. This will be a menu driven system. You will make a vector of Dealers (there can be zero to many dealers). Each dealer can have zero to many cars on the lot, represented by not by a vector, but by a dynamic array. The following is your menu:

Read Dealers and Cars from file

Display Dealers

Choose a Dealer Number, Display Cars

Choose a Dealer Number, Add Car

Choose a Dealer, Sort cars by VIN (EXTRA CREDIT)

Write Dealers and Cars to file (EXTRA CREDIT)

Exit

Your program will be object oriented (using classes) with the following UML representing the classes:

Dealer

+ Dealer ( )

// Dont forget to add a new car pointer when you use the Dealer default / constructor

+ Dealer ( dName:string, dNumber:int)

- dealerName: string

- dealerNumber: int

- carArrayPtr: pointer to a Dynamic Car Array (Note: make sure this is set to nullptr)

- numberOfCars: int

+ setDealerName ( _dealerName:string): void

+ setDealerNumber (_dealerNumber:int ): void

+setCarArrayPtr (_carArrayPtr: Car *): void //(This is where you use the new)

+setNumberOfCars ( int _numberOfCars): void

+ getDealerName ( ): string

+ getDealerNumber ( ): int

+ getCarArrayPtr ( ): Car *

+getNumberOfCars: int

+ friend operator << (out: ostream &, Dealer: _dealer):ostream & //Print the Dealer Name and Number and Blank line for a specific dealer.

Car

- VIN:string

- make:string

- model:string

- year:int

- price:double

+ Car( )

+ Car(vVIN:string, vMake:string, vModel:string, vYear:int, vPrice:double)

+ getVIN( ):string

+ getMake( ):string

+ getModel( ):string

+ getYear( ):int

+ getPrice( ):double

+ setVIN(_VIN:string):void

+ setMake(_make:string):void

+ setModel(_model:string):void

+ setYear(_year:int):void

+ setPrice(_price:double):void

+ friend operator << (out: ostream &, Car: _car):ostream & //Print the VIN, Make, Model, Year, Price and Blank line for a specific car.

You will have four files for your program

main.cpp: this will be your driver file.

functions.h: this will contain your functions for each of the menu items.

Dealer.h: this will contain the class declarations for car and dealer including the operator <<.

Dealer.cpp: this will contain the class implementations for car and dealer.

You will be storing your dealer objects in a vector. In the main function, you will create a vector of Dealers with an initial size of zero (0). When the menu are called, you will have to check your vector and ensure that it is not empty before referring to the index number of the vector. Your Dealer vector points to a dynamic array of cars. Again, when you access the cars class you should verify that it is not set to nullptr.

You will not have any global variables.

Each menu item will have a corresponding function, and the definition of the function will be found in the file functions.h. All input/output will be done in the functions and not in main (expect asking for what menu option the user wants).

The following are the details for each of your menu options:

Read Dealers and Cars from file

Display Dealers

Choose a Dealer Number, Display Cars

Choose a Dealer Number, Add Car

Choose a Dealer, Sort cars by VIN

Write Dealers and Cars to file

Exit

Pass the vector of dealers (from main) into the function by reference. Each Dealer will have a name and number followed by the number of cars in the dealership (on separate lines). Then you will read in a Vin, Make, Model, Year and Price for each car (on separate lines). You can assume that the number of cars as well as the Vin, Make, Model, Year and Price will be complete for each car. Each dealer can have Your file format will be as follows:

Dealer Name Dealer Number 2 Car1 Vin Car1 Make Car1 Model Car1 Year Car1 Price Car2 Vin Car2 Make Car2 Model Car2 Year Car2 Price Dealer Name Dealer Number 1 Car1 Vin Car1 Make Car1 Model Car1 Year Car1 Price

Here is an example file:

John Elway Dodge

1

2

VIN123

Dodge

Ram 1500 Quad Cab

2017

45186.00

VIN456

Chevrolet

Traverse Premier SUV

2017

47868.00

Tesla Cherry Creek

25

1

VIN789

Tesla

Model X

2017 105200

Pass the vector of dealers (from main) into the function by reference. Display the Dealer Name and Number for each dealer (put a blank line between dealers). Use the << operator with cout (cout << dealer[x];)

Pass the vector of dealers (from main) into the function by reference. Display the Dealer Names and Numbers (menu #2). Ask the user for the dealer number, display all of the cars by using a for loop (from zero to size of the car array) using the << operator with cout ( cout << dealer[x].carArrayPtr[x];)

Pass the vector of dealers (from main) into the function by reference. a) Display the Dealer Names and Numbers (menu #2). b) Ask the user for the dealer number then the new car information. Follow the steps found in CSCI 1411 Lab 09 to increase the dynamic array. (Essentially you will make a new array, one bigger than the previous car array. Then you will copy everything over from the old car array to the new one. Then you will point the car pointer to the new array)

You can earn up to 20% extra credit if 1-4 and 7 work properly and you get 5 and 6 working properly.

Pass the vector of dealers (from main) into the function by reference. Display the Dealer Names and Numbers (menu #2).6. Ask the user for the dealer number. Sort the cars by vin and display them (with blank lines between each car

Pass the vector of dealers (from main) into the function by reference. Also pass in the filestream (from main) by reference. (Use a different file than your original OR make sure to close the files before overwriting). Write all of the Dealers and Cars to a separate output file in the same format as in item #1

Exit out of the program

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

Database Administrator Limited Edition

Authors: Martif Way

1st Edition

B0CGG89N8Z

More Books

Students also viewed these Databases questions