Bird
Raised Fist0
Cprogramming~20 mins

Use cases - Mini Project: Build & Apply

Choose your learning style10 modes available
Use Cases in C Programming
📖 Scenario: You are building a simple program to decide what message to show based on a user's role in a system.
🎯 Goal: Create a C program that uses switch statements to print different messages for different user roles.
📋 What You'll Learn
Create an integer variable called role with a specific value
Create a switch statement using the variable role
Handle cases for roles 1, 2, and 3 with different messages
Include a default case for unknown roles
Print the message corresponding to the role
💡 Why This Matters
🌍 Real World
Switch statements are used in programs to make decisions based on different conditions, like user roles, menu choices, or error codes.
💼 Career
Understanding switch statements helps in writing clear and efficient code for decision-making in many software development jobs.
Progress0 / 4 steps
1
Create the role variable
Create an integer variable called role and set it to 2.
C
Hint

Use int role = 2; inside the main function.

2
Add the switch statement
Add a switch statement using the variable role inside the main function.
C
Hint

Write switch(role) { } inside main.

3
Add cases for roles 1, 2, and 3
Inside the switch(role), add cases for 1, 2, and 3. For each case, add a printf statement with these exact messages:
"Admin access granted\n" for case 1,
"User access granted\n" for case 2,
"Guest access granted\n" for case 3.
Don't forget to add break; after each printf.
C
Hint

Use case 1:, case 2:, case 3: with printf and break;.

4
Add a default case and print the message
Add a default case inside the switch(role) that prints "Unknown role\n". Then, add a printf statement to print the message for the current role when the program runs.
C
Hint

Use default: with printf("Unknown role\n"); and break;.

Practice

(1/5)
1. What is the main purpose of using a switch statement in C programming?
easy
A. To declare variables
B. To choose between multiple actions based on the value of a variable
C. To define a function
D. To repeat a block of code multiple times

Solution

  1. Step 1: Understand the role of switch

    The switch statement is used to select one of many code blocks to execute based on a variable's value.
  2. Step 2: Compare with other options

    Declaring variables, repeating a block of code multiple times, and defining a function are not the purpose of switch.
  3. Final Answer:

    To choose between multiple actions based on the value of a variable -> Option B
  4. Quick Check:

    switch selects code by value [OK]
Hint: Switch picks code based on variable value, like a menu choice [OK]
Common Mistakes:
  • Confusing switch with loops
  • Thinking switch declares variables
  • Using switch to define functions
2. Which of the following is the correct syntax to start a switch statement in C?
easy
A. switch(variable) {
B. switch variable {
C. switch variable() {
D. switch { variable }

Solution

  1. Step 1: Recall correct switch syntax

    The correct syntax requires the keyword switch followed by parentheses enclosing the variable, then an opening brace.
  2. Step 2: Check each option

    switch(variable) { matches the correct syntax: switch(variable) {. Others miss parentheses or use wrong braces.
  3. Final Answer:

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

    Syntax needs parentheses around variable [OK]
Hint: Remember: switch(variable) with parentheses and braces [OK]
Common Mistakes:
  • Omitting parentheses around variable
  • Using wrong braces or brackets
  • Adding parentheses after variable name
3. What will be the output of the following C code?
int x = 2;
switch(x) {
  case 1:
    printf("One\n");
    break;
  case 2:
    printf("Two\n");
    break;
  default:
    printf("Other\n");
}
medium
A. One
B. Other
C. Two
D. No output

Solution

  1. Step 1: Identify the value of variable x

    The variable x is set to 2.
  2. Step 2: Match x with case labels

    The switch checks cases: 1 and 2. Since x is 2, it matches case 2 and prints "Two".
  3. Final Answer:

    Two -> Option C
  4. Quick Check:

    Value 2 matches case 2 [OK]
Hint: Match variable value to case label to find output [OK]
Common Mistakes:
  • Ignoring break and falling through
  • Choosing default when case matches
  • Confusing case numbers
4. Identify the error in this switch statement:
int n = 3;
switch(n) {
  case 1:
    printf("One\n");
  case 2:
    printf("Two\n");
    break;
  default:
    printf("Default\n");
}
medium
A. Missing break after case 1 causes fall-through
B. Variable n is not declared
C. Default case must be first
D. Switch cannot use integers

Solution

  1. Step 1: Check for break statements

    Case 1 lacks a break, so after printing "One", execution continues to case 2.
  2. Step 2: Understand consequences of missing break

    This fall-through causes both "One" and "Two" to print when n is 1, which is usually unintended.
  3. Final Answer:

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

    Always add break to prevent fall-through [OK]
Hint: Add break after each case to stop fall-through [OK]
Common Mistakes:
  • Forgetting break after cases
  • Thinking default must be first
  • Believing switch can't use integers
5. You want to write a switch statement that prints "Weekday" for cases 1 to 5, "Weekend" for 6 and 7, and "Invalid" for any other number. Which code snippet correctly implements this?
hard
A. switch(day) { if(day >= 1 && day <= 5) { printf("Weekday\n"); } else if(day == 6 || day == 7) { printf("Weekend\n"); } else { printf("Invalid\n"); } }
B. switch(day) { case 1: printf("Weekday\n"); case 2: printf("Weekday\n"); case 3: printf("Weekday\n"); case 4: printf("Weekday\n"); case 5: printf("Weekday\n"); case 6: printf("Weekend\n"); case 7: printf("Weekend\n"); default: printf("Invalid\n"); }
C. switch(day) { case 1 ... 5: printf("Weekday\n"); break; case 6 ... 7: printf("Weekend\n"); break; default: printf("Invalid\n"); }
D. switch(day) { case 1: case 2: case 3: case 4: case 5: printf("Weekday\n"); break; case 6: case 7: printf("Weekend\n"); break; default: printf("Invalid\n"); }

Solution

  1. Step 1: Understand valid switch syntax for multiple cases

    Cases can be grouped by listing them one after another without breaks to share code.
  2. Step 2: Evaluate each option

    switch(day) { case 1: case 2: case 3: case 4: case 5: printf("Weekday\n"); break; case 6: case 7: printf("Weekend\n"); break; default: printf("Invalid\n"); } correctly groups cases 1 to 5 and 6 to 7, with breaks and a default. switch(day) { case 1: printf("Weekday\n"); case 2: printf("Weekday\n"); case 3: printf("Weekday\n"); case 4: printf("Weekday\n"); case 5: printf("Weekday\n"); case 6: printf("Weekend\n"); case 7: printf("Weekend\n"); default: printf("Invalid\n"); } lacks breaks causing fall-through. switch(day) { case 1 ... 5: printf("Weekday\n"); break; case 6 ... 7: printf("Weekend\n"); break; default: printf("Invalid\n"); } uses invalid syntax (case 1 ... 5). switch(day) { if(day >= 1 && day <= 5) { printf("Weekday\n"); } else if(day == 6 || day == 7) { printf("Weekend\n"); } else { printf("Invalid\n"); } } uses if inside switch without case labels, making the body unreachable and invalid for switch logic.
  3. Final Answer:

    Groups cases by listing consecutive cases for shared execution with breaks -> Option D
  4. Quick Check:

    Group cases by listing them, add breaks [OK]
Hint: Group cases by listing them; use breaks to separate [OK]
Common Mistakes:
  • Using invalid range syntax in case
  • Missing breaks causing fall-through
  • Trying to use if inside switch
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