সি সুইচ স্টেটমেন্ট

অনেকগুলো if else যদি একটি মাত্র ভ্যারিয়েবলের উপর নির্ভর করে তখন ব্যবহার করা সুবিধাজনক ।

ধরো, আমাকে এমন একটি প্রোগ্রাম লিখতে হবে যেখানে ব্যবহারকারী 1 থেকে 7 এর মধ্যে একটি ইনপুট দিবে এবং আমাদেরকে ঐ ক্রম অবস্থানের বারের নাম প্রিন্ট করতে হবে । 1 হলে Sunday, 2 হলে Modnay এরকম । তো চাইলে আমরা প্রোগ্রামটিকে এভাবে লেখতে পারিঃ

1#include <stdio.h>
2
3int main()
4{
5    int day;
6    printf("Enter value of day: ");
7    scanf("%d", &day);
8
9    if(day == 1){
10        printf("Sunday");
11    }
12    else if(day == 2){
13        printf("Monday");
14    }
15    else if(day == 3){
16        printf("Tuesday");
17    }
18    else if(day == 4){
19        printf("Wednesday");
20    }
21    else if(day == 5){
22        printf("Thursday");
23    }
24    else if(day == 6){
25        printf("Friday");
26    }
27    else if(day == 7){
28        printf("Saturday");
29    }
30    return 0;
31}
32

দেখো, এখানে আমাদের ৭টি if else ব্যবহার করতে হয়েছে এবং এখানে সবগুলো স্টেটমেন্টই ভ্যারিয়েবলের মানের উপরে নির্ভর করে । তাই এখানে আমরা if else এর পরিবর্তে আমরা একে স্টেটমেন্ট দিয়ে লিখতে পারি । দেখোঃ

1#include <stdio.h>
2
3int main()
4{
5    int day;
6    printf("Enter value of day: ");
7    scanf("%d", &day);
8
9    switch (day)
10    {
11        case 1:
12            printf("Sunday");
13            break;
14        case 2:
15            printf("Monday");
16            break;
17        case 3:
18            printf("Tuesday");
19            break;
20        case 4:
21            printf("Wednesday");
22            break;
23        case 5:
24            printf("Thursday");
25            break;
26        case 6:
27            printf("Friday");
28            break;
29        case 7:
30            printf("Saturday");
31            break;
32    }
33
34    return 0;
35}
36

প্রথমে আমাদেরকে এর ভেতরে একটি ভ্যারিয়েবল দিতে হবে যার মানকে প্রতিটি এ পরীক্ষা করে দেখা হবে । এরপরে আমাদের এক বা একাধিক স্টেটমেন্ট দিতে হবে । এ আমরা যেই মান দিবো সেটি যদি ওই এর ভ্যারিয়েবলটি মান এর সমান হয় তাহলে ওই এর কাজ হবে । 

দেখো আমরা প্রথমে এর ভেতরে রেখেছি । ফলে প্রতিটি এর মান পরীক্ষা হবে । প্রথমে আছে । যদি, day এর মান 1 হয় তাহলে এর ভেতরের টি রান করবে । এভাবে শেষ পর্যন্ত সবগুলো শর্ত পরীক্ষা হবে । 

এখন, যদি তুমি 1 থেকে 7 এর বাইরে অন্য কোনো সংখ্যাকে এখানে ইনপুট দাও, তাহলে কিন্তু কিছুই প্রিন্ট না হয়ে প্রোগ্রামটি শেষ হয়ে যাবে । আমরা যদি চাই যে কোনো  এর সাথে ম্যাচ না করলেও আমরা কিছু প্রিন্ট করতে চাই তাহলে আমরা একটি case রাখতে পারি, যেটি তখনই চলবে যখন এর মান একটি এর সাথেও মিলবে না । 

1#include <stdio.h>
2
3int main()
4{
5    int day;
6    printf("Enter value of day: ");
7    scanf("%d", &day);
8
9    switch (day)
10    {
11        case 1:
12            printf("Sunday");
13            break;
14        case 2:
15            printf("Monday");
16            break;
17        case 3:
18            printf("Tuesday");
19            break;
20        case 4:
21            printf("Wednesday");
22            break;
23        case 5:
24            printf("Thursday");
25            break;
26        case 6:
27            printf("Friday");
28            break;
29        case 7:
30            printf("Saturday");
31            break;
32        default:
33            printf("Invalid day number");
34    }
35
36    return 0;
37}
38

 

Logo

PyxLearn

Quick Links

আমাদের মেসেজ পাঠাতে চাও?