You will design a program that manages the inventory of an electronics store. You will need to use a number of concepts that you learned in class including: use of classes, use of dictionaries and input and output of comma delimeted csv files.

Input:

  • ManufacturerList.csv -- contains items listed by row. Each row contains item ID, manufacturer name, item type, and optionally a damaged indicator
  • PriceList.csv -- contains items listed by row. Each row contains item ID and the item price.
  • ServiceDatesList.csv - contains items listed by row. Each row contains item ID and service date.

Example ManufacturerList.csv, PriceList.csv and ServiceDatesList.csv are provided for reference. Your code will be expected to work with any group input files of the appropriate format. Manufacturers can and will likely be different as will the items.

You can reuse parts of your code from Part 1.

Required Output:

1) Interactive Inventory Query Capability

  • Query the user of an item by asking for manufacturer and item type with a single query.
    • Print a message("No such item in inventory") if either the manufacturer or the item type are not in the inventory, more that one of either type is submitted or the combination is not in the inventory. Ignore any other words, so nice Apple computer is treated the same as Apple computer.
    • Print "Your item is:" with the item ID, manufacturer name, item type and price on one line. Do not provide items that are past their service date or damaged. If there is more than one item, provide the most expensive item.
    • Also print "You may, also, consider:" and print information about the same item type from another manufacturer that closes in price to the output item. Only print this if the same item from another manufacturer is in the inventory and is not damaged nor past its service date.
    • After output for one query, query the user again. Allow 'q' to quit.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.