যখন একটি ভেরিয়েবলের অনেকগুলো সম্ভাব্য মান থাকে এবং প্রতিটি মান অনুযায়ী ভিন্ন ভিন্ন কাজ করতে হয় তখন switch স্টেটমেন্ট ব্যবহার করা হয়।
switch স্টেটমেন্ট এমন একটি কন্ডিশনাল স্টেটমেন্ট, যা এক ভেরিয়েবলের বিভিন্ন সম্ভাব্য মানের ভিত্তিতে নির্দিষ্ট কাজ চালায়।
১।switch-এর মধ্যে রাখা এক্সপ্রেশনটি হতে হবে int, char বা enum টাইপের।
২। প্রতিটি case-এ একটি নির্দিষ্ট মান চেক করা হয়।
৩। break ব্যবহার করলে প্রোগ্রাম switch ব্লক থেকে বের হয়ে যায়।
৪। default অংশ ঐচ্ছিক, তবে সাধারণত রাখা হয় কোনো case না মিললে fallback হিসেবে।
৫। যদি break না দেওয়া হয়, তাহলে পরবর্তী সব case চলতে থাকবে — একে বলে fall-through behavior।
১। অনেকগুলো if…else if ব্যবহার না করে সরলভাবে সিদ্ধান্ত নিতে।
২। একটি ভেরিয়েবলের বিভিন্ন মানের জন্য পৃথক পৃথক কাজ করাতে।
৩। কোডকে পরিষ্কার ও সহজ করে লিখতে
switch (expression)
{
case value1:
// value1 মিললে এই অংশ কাজ করবে।
break;
case value2:
// value2 মিললে এই অংশ কাজ করবে।
break;
...
default:
// উপরের কোন case না মিললে এই অংশ কাজ করবে।
}
#include <stdio.h>
int main() {
int day;
printf("Enter day number (1-7): ");
scanf("%d", &day);
switch(day) {
case 1: printf("Sunday\n");
break;
case 2: printf("Monday\n");
break;
case 3: printf("Tuesday\n");
break;
case 4: printf("Wednesday\n");
break;
case 5: printf("Thursday\n");
break;
case 6: printf("Friday\n");
break;
case 7: printf("Saturday\n");
break;
default: printf("Invalid day number\n");
}
return 0;
}
ব্যাখ্যা: এখানে day এর মান অনুযায়ী নির্দিষ্ট দিনের নাম দেখাচ্ছে। কোন মানের সাথে না মিললে default অংশ কাজ করছে।