This project is due in two weeks.

 

You are to create programs that keep track of inventory and shipping at a store or business of your choosing.  When items are made, they are put into LIFO inventory.  When you ship something, it comes out of inventory and goes into a shipping queue.  When an item is delivered, it is taken out of the shipping queue.  You should keep a list of all delivered items.  Users of your system should be able to do the following:

 

1.      Input an item (some name) and an amount.  The item and amount should be inserted into a stack of inventory items. 

2.      Push a button to get a list displayed of all the items and their quantities in the inventory.

3.      Push a button to take the next (top) item from inventory and put it in a shipping queue.

4.      Push a button to get a list displayed of all the items that are currently shipping.

5.      Push a button to indicate that a shipped item has been delivered and should be taken out of the shipping queue.  Shipped items are put in and taken out FIFO.

6.   Push a button to display all the things that have been delivered.

 

You are to create classes for the different data structures and nodes.  You also need a driver program that takes user input and manipulates a node object and prints output.  The driver should be written as a Java application with buttons and text input and output.

 

One way to do the application is to have two text fields for input, a text area for output, and buttons that say “add to inventory,” “display inventory,” etc.  Think about your design and draw it out before you write the code.  Also, draw your data structures before you write any code.  Draw out the operations of taking things from one data structure and putting them into another.  Think about what goes in your application and your class before you write any code.

 

Another suggestion.  Implement these in the order given.  Do not write the code for part (i) until you have finished and debugged part (i-1).

 

Honors Option  You should allow for n inventories.  The significance of n is that you must use a data structure that generalizes having inventories.  This may be an array or a list or something else.  If you have questions, ask me before starting.  When something is manufactured, you must say what inventory it is going into.  When you go to ship something, you should say what inventory it is coming from.  There will only be one shipping queue and delivery list.

 

Deliverables:

1.    all source code

2.      O( ) analysis for each of your items 1-6 above

3.      test output

4.   bring your code to class