UPC receipt calculator Functional Requirements 9:33 1 Verify UPC Given a raw upc apply the Check Digit algorithm provided. If it is not verified, create an invalid item and add it to the invalid list. 2. Lookup Product Given a verified upc, see if it exists in the productDB. If not, create an invalid item and add it to the invalid list. 3. Count product Given a product, increment the itemcount in purchase list. 4. Compute total Given a product, increment the total price with the price of this product. 5. Assemble Sales Receipt Given the purchase list, format it with one item per line. For each item compute the subtotal as itemcount * price. Append the total price as the last line. 9:40 9:42 External Data Product DB is a plain text file, formatted as shown in the problem. upc list is a list of upc's provided on standard input, one per line. 9:44 9:48 Data Structures productDB is a List of products. purchaselist is a List of products and itemcounts, in order of arrival. invalidlist is a List of invalid items, in order of arrival. 9:51 6:42 System Tests The sample input and output given in the problem statement is an adequate system test. 6:43