Skip to content

Week3: Switch Case (Selection Programming) in C

Q1. Vowel or Consonant

Question:
Write a program which takes a user input character and prints if it is a vowel, consonant, or an invalid alphabet using a switch statement.

Program:

#include <stdio.h>

int main() {
    char c;
    printf("Enter your character: ");
    scanf("%c", &c);

    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
        switch(c) {
            case 'A': case 'E': case 'I': case 'O': case 'U':
            case 'a': case 'e': case 'i': case 'o': case 'u':
                printf("It's a Vowel \n");
                break;
            default:
                printf("It's a Consonant \n");
        }
    } else {
        printf("%c is not a valid Alphabet \n", c);
    }

    return 0;
}
````

---

## Q2. Calculator Using Switch

**Question:**
Write a program using the switch statement that reads 2 numbers and an operator (`+`, `-`, `*`, `/`). Perform the corresponding operation and print the result.

**Program:**

```c
#include <stdio.h>

int main() {
    double num1, num2, result;
    char operator;

    printf("Enter first number: ");
    scanf("%lf", &num1);

    printf("Enter an operator (+, -, *, /): ");
    scanf(" %c", &operator); // space to consume any whitespace

    printf("Enter second number: ");
    scanf("%lf", &num2);

    switch (operator) {
        case '+':
            result = num1 + num2;
            printf("%.2lf + %.2lf = %.2lf\n", num1, num2, result);
            break;
        case '-':
            result = num1 - num2;
            printf("%.2lf - %.2lf = %.2lf\n", num1, num2, result);
            break;
        case '*':
            result = num1 * num2;
            printf("%.2lf * %.2lf = %.2lf\n", num1, num2, result);
            break;
        case '/':
            if (num2 != 0) {
                result = num1 / num2;
                printf("%.2lf / %.2lf = %.2lf\n", num1, num2, result);
            } else {
                printf("Error: Division by zero is not allowed.\n");
            }
            break;
        default:
            printf("Error: Invalid operator.\n");
            break;
    }

    return 0;
}

Q3. Single Digit Number to Word

Question: Write a program using the switch statement to read a single digit number (0–9) and print the corresponding word (Zero, One, ..., Nine).

Program:

#include <stdio.h>

int main() {
    int digit;
    printf("Enter a single digit number (0-9): ");
    scanf("%d", &digit);

    switch (digit) {
        case 0: printf("Zero\n"); break;
        case 1: printf("One\n"); break;
        case 2: printf("Two\n"); break;
        case 3: printf("Three\n"); break;
        case 4: printf("Four\n"); break;
        case 5: printf("Five\n"); break;
        case 6: printf("Six\n"); break;
        case 7: printf("Seven\n"); break;
        case 8: printf("Eight\n"); break;
        case 9: printf("Nine\n"); break;
        default: printf("Error: Invalid input. Enter a digit between 0 and 9.\n"); break;
    }

    return 0;
}

Q4. Number of Days in a Month

Question: Write a program using the switch statement to print the number of days in a month.

Program:

#include <stdio.h>

int main() {
    int month;
    printf("Enter the month number (1-12): ");
    scanf("%d", &month);

    switch (month) {
        case 1: printf("January has 31 days\n"); break;
        case 2: printf("February has 28 days (29 in a leap year)\n"); break;
        case 3: printf("March has 31 days\n"); break;
        case 4: printf("April has 30 days\n"); break;
        case 5: printf("May has 31 days\n"); break;
        case 6: printf("June has 30 days\n"); break;
        case 7: printf("July has 31 days\n"); break;
        case 8: printf("August has 31 days\n"); break;
        case 9: printf("September has 30 days\n"); break;
        case 10: printf("October has 31 days\n"); break;
        case 11: printf("November has 30 days\n"); break;
        case 12: printf("December has 31 days\n"); break;
        default: printf("Error: Invalid month number. Enter 1-12.\n"); break;
    }

    return 0;
}

Q5. Rainbow Colors

Question: Write a program to print the colors of the rainbow based on the user input character.

Program:

#include <stdio.h>

int main() {
    char color;
    printf("Enter a character to get the corresponding color of the rainbow (v, i, b, g, y, o, r): ");
    scanf(" %c", &color);

    switch (color) {
        case 'v': case 'V': printf("Violet\n"); break;
        case 'i': case 'I': printf("Indigo\n"); break;
        case 'b': case 'B': printf("Blue\n"); break;
        case 'g': case 'G': printf("Green\n"); break;
        case 'y': case 'Y': printf("Yellow\n"); break;
        case 'o': case 'O': printf("Orange\n"); break;
        case 'r': case 'R': printf("Red\n"); break;
        default: printf("Color is not in rainbow\n"); break;
    }

    return 0;
}

Comments