Bird
Raised Fist0
C++programming~15 mins

Switch statement in C++ - Mini Project: Build & Apply

Choose your learning style10 modes available
Using a Switch Statement in C++
📖 Scenario: You are creating a simple program that tells the name of a day based on a number input from 1 to 7. Each number corresponds to a day of the week.
🎯 Goal: Build a program that uses a switch statement to print the correct day name for a given number.
📋 What You'll Learn
Create an integer variable called dayNumber with a value from 1 to 7
Create a switch statement that checks dayNumber
Use case labels for numbers 1 through 7, each printing the correct day name
Include a default case that prints "Invalid day number"
Print the day name or the invalid message as the final output
💡 Why This Matters
🌍 Real World
Switch statements are used in many programs to choose actions based on a value, like menu selections or commands.
💼 Career
Understanding switch statements helps in writing clear and efficient code for decision-making in software development.
Progress0 / 4 steps
1
Create the day number variable
Create an integer variable called dayNumber and set it to 3.
C++
Hint

Use int dayNumber = 3; to create the variable.

2
Start the switch statement
Write a switch statement that checks the variable dayNumber.
C++
Hint

Use switch(dayNumber) { } to start the switch.

3
Add cases for days 1 to 7
Inside the switch(dayNumber), add case labels for numbers 1 to 7. For each case, write a cout << "Monday" << endl; statement to print the day name (e.g., "Monday" for 1). Add a break; after each print statement. Also add a default case that prints "Invalid day number". Make sure to include #include <iostream> and using namespace std; later.
C++
Hint

Each case should print the correct day with cout << "Day" << endl; and end with break;. The default prints the invalid message.

4
Run the program to see the output
Add the necessary includes, namespace, and main function to run the program. The output should be Wednesday.
C++
Hint

Ensure #include <iostream> and using namespace std; are at the top, and return 0; at the end of main().

Practice

(1/5)
1. What is the main purpose of a switch statement in C++?
easy
A. To declare a variable
B. To repeat a block of code multiple times
C. To define a function
D. To choose which block of code to run based on a single value

Solution

  1. Step 1: Understand the role of switch

    A switch statement checks one value and runs code matching that value.
  2. Step 2: Compare with other options

    Repeating code is done by loops, functions define reusable code, and variables store data.
  3. Final Answer:

    To choose which block of code to run based on a single value -> Option D
  4. Quick Check:

    Switch selects code by value = A [OK]
Hint: Switch picks code based on one value quickly [OK]
Common Mistakes:
  • Confusing switch with loops
  • Thinking switch defines functions
  • Mixing switch with variable declaration
2. Which of the following is the correct syntax to start a switch statement for variable choice?
easy
A. switch(choice) {
B. switch choice {
C. switch choice() {
D. switch(choice);

Solution

  1. Step 1: Recall switch syntax

    The switch statement requires parentheses around the variable: switch(variable).
  2. Step 2: Check each option

    switch(choice) { uses correct parentheses and opening brace. Others miss parentheses or use wrong punctuation.
  3. Final Answer:

    switch(choice) { -> Option A
  4. Quick Check:

    Correct switch syntax uses parentheses [OK]
Hint: Switch needs parentheses around variable [OK]
Common Mistakes:
  • Omitting parentheses
  • Using semicolon instead of brace
  • Adding parentheses after variable name
3. What will be the output of this code?
int x = 2;
switch(x) {
  case 1:
    std::cout << "One";
    break;
  case 2:
    std::cout << "Two";
    break;
  default:
    std::cout << "Other";
}
medium
A. One
B. Two
C. Other
D. No output

Solution

  1. Step 1: Check the value of x

    The variable x is 2.
  2. Step 2: Match case in switch

    The switch matches case 2, so it prints "Two" and then breaks.
  3. Final Answer:

    Two -> Option B
  4. Quick Check:

    Value 2 matches case 2 = Two [OK]
Hint: Match variable value to case label [OK]
Common Mistakes:
  • Forgetting break causes fall-through
  • Choosing default when case matches
  • Confusing output with case number
4. Identify the error in this switch statement:
int n = 3;
switch(n) {
  case 1:
    std::cout << "One";
  case 2:
    std::cout << "Two";
    break;
  default:
    std::cout << "Default";
}
medium
A. default case must be last
B. Variable n should be a string
C. Missing break after case 1 causes fall-through
D. case labels must be strings

Solution

  1. Step 1: Check case 1 block

    There is no break; after case 1, so execution falls through to case 2.
  2. Step 2: Understand consequences

    Without break, both "One" and "Two" print if n=1. This is usually unintended.
  3. Final Answer:

    Missing break after case 1 causes fall-through -> Option C
  4. Quick Check:

    Break prevents fall-through = A [OK]
Hint: Always add break after each case to stop fall-through [OK]
Common Mistakes:
  • Forgetting break causes multiple outputs
  • Thinking default must be last (it can be anywhere)
  • Believing case labels must be strings
5. You want to write a switch statement that prints "Weekend" for cases 6 and 7, and "Weekday" for cases 1 to 5. Which code snippet correctly does this?
hard
A. switch(day) { case 1: case 2: case 3: case 4: case 5: std::cout << "Weekday"; break; case 6: case 7: std::cout << "Weekend"; break; default: std::cout << "Invalid"; }
B. switch(day) { case 1: case 2: case 3: case 4: case 5: std::cout << "Weekend"; break; case 6: case 7: std::cout << "Weekday"; break; default: std::cout << "Invalid"; }
C. switch(day) { case 1: case 2: case 3: case 4: case 5: std::cout << "Weekday"; case 6: case 7: std::cout << "Weekend"; break; default: std::cout << "Invalid"; }
D. switch(day) { case 1: case 2: case 3: case 4: case 5: std::cout << "Weekend"; case 6: case 7: std::cout << "Weekday"; break; default: std::cout << "Invalid"; }

Solution

  1. Step 1: Group cases for weekdays and weekends

    Cases 1 to 5 print "Weekday"; cases 6 and 7 print "Weekend". Grouping cases with no code between them is correct.
  2. Step 2: Check breaks and outputs

    switch(day) { case 1: case 2: case 3: case 4: case 5: std::cout << "Weekday"; break; case 6: case 7: std::cout << "Weekend"; break; default: std::cout << "Invalid"; } groups cases correctly and uses breaks to prevent fall-through. Others mix outputs or miss breaks.
  3. Final Answer:

    Option A code correctly prints "Weekday" for 1-5 and "Weekend" for 6-7 -> Option A
  4. Quick Check:

    Group cases + breaks = correct switch [OK]
Hint: Group cases without code, add break after each group [OK]
Common Mistakes:
  • Missing breaks causing fall-through
  • Swapping outputs for cases
  • Not grouping cases properly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard