C++ Sami is planning to open her own store to sell appliances, electronics, and furniture. You will design various classes and write a program to manage the inventory. The program must do the...




C++ Sami is planning to open her own store to sell appliances, electronics, and furniture. You will design various classes and write a program to manage the inventory.

The program must do the following:


1. Allow entering new items into the program from the keyboard – this identifies the items Sami will sell, appliances, digital media, and furniture, and the proper inventory record created for each one. The SKU (automatic number is the best option), number on hand, description and so-on, are initialized at this time. Some of these items will be updated when receiving an order. NOTE: some data members will reside in the base class and some in the derived classes (see below), and you must provide for appropriate member functions and data.


2. Receiving an order -- this means that the number of items received is entered into the program along with it’s cost per item and other pertinent details (see below). If there is a change in the cost, the new selling price is calculated.


3. Calculate the selling price of each item from its cost based on a mark up. The mark up for appliances is 10%, for digital media is 15% and for furniture is 20%.


Price = Cost + Cost * percentage


4. Sell an item. This means that the on hand is checked, and if there is enough merchandise, the sale is recorded by decrementing the number on hand by the number sold, computing the total price, including sales tax at 9.5%. Use a constant to store the tax percentage. If there is not enough inventory, sell whatever is available and issue a message.


5. Output a report of all items on hand, including their total dollar value (not total cost). Include a warning whenever there are fewer than 10 of an item currently on hand.


For each item your inventory program must maintain the following:


1. When new items are created by using feature 1, assign an inventory number for the item.


2. For appliances, maintain the manufacturer, colour and short description.


3. For digital media maintain the title, artist/actor, playing time, and genre. Make this open ended so new classifications can be entered. A text field will do.


4. For furniture maintain the dimensions (Height Length Width), colour, and category such as: Living room, Bedroom, etc.(a text field)


5. For all items, compute price based on cost and mark up, keep count of the number on hand. The report called for by requirement 5 should output all information about each inventory item. You will need to take advantage of the capabilities of C++ classes, inheritance and overriding. Program Design:


1. Create a class called Inventory that does the inventory. All data members have to be private. Your main function and any function that it calls should use the member functions of this class for all transactions. The other classes (below) are not directly referred to in the main function.


2. Create a class called Item which will serve as a base class for each of the several derived classes for Sami’s merchandise. The classes Appliance, Digital Media, and Furniture will inherit this class.


3. The inventory class must maintain three arrays of Appliance, Digital Media, and Furniture objects to keep the inventory. Please do not use anything more sophisticated than an array.


4. Keep the program simple. I am interested in whether you can demonstrate basic competence in the use of classes, inheritance, and good design.


5. All data members in the classes Appliance, Digital Media, Furniture, and Inventory must be private. This is to assure that you use the C++ capabilities that this assignment is all about. Do not use any global variables.


6. When the user decides to quit the updated inventory information is saved back to the secondary storage to a file (i.e. inventory.txt) to give the user the option to either start fresh or continue where he/she left off at the beginning of the next execution.


NOTE: To test your project to turn in, I want to see several items of each type, appliances, digital media, and furniture created, an order received for each type item, and several sales recorded to verify the various transactions. Include at least one sale that tries to sell more of something than you have on hand to test that aspect of your program. Also include a report as per requirement 5 to complete the test. Test, test, test, and test again.


Output Example:


Main Menu:


1) To enter a new item enter 1


2) To enter an order enter 2


3) For Sale enter 3


4) For a complete report enter 4


5) To quit enter 5


New Item:


A) To add a new appliance enter A


D) To add a new digital media enter D


F) To add a new furniture enter F


R) To return to the main menu enter R


R Enter manufacturer: ……………………… Enter colour: …………………… Enter description: ………………. Enter cost: ……………………… Order: Enter SKU for new order: ………


Enter quantity received: ……….. Enter cost: ……………………… Sale: SKU: ……………………………. Quantity: ………………………… Next SKU or O to total: ………… SKU: …………………………….


Quantity: ………………………... Next SKU or O to total: …………


Receipt:


1008 2 $12.50 $25.00 (message if not enough)


1041 3 $25.00 $75.00


Total $100.00


Tax $9.50


Subtotal $109.50


Report:


SKU 1001 (Appliance)


Number on hand: 9 (Inventory is low, place an order)


Cost: $350.00


Title: Fridge


Price: $450.00


Total $ value $4050


SKU 1002 (Furniture) So on and so forth


May 19, 2022
SOLUTION.PDF

Get Answer To This Question

Submit New Assignment

Copy and Paste Your Assignment Here