📖 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
Step 1: Understand the role of switch
A switch statement checks one value and runs code matching that value.
Step 2: Compare with other options
Repeating code is done by loops, functions define reusable code, and variables store data.
Final Answer:
To choose which block of code to run based on a single value -> Option D
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
Step 1: Recall switch syntax
The switch statement requires parentheses around the variable: switch(variable).
Step 2: Check each option
switch(choice) { uses correct parentheses and opening brace. Others miss parentheses or use wrong punctuation.
Final Answer:
switch(choice) { -> Option A
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
Step 1: Check the value of x
The variable x is 2.
Step 2: Match case in switch
The switch matches case 2, so it prints "Two" and then breaks.
Final Answer:
Two -> Option B
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
Step 1: Check case 1 block
There is no break; after case 1, so execution falls through to case 2.
Step 2: Understand consequences
Without break, both "One" and "Two" print if n=1. This is usually unintended.
Final Answer:
Missing break after case 1 causes fall-through -> Option C
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
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.
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.
Final Answer:
Option A code correctly prints "Weekday" for 1-5 and "Weekend" for 6-7 -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.