You have been hired by a local smoothie shop to write a program that will calculate the cost of a smoothie order. The shop sells four types of smoothies in three different sizes: Small (20 oz), Medium (32 oz) and Large (40 oz). Your program should use a menu for the type of smoothie and a second menu for the smoothie size. Calculate the total cost of the order including tax and display a bill for the smoothie. See the Sample Output. The sales tax rate is 4.5\%. Use named constants to hoid the cost per ounce of each of the products and the sales tax rate. Use the constants in your calculations and wherever else they are appropriate in your program. Project 3 is a continuation of Projects 1 and 2 . For this part of the project, you will modify your code from Project 2 to make the program modular. Instead of having one long main function that contains all the statements necessary to solve the problem given in previous projects, you must write several smaller functions that each solve a specific part of the problem. These small functions should then be executed in the correct order to implement a complete solution. The named constants you used in previous projects should now be made global so you won't have to pass those values to any function. In addition to the main function, your code must include the specified functions. These functionss must be written exactly as specified to avoid a major error penalty (1 major error per incorrect function). Make sure your program uses the values returned from your functions. Any functions that need input to perform a task will have to accept arguments. Global variables are prohibited. Steps: 1. Make all of your named constants global. 2. Define prototypes and define the following functions: Function 1 - displayStartMenu A void function that only displays the first menu. See Sample Output for format. Function 2 - determineCostPerOz A double returning function that accepts the user's menu choice for type of smoothie and returns the price per ounce. Function 3 - determineNumberOunces An integer returning function that accepts the user's menu choice for size of smoothie and returns the number of ounces. Function 4- calcSmoothieSubtotal A double returning function that accepts the price per ounce and the number of ounces purchased and returns the price of the smoothie. Function 5- calcSalesTax A double returning function that ONLY accepts the price of the smoothie and returns the sales tax. Function 6- calcCostBill A double method that accepts the price of the smoothie and the sales tax and returns the total amount owed. NOTE: All functions must be coded as instructed above. Modifying the functions (meaning adding r removing parameters, changing the return type of the function, etc...) will count as a major error .e., one major error deduction for each function that is modified.) The functionality for Project 2 must be maintained, just enhanced to include the function calls specified above. The start menu must still give the user the ability to process a single order manually, process multiple orders, or quit the program. For this new menu only, you must validate the user's menu choice so that only values of 1,2 or 3 are accepted and users have an unlimited number chances to enter a valid menu choice. Your program must continue to run until the user chooses the "quit" option from your menu. Previous Project Steps: 1. Add a menu to offer the user a choice of processing a single order, processing multiple orders, quit the program. This menu should be the first thing displayed when your program begins executing. The menu format should match the one in the Sample Output. 2. Allow the user to continue making menu choices until they choose the option to quit. Always display the menu before prompting the user for a menu option. Properly handle an invalid menu choice. The user should have an unlimited number of chances to enter a valid menu choice. 3. Add functionality to display randomly generated smoothie orders. When the user selects the option to process multiple orders, bills should be created and displayed for every entry. The user should be asked to enter the number of orders they would like to make, then random numbers should be used to generate the smoothie type and the size. Each bill generated should display the order number, smoothie type for the order, the size of the smoothie, the subtotal of the smoothie, the sales tax for the smoothie, and the total cost for the order. See the Sample Output for what each bill must contain. The example contains 5 records, but your program must be able to process any number of records based on the number of orders the user chooses. Validate the input of the number of orders so that the user must enter at least 1 order and no more lehwe to the Smoothest Smoothie Shop lain Menu 1 - Process a Single Order 2 - Process Multiple Orders 3 - Quit Enter choice of action: 1 choose your smoothie flavor: 1 - Banana (\$0.62 / oz) 2 - Strawberry \( (\$ 0.60 / \mathrm{oz}) \) 3 - Mango (\$0.48 / oz) 4 - Blueberry (\$0.57 / oz) Enter choice of smoothie: 1 Choose your smoothie size: 1 - Small (20 oz) 2 - Medium (32 oz) 3 - Large (40 oz) Enter choice of size: 3 Enter the name of the customer: Cole Den. Order :2 Subtotal: \( \$ 18.24 \) Sales Tax: \$0.82 Total: \$19.06 Order \( \$ 3 \) Subtotal: \( \$ 22.80 \) Sales Tax: \( \$ 1.03 \) Total: \( \$ 23.83 \) Order 184 Subtotal: \( \$ 24.80 \) Sales Tax: \( \$ 1.12 \) Total: \( \$ 25.92 \) Order 45 Subtotal: \$12.40 Sales Tax: \( \$ 0.56 \) Total: \$12.96 Main Menu 1 - Process a Single Order 2 - Process Multiple Orders 3 - Quit chosid 0:34/1:25.