For Programming Assignment 3 you will be creating a program to manage a car dealership. This will again be a menu driven system. The following is your menu:Display InventoryAdd a vehicleUpdate a vehicleDelete a vehicleSort inventory by VINSearch inventory by MakeRead inventory from fileWrite inventory to file and exitNotes:When reading inventory from a file, the dealer number must be placed in a pointer to a Dealer.When writing inventory to a file, you MUST use the >> operator.Your program will be class based with the following UML representing the classesDealer- dealerNum: int+Dealer( )+getDealerNum( ):int+setDealerNum(iDealerNum:int):voidVehicle- VIN:string- make:string- model:string- year:int- price:double-dealer: dealerType * (pointer to a dealerType) + Vehicle(iVIN:string, iMake:string, iModel:string, iYear:int, iPrice:double)+ Vehicle( )+ getVIN( ):string+ getMake( ):string+ getModel( ):string+ getYear( ):int+ getPrice( ):double+ setVIN(iVin:string):void+ setMake(iMake:string):void+ setModel(iModel:string):void+ setYear(iYear:int):void+ setPrice(iPrice:double):void+ friend operator << (ostream&:out, const Vehicle &:vehic):ostream&You will have four files for your program (Use these file names!): main.cpp, functions.h, vehicle.h, vehicle.cpp.main.cpp: this will be your driver file.functions.h: this will contain your global functions for each of the menu items (display, addVehicle, deleteVehicle, updateVehicle, operator << etc).vehicle.h: this will contain both class declarations and the operator << function.vehicle.cpp: this will contain both class implementations.You will be storing your vehicle objects in avector. In the main function, you will create a vector of vehicles with an initial size of zero (0). When the menu options display, delete, edit, sort, or search are called, you will have to check your vector and ensure that it has a vehicle in it before the function continues (error checking).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. Each function will only have one parameter, the vector. All I/O 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:You will display each vehicle, using the following format:Vehicle: #VIN: VVVVMake: MMMMModel: MMMMYear: YYYYPrice: $D.CCDealer: #The bold face letters represent the values for the individual vehicle, and it doesn’t have to be bolded. Notice the tab stop between the label and the value. Also notice that there is a dollar sign and decimal for the price. Lastly, for Vehicle: #, the pound sign represents the vehicle position number in the vector (starting at 1 not 0), which will be 1, 2, 3 … and so on.You will ask the user for all of the information to add the vehicle and then you will add it to the vector.You will display the vehicles and then ask the user which vehicle to edit; they will give you the index number (starting at 1). Check to ensure they gave you a valid entry, then prompt for which item they want to edit (year, make, model, price, or VIN). Once they make their selection prompt for the new information, then return to the main menu.You will display the vehicles and then ask the user which vehicle to delete: they will give you the index number (starting at 1). You will then check to ensure they gave you a valid entry and then remove that vehicle from the vector.You will sort the vector by VIN number (when sort is done, the vector in main will be sorted by VIN number).You will ask the user for a make, then search the vector for that vehicle. You will return the first matching entry’s index number or an appropriate message if not found.You will read the inventory from a file called inventory.txt, which is NOT provided for you (you will need to make your own to start with). The data is stored in the same order as listed above and it is newlines is a change to the requirements for PA3: First, Rename Dealer *dealerType to Dealer * dealerPtr- This will help understanding when you are working with objects that have values or pointers (memory addresses to objects) Next, Inside your Vehicle class- Place Dealer *dealerPtr under the public: area- This will allow you to say dealerPtr->dealerNum directly…which is a lot cleaner (and easier) than using get and set variables. This means you do NOT have to write a getdealerPtr( ) member function. You WILL need to write getdealerNum and setDealerNum functions inside the dealer class becuase dealerNum will still be private. I’ll have more to recommend in another post.
Are you looking for a similar paper or any other quality academic essay? Then look no further. Our research paper writing service is what you require. Our team of experienced writers is on standby to deliver to you an original paper as per your specified instructions with zero plagiarism guaranteed. This is the perfect way you can prepare your own unique academic paper and score the grades you deserve.
Use the order calculator below and get started! Contact our live support team for any assistance or inquiry.[order_calculator]