C# Switch Statement Basics: Exercises for HNDIT Students
In C#, the switch
statement is a control flow statement that allows you to execute different blocks of code based on the value of a variable or expression. Here’s a basic example to illustrate its usage:
using System;
class Program
{
static void Main()
{
int day = 3;
string dayName;
switch (day)
{
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "Invalid day";
break;
}
Console.WriteLine(dayName);
}
}
Explanation:
Variable: In this example, we have an integer variable
day
which is being evaluated.Cases: Each
case
corresponds to a specific value thatday
can take.Break Statement: The
break
statement is used to exit the switch block once a matching case is found and executed.Default Case: The
default
case is optional and will execute if none of the specified cases match.
Exercise 1: Grade Calculator
Write a program that takes a numeric score (0-10) and uses a switch statement to determine the corresponding letter grade.
Example input: 5
// Example output: F
Exercise 2: Month Name
Create a program that asks the user for a month number (1-12) and prints the corresponding month name.
Example input: 4
// Example output: April
Exercise 3: Simple Calculator
Implement a simple calculator that takes two numbers and an operator (+, -, *, /) from the user and uses a switch statement to perform the calculation.
Example input: 10, 5, +
// Example output: 15
Exercise 4: Days in a Month
Write a program that asks for a month number (1-12) and uses a switch statement to print how many days are in that month (considering February has 28 days).
Example input: 2
// Example output: 28 days
Exercise 5: Traffic Light
Create a program that takes an input for a traffic light color (Red, Yellow, Green) and uses a switch statement to print the action to take (Stop, Caution, Go).
Example input: Green
// Example output: Go
Solutions to the exercises
Exercise 1: Grade Calculator
using System;
class GradeCalculator
{
static void Main()
{
Console.Write("Enter your score (0-10): ");
int score = int.Parse(Console.ReadLine());
char grade;
switch (score)
{
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
grade = 'F';
break;
default:
Console.WriteLine("Invalid score.");
return;
}
Console.WriteLine("Your grade is: "+grade);
}
}
Exercise 2: Month Name
using System;
class MonthName
{
static void Main()
{
Console.Write("Enter a month number (1-12): ");
int month = int.Parse(Console.ReadLine());
string monthName;
switch (month)
{
case 1: monthName = "January"; break;
case 2: monthName = "February"; break;
case 3: monthName = "March"; break;
case 4: monthName = "April"; break;
case 5: monthName = "May"; break;
case 6: monthName = "June"; break;
case 7: monthName = "July"; break;
case 8: monthName = "August"; break;
case 9: monthName = "September"; break;
case 10: monthName = "October"; break;
case 11: monthName = "November"; break;
case 12: monthName = "December"; break;
default: monthName = "Invalid month"; break;
}
Console.WriteLine(monthName);
}
}
Exercise 3: Simple Calculator
using System;
class SimpleCalculator
{
static void Main()
{
Console.Write("Enter first number: ");
double num1 = double.Parse(Console.ReadLine());
Console.Write("Enter second number: ");
double num2 = double.Parse(Console.ReadLine());
Console.Write("Enter operator (+, -, *, /): ");
char operation = Console.ReadLine();
double result;
switch (operation)
{
case '+': result = num1 + num2; break;
case '-': result = num1 - num2; break;
case '*': result = num1 * num2; break;
case '/':
if (num2 != 0)
result = num1 / num2;
else
{
Console.WriteLine("Error: Division by zero.");
return;
}
break;
default:
Console.WriteLine("Invalid operator.");
return;
}
Console.WriteLine("Result:" + result);
}
}
Exercise 4: Days in a Month
using System;
class DaysInMonth
{
static void Main()
{
Console.Write("Enter a month number (1-12): ");
int month = int.Parse(Console.ReadLine());
int days;
switch (month)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days = 31; break;
case 4: case 6: case 9: case 11:
days = 30; break;
case 2:
days = 28; break; // Not accounting for leap years
default:
Console.WriteLine("Invalid month.");
return;
}
Console.WriteLine(days +"days");
}
}
Exercise 5: Traffic Light
using System;
class TrafficLight
{
static void Main()
{
Console.Write("Enter traffic light color (Red, Yellow, Green): ");
string color = Console.ReadLine()?.ToLower();
string action;
switch (color)
{
case "red":
action = "Stop"; break;
case "yellow":
action = "Caution"; break;
case "green":
action = "Go"; break;
default:
action = "Invalid color"; break;
}
Console.WriteLine(action);
}
}
Subscribe to my newsletter
Read articles from Arzath Areeff directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Arzath Areeff
Arzath Areeff
I co-founded digizen.lk to promote online safety and critical thinking. Currently, I’m developing an AI app to fight misinformation. As Founder and CEO of ideaGeek.net, I help turn startup dreams into reality, and I share tech insights and travel stories on my YouTube channels, TechNomad and Rz Omar.