Please help with the following as it relates to the existing code (separate attachment)
Instead of getting the product names and prices from the standard input, enhance the program to read it from a file instead. Do not hard-code the filename within the program; ask the user to enter it instead. Also, enhance the program to support up to 100 product entries. Note that each line of input starts with a new field "product code", so define a new array to store the product codes as well. Within the checkout procedure's loop, instead of listing all the products and asking the user to select one by the index, ask the user to input a product code and search for it in the product code array to find the corresponding product. Please include comments throughout the code. Also, please provide a flowchart of the code. Thank you.
Example of what it should look like (User inputs in Red):
Grocery Checkout Program
Enter the input filename: data.txt
Input: 9516 1.99 Apples
Input: 9234 0.99 Oranges
Input: 9745 1.19 Tomatoes
Input: 4114 0.49 Bananas
Input: 2385 1.49 Peanuts
Input: 9145 0.49 Cucumbers
Input: 3498 8.99 Cherries
7 entries read.
C for Checkout, X to exit: C
Enter the product code or 0 to complete checkout: 1234
Invalid product code. Try again.
Enter the product code or 0 to complete checkout: 9745
Enter the weight: 10.5
Enter the product code or 0 to complete checkout: 3498
Enter the weight: 5.8
Enter the product code or 0 to complete checkout: 0
Total: $ 64.64
Discount: $ 3.23
Amount due: $ 61.41
C for Checkout, X to exit: C
Enter the product code or 0 to complete checkout: 9145
Enter the weight: 4.2
Enter the product code or 0 to complete checkout: 2385
Enter the weight: 5.2
Enter the product code or 0 to complete checkout: 4114
Enter the weight: 5.6
Enter the product code or 0 to complete checkout: 0
Amount due: $ 12.55
C for Checkout, X to exit: X
Attachment:- groceryweek4.zip