OVERVIEW
This is the specification for a simple inventory program for a soft drink distributor. The distributor handles 4 brands: Coke, Pepsi, Jolt, and Sprite. The program needs to be able to read in the initial inventory, then update the inventory with all the weekly transactions, then display the final inventory.
INPUT REQUIREMENTS
1.1 The inventory on hand (number of cases - a positive integer) for each brand at the start of the week.
1.2 The transactions for the week (sales and purchases). Each transaction consists of a brand and an amount. The transactions are to be entered in chronological order, NOT grouped by brand.
1.2.1 The brand is a single character, the first letter of each brand name (C, P, J, or S).1.2.2 Assume all amounts are in case units. A positive integer value for purchases and a negative integer value for sales.
1.3 A Sentinel transaction indicating end
of data. This way the user doesn't need to know ahead of time how many
transaction there are. The character 'Q' is the value.
OUTPUT REQUIREMENTS
2.1 Title and brief directions to user.
2.2 Prompt for starting inventory
2.3 Prompt for transactions
2.4 Final Inventory title and labels
2.5 Final inventory amounts
2.6 Total number of transactions processed.
FUNCTIONAL REQUIREMENTS
3.1 Print title and directions
3.2 Print prompt for starting inventory
3.3 Obtain starting inventory amounts from user for each brand
3.4 Print prompt for transactions
3.5 Obtain all weekly transactions
3.5.1 Obtain each transaction brand and amount3.5.2 Ending with sentinel value.
3.6 Update inventory with weekly transactions
3.7 (Optional) If a sale would reduce the inventory below zero, do not update the inventory, but instead display an error message like "Not enough stock on hand to fulfill that transaction."
3.8 Display the final inventory and number of transactions.
ERROR HANDLING REQUIREMENTS
4.1 If a brand name is entered that is not valid, print a message and ignore the transaction.
USER INTERFACE REQUIREMENTS
Here is a suggested example of the user interface. Yours does not have to look exactly like this. (Note: bold faced type below is user input).
Soft Drink Inventory Processing
This program reads in the initial inventory, then updates the inventory with all the weekly transactions, then display the final inventory.
Starting Inventory
------------------
Enter the number of cases on hand for each of the following brands:
Coke : 120
Pepsi : 90
Jolt : 75
Sprite: 112
Transactions
------------
Enter brand (C, P, S, J) and then amount. The amount should be a negative integer for sales and a positive integer for purchases.
C 30
C 15
P -20
S 25
C -40
... (continue to end of data)
Q
End of Data
Final Inventory
---------------
Coke : 120
Pepsi : 90
Jolt : 75
Sprite: 120
Total transactions
processed
was: 17