Programming Fundamentals/Practice: Multiway Selection

Questions, exercises, problems, etc. that support this chapter in the "Programming Fundamentals - A Modular Structured Approach using C++" collection/textbook.

Learning ObjectivesEdit

With 100% accuracy during a: memory building activity, exercises, lab assignment, problems, or timed quiz/exam; the student is expected to:

  1. Define the terms on the definitions as listed in the modules associated with this chapter.
  2. Identify which selection control structures are two-way selection and which are multiway selection.
  3. Understand, define and/or explain case, switch and nested if then else.
  4. Be able to write pseudo code or flowcharting for the case control structure.
  5. Be able to write C++ source code for a case structure using equality and listed values (switch with break to act like a case structure).
  6. Be able to write C++ source code for a case structure using ranges of values or floating-point values (nested if then else to act like a case structure).
  7. When feasible, be able to convert C++ source code from switch acting like a case to nested if then else and vice versa.

ExercisesEdit

Exercise 1Edit

Evaluate the following Logical Boolean expressions:Edit

  1. 25 > 39 || 15 > 36
  2. 19 > 26 || 13 < 17
  3. 14 < 7 && 6 <= 6
  4. 4 > 3 && 17 >= 7
  5. ! true
  6. ! (13 == 7)
  7. 9 != 7 && ! 1
  8. 6 < && 8

Miscellaneous ItemsEdit

Link to: Manipulation of Data Part 3

Lab AssignmentEdit

Creating a Folder or Sub-Folder for Chapter 12 FilesEdit

Depending on your compiler/IDE, you should decide where to download and store source code files for processing. Prudence dictates that you create these folders as needed prior to downloading source code files. A suggested sub-folder for the Bloodshed Dev-C++ 5 compiler/IDE might be named:

  • Chapter_12 within the folder named: Cpp_Source_Code_Files

If you have not done so, please create the folder(s) and/or sub-folder(s) as appropriate.

Download the Lab File(s)Edit

Download and store the following file(s) to your storage device in the appropriate folder(s). You may need to right click on the link and select "Save Target As" in order to download the file.

Download from Connexions: Lab_12a.cpp

Detailed Lab InstructionsEdit

Read and follow the directions below carefully, and perform the steps in the order listed.

  • Compile and run the Lab_12a.cpp source code file. Understand how it works.
  • Copy the source code file Lab_12a.cpp naming it: Lab_12b.cpp
  • Convert the nested if then else to a switch with breaks.
  • Build (compile and run) your program.
  • After you have successfully written this program, if you are taking this course for college credit, follow the instructions from your professor/instructor for submitting it for grading.

ProblemsEdit

Problem 12a – InstructionsEdit

Flowchart the following pseudocode:

Example 1: pseudocodeEdit

Case of shoe_size
    4 to 6    Display "Small."
    7 to 9    Display "Medium."
    10 +        Display "Large."
Endcase

Problem 12b – InstructionsEdit

The "Flip-Flops" is a unique shoe store that only sells flip-flops. Adult shoe sizes less than 4 are handled in the children’s department, thus we don’t need to concern ourselves with sizes less than 4. Half shoe sizes are to be rounded down, thus the prompt to the user that happens before this case structure will have addressed that issue. The variable shoe_size will be an integer value between 4 and 1,000,000,000 (one billion).

Write C++ source code for the following pseudocode:

Example 2: pseudocodeEdit

Case of shoe_size
    4 to 6    Display "Small."
    7 to 9    Display "Medium."
    10 +        Display "Large."
Endcase

Problem 12c – InstructionsEdit

Write C++ source code for the following pseudocode:

Example 3: pseudocodeEdit

If age equal to 24
    Display a message "You’re the same age as Melinda."
Else
    If age equal to 27
        Display a message "You’re the same age as Ruth."
    Else
        If age equal to 34
            Display a message "You’re the same age as Ben."
        Else
            Display a message "You’re age is un-important."
        Endif
    Endif
Endif