A shop inventory manager

The problem

Build a program that tracks a shop's products, stock levels and sales, and produces reports.

Requirements

Technologies

Step by step

  1. Write and test the Money class with its operators.
  2. Write Product with checked member functions for selling and restocking.
  3. Store products in a map, and add commands to add, sell, restock and remove them.
  4. Write the reports, sorting copies of the products with comparison functions.
  5. Write a small class template, such as a top-N list, and use it in a report.
  6. Report every bad command with an exception, caught in the command loop.
  7. Test selling out, unknown codes, and a report with no products.

Expected result

A working inventory manager that keeps exact amounts of money and never sells stock it does not have.

How it is evaluated

Ways to improve it