# 13.5: Practice 12 Multiway Selection

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$ $$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\kernel}{\mathrm{null}\,}$$ $$\newcommand{\range}{\mathrm{range}\,}$$ $$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$ $$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$ $$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$ $$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\kernel}{\mathrm{null}\,}$$ $$\newcommand{\range}{\mathrm{range}\,}$$ $$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$ $$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$ $$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$ $$\newcommand{\Span}{\mathrm{span}}$$$$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

## Learning Objectives

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

Define the terms on the definitions as listed in the modules associated with this chapter.

Identify which selection control structures are two-way selection and which are multiway selection.

Understand, define and/or explain case, switch and nested if then else.

Be able to write pseudo code or flowcharting for the case control structure.

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).

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).

When feasible, be able to convert C++ source code from switch acting like a case to nested if then else and vice versa.

## Exercises

Questions
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
1. 0
2. 1
3. 0
4. 1
5. 0
6. 1
7. 0
8. Error, there needs to be an operand between the operators < and &&.


## Miscellaneous Items

Link to: Manipulation of Data Part 3

## Lab Assignment

#### Creating a Folder or Sub-Folder for Chapter 12 Files

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 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.

#### Detailed Lab Instructions

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.

## Problems

#### Problem 12a - Instructions

Flowchart the following pseudocode:

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


#### Problem 12b - Instructions

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:

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


#### Problem 12c - Instructions

Write C++ source code for the following pseudocode:

Pseudocode
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


This page titled 13.5: Practice 12 Multiway Selection is shared under a CC BY license and was authored, remixed, and/or curated by Kenneth Leroy Busbee (OpenStax CNX) .