Cisco's Tires needs you to create a program to track its current customers who are getting a service done to their car. When a new customer arrives, they are given a unique 5 digit ID to track their car, and their car is placed in line (a queue) in one of the 3 garages. There is a separate queue for each garage: compact cars, full size cars, and SUV’s.
You are to write a menu driven program to help the sales clerk monitor daily activities as customers arrive, check out, and ask questions. Because there are 3 different garages where cars will be worked on, your program has to manage 3 different queues. Use the following menu for your program:
1. Receive new customer
2. Remove car from queue
3. Display all cars in a garage
4. Show the current car being worked on
5. Find customers place in line
6. Quit
Your program should continue to display the menu until option 6 is chosen.
If option 1 is chosen: the program should ask for the type of car (compact, full, suv), and for the 5 digit ID given to the customer, and that ID should be added to the appropriate queue.
If option 2 is chosen: the program should ask for the type of car, and remove the car currently at the front of the queue. If there are no cars in the queue, an appropriate message should be displayed.
If option 3 is chosen: the program should ask for the type of car the user wishes to see, and display the ID of all the cars in the queue (from front to back). If the queue is empty, an appropriate message should be displayed.
If option 4 is chosen: the program should ask the user for the type of car and display the ID of the car currently being worked on (the one in the front of the queue). If the queue is empty, an appropriate message should be displayed.
If option 5 is chosen: the program should ask for the type of car and the 5 digit ID of the car, then find the car in the queue and output the car’s place in line (Linear Search). If the ID is not found in the queue, an appropriate message should be displayed.
If option 6 is chosen: program terminates.
You can implement this program either using an array-based queue or a linked queue. Your class MUST have functions to add an item to the queue, remove an item from the queue, show the next item in the queue, find the position of an item in the queue (linear search), and check if the queue is empty. You can add any other functions you find it necessary.