Implement a streaming data servicer management program can be used as a prototype to schedule the availabilityof media for a streaming data service provider. Your program will allow the scheduler (or user) to enter theproperties associated with various types of streaming media (e.g. movies, music, etc.). The program will manage alist of properties for each streaming data product as a node within a single linked list stored in memory (this can bea global variable for simplicity). The program must use the “list” API in the C++ standard template library (STL).The program must implement at least one class that will hold the following variables (input validation is onlyrequired where indicated):2
entryID — A string variable that will hold an automatically generated 10-characterstring as the entry identifier. The string must be in the form LLL-NNNLL,where L is a character from A to Z, and N is a number from 0 to9. For example: HEJ-268-UY. The entryID is a unique identifier foreach streaming product and repeats are not allowed.
productType — A string variable that indicate the type of streaming content. Validcontent items are: movie, music, television, news, and radio.Input Validation Required: The program must re-prompt the user if theentered product type does not match one of the valid content items.
title – A string variable to hold the title of the streaming entry. Note thatspaces between words must be allowed so that all of this informationcan be entered.
description – A string variable to hold a brief description of the streaming entry.Again that spaces between words must be allowed so that all of thisinformation can be entered.
durationTime – A string variable to hold the playing time for the streaming dataproduct. The provided time must be in the form hh:mm:ss, where hhis the number of hours (00 – 12) and mm is the number of minutes (00– 60), and ss is the number of second (00 – 60).Input Validation Required: The program must re-prompt the user if theentered duration time does not match the above format.
rentalPrice — A float variable to hold the price of the streaming product.
dateAvailable – A string variable to hold the date that the media will be available. Theentered date will be in the form mm/dd/yyyy.
daysAvailable – An integer variable to hold the number of days that the media will beavailable.Provide the appropriate methods to set and get the data for each of these class variables. For examplesetTitle(string title) and string getTitle().
The BookInventory provides an example on how this can bedone. In addition, the main program must provide the following functionality:
1. When the program is first started, it must read a data file called media_list.dat. The program will notprompt the user for the name of the data file. The name of the file must be hard-coded in the program.If the file exists, the program will load the data for each media type into the global linked list. If the filedoes not exist, the program will start with an empty linked list
.2. The program will provide a simple text-based user interface that manages the all of the schedule mediawithin a linked list. Each entry must be placed in linked list as an object that holds all of the informationassociated with it as mentioned above. The user interface will allow the user to perform the following:
(a) Display Content – displays all of the scheduled media within the linked list along with theirassociated attributes. In addition, this option must print the total number of scheduled entrieswithin the linked list and the total rental prices for all of the scheduled.
3(b) Enter Media Item – allows the user to enter all of the fields associated with a given media item,except for the entryID, which will be automatically generated by the program as previouslymentioned. After the fields are entered, the program will place the media object into the globallinked list.
(c) Delete Media Item – allows the user to delete a media item from the linked list using theentryID as the key. The program must display a message if the provided entryID is not foundin the linked list.
(d) Search for Media Item – allows the user to find a media item. The program will prompt theuser to enter the entryID and will display all of the fields associated with the given media itemif it is found. The program must display a message if the item is not found in the linked list.
(e) Edit Media Item – allows the user to edit the fields for a given media item that is in the linkedlist (except for the entryID). The program must prompt the user to enter the entryID as thekey to find the item to edit. Print a message if the media item is not found in the linked list. Forsimplicity, the program may re-prompt the user to re-enter all of the fields associated with thegiven media item; but again, it must reuse the entryID value.
(f) Exit System – before the program exits, it must save all of the data in the linked list to the datafile. I recommend using a standard text file with one field per line. At this point, if the file doesnot exist, the program will create i
Hi there! Click one of our representatives below and we will get back to you as soon as possible.