Jump to content

Programming Fundamentals/Practice: Multiway Selection

From Wikibooks, open books for an open world

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

Learning Objectives

[edit | edit source]

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.

Exercises

[edit | edit source]

Exercise 1

[edit | edit source]

Evaluate the following Logical Boolean expressions:

[edit | edit source]
  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
Answers
  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

[edit | edit source]

Link to: Manipulation of Data Part 3

Lab Assignment

[edit | edit source]

Creating a Folder or Sub-Folder for Chapter 12 Files

[edit | edit source]

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 | edit source]

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 Instructions

[edit | edit source]

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

[edit | edit source]

Problem 12a – Instructions

[edit | edit source]

Flowchart the following pseudocode:

Example 1: pseudocode

[edit | edit source]
Case of shoe_size
    4 to 6    Display "Small."
    7 to 9    Display "Medium."
    10 +        Display "Large."
Endcase

Problem 12b – Instructions

[edit | edit source]

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: pseudocode

[edit | edit source]
Case of shoe_size
    4 to 6    Display "Small."
    7 to 9    Display "Medium."
    10 +        Display "Large."
Endcase

Problem 12c – Instructions

[edit | edit source]

Write C++ source code for the following pseudocode:

Example 3: pseudocode

[edit | edit source]
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