Language (or Software): C++
Create simple store inventory tracking system will use a global linked list in memory to manage the inventory for the items on-hand within a store. Your program must use of the “list” API in the C++sta ndard template library (STL). Your program must keep track of a list of inventory items in a global linked list data structure and must implement at least one class, which will hold the following class variable:
An integer variable to hold the Stock Keep Unit (SKU) number for the item. This must be a randomly generated number that consists of exactly six digits. Duplicate entries are not allowed.
A string variable to hold the name of the item.
An integer variable to hold the number of items in stock.
A double variable to hold the price of an individual item.
A string variable to hold the date that the item was last ordered. The entered date must be in the form mm/dd/yyyy. If the user enters an invalid date format, print an error and re-prompt the user to enter the date in correct format.
Provide the appropriate accessor methods to set and get the data for these class variables. For example getDateLastOrder() and setDateLastOrder(string dateLastOrdered). The main program must provide the following functionality:
1. When the program is first started, it must read a data file called inventory.dat. If the file exists, the program will load the data for each item record into the global inventory linked list data structure.
2. When the program exits, it must save all of the entries within the global linked list into the inventory.dat data file. At this point, if the file does not exist, the program will create it.
3. Provide a simple text-based user interface to allow the user to operate on the inventory linked list. Note that each item record must be placed in a global linked list that holds all of the information for each item in inventory. The program interface will allow the user to do the following:
(a) Enter an item – allows the user to enter all fields except the SKU number field, which
will be automatically generated random six-digit number. After the data fields are entered, the program will place the record in the global linked list.
(b) Search for an item – allows the user to search for an item based on a user provided
SKU number. Display a message if the item is not found in the inventory linked list.
(c) Modify an item – allows the user to modify any of the fields for an item (except for
the SKU number) in the linked list for given record as indicated by the SKU number.
Display a message if the item is not found in the inventory linked list.
(d) Delete an item – allows the user to delete an item from the inventory linked list using
the SKU number as the key. Display a message if the item is not found in the
inventory linked list.
(e) Display inventory – displays all of the items in the linked list. After displaying all of
the items, the program will provide a total cost of the inventory based on the quantity
and price for each item.
(f) Exit program – Saves all of the items in the inventory and then exists the program