{ Menu-driven programs. An important way to make programs easy to use in a text-only environment like Unix or DOS is to use menus. A menu-driven program might, for example, work like this: (1) the program prints the menu and asks the user to make a selection; (2) the user types a selection; (3) the program reads the user's selection into a variable; (4) the program calls a procedure corresponding to the user's selection; (5) go back to step 1. This program fragment performs steps 1, 3, and 5, and the user (we hope) performs step 2. Your task is to code step 4. This will involve writing a case statement inside the main program, and a "stub" procedure for each of the menu items. For example, you might write a procedure "Blues" that prints the lyrics of your favorite blues tune. The case statement will then call "Blues" whenever the user has selected option 2. The completed program should print the menu, take the user's selection, perform the requested task (I'm not sure what task is implied by the request "Howard Hughes," but you can make something up), and start over again. Once you have the program working, check to see what happens when you, as user, type some selection other than 1, 2, 3, 4, or 5. If it causes trouble, what can you do to make user typing errors less problematic? } program menu(input,output); var response : char; procedure DrawMenu; begin writeln( '1. Sell some shoes.' ); writeln( '2. Sing the blues.' ); writeln( '3. Howard Hughes.' ); writeln( '4. Kangaroos.' ); writeln( '5. Quit.' ) end; begin response := 'N'; repeat DrawMenu; writeln; write( 'Please enter your selection: ' ); readln( response ); writeln; {case statement goes here} until response = '5'; writeln( 'Bye.' ) end.