You are going to revise the ticket-processing program (Program #5) to make it a more professional program, one that will be more representative of commercial program design. You have now studied the use of additional functions to aid main in the overall processing. Real computer programs consist of many of these functions. Some are pretty small, intended to perform a simple but very important calculation. Others are a bit larger in scope. For this program you will need to revise Program #5 to incorporate such functions.
Since Program #5 is the background for this program, you will definitely want to have its directions handy. I will leave out many of the details that you can glean from Program #5, and simply concentrate on the changes required. Essentially, when you have this program finished, it should perform nearly the same as Program #5 did. Of course, you might want to improve some of its look and feel, but the ticket-selling operation should still work the same.
Use the following functions by name in your design for this program. If you wish to use more, thatâ€™s OK, as long as you include these as well. Hint: you will find it easiest just to accumulate all the final totals in main.
main Your central loop will be here, as well as a lot more. Use the other functions for
their specific purposes.
get_ticket_type Present a menu of the three ticket types and an option to quit. Input the userâ€™s choice
and make sure it is a valid choice. If it is invalid, then ask for another choice. Keep
asking until the user enters a valid ticket type. Return to main the userâ€™s choice.
find_ticket_price Receives the ticket type and returns the price of one ticket, including free tickets!
apply_discount Receives the ticket cost, applies the discount, and returns the discounted cost.
disp_purchase Displays the information for one customer purchase: the type of ticket(s) purchased;
how many were purchased; and the cost of the purchase. (If the cost is the discount
cost, only show that, not the original cost.)
disp_final_report Format and display the final numbers. See the totals required to be displayed and an
example report in the Program #5 directions.
Before displaying the final report, you must clear the screen, so the final totals will look great! Your final results must be laid out in a business-like report with headings, etc. A simple bunch of statements, like â€œTotal number of tickets sold: 1345â€ will not be acceptable.
This C++ solution should be Program6 Solution name. Zip the solution for submitting, as usual.
TURN IN: a data dictionary for this program, a complete flowchart, and the zipped solution directory. Submit everything using the Dropbox in D2L.
EXTRA CREDIT (10 pts)
How much money did we â€œloseâ€ by selling some tickets at a discount? After the final report, display how many tickets of each type that were purchased with discount coupons, and also display how much more money we would have made if we hadnâ€™t accepted the coupons at all. (We may get greedy and cancel this program if it cuts too much into our revenue!)