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;
}