Switch-Case Statement: লেকচার - ৯

Switch-case Statement:

নেস্টেড if...else স্টেটমেন্ট ব্যবহার করে আপনি অনেক ভ্যালুর বিপরীতে কোনো একটি নির্দিষ্ট কোড ব্লককে এক্সিকিউট(execute) করতে পারেন। কিন্তু আপনি যদি সিঙ্গেল ভ্যারিয়েবলের ভ্যালু চেক করাতে চান তাহলে nested if...else স্টেটমেন্টের পরিবর্তে switch স্টেটমেন্ট ব্যবহার করাই উত্তম হবে।switch স্টেটমেন্ট প্রায়ই নেস্টেট if...else স্টেটমেন্টের চেয়ে দ্রুততর এবং সুইস স্টেটমেন্টের সিনট্যাক্সও তুলনামূলক সহজ ও স্বচ্ছ।

সুইস (switch) সিনট্যাক্স

switch (expression)
 {
    case value1:
        //expression এর ভ্যালু value1 এর সমান হলে এই কোড এক্সিকিউট হবে;
        break;

    case value2:
        //expression এর ভ্যালু value2 এর সমান হলে এই কোড এক্সিকিউট হবে;
        break;
        .
        .
    default:
        //expression এর ভ্যালু কোনো value এর সমান না হলে  এই কোড এক্সিকিউট হবে;
}

switch...case স্টেটমেন্ট কিভাবে কাজ করে

1.উপরের সিনট্যাক্সে expression প্রোগ্রামে শুধুমাত্র একবার এক্সিকিউশন(execution) হয়।
2.এক্সপ্রেশনের ভ্যালু সুইস ব্লকের যেই case value এর সাথে মিলে যায় প্রোগ্রাম কন্ট্রোল তার কাছে চলে আসে ফলে সেই case value এর কোড ব্লকটি সম্পাদিত(execution) হয়।
3.উপরের সিউডোকোড(pseudocode) এ expression এর ভ্যালু যদি value2 এর সমান হয় তাহলে কম্পাইলার case value2 এর কোড ব্লককে এক্সিকিউট করবে।
4. case value2 এর পরে কোনো break স্টেটমেন্ট না থাকলে সুইস ব্লকের শেষ পর্যন্ত এক্সিকিউশন হবে।
5.এক্সপ্রেশনের ভ্যালু সুইস ব্লকের কোনো case value এর সাথে না মিললে default এর কোড ব্লকটি সম্পাদিত হবে।
6.পরবর্তী case কে এক্সিকিউট থেকে বাধা দিতে break স্টেটমেন্ট ব্যবহার করা হয়।

সুইস স্টেটমেন্ট ফ্লোচার্ট

                       


উদাহরন : switch statement


#include<stdio.h>

int main()
    {
    int num;
   
    printf("Enter any number (1 to 7) \n: ");
    scanf("%d",&num);
    switch(num)
    {
        case  1:
            printf("Today is Saturday");
            break;
        case  2:
            printf("Today is Sunday");
            break;
        case  3:
            printf("Today is Monday");
            break;
        case  4:
            printf("Today is Tuesday");
            break;
        case  5:
            printf("Today is  Wednesday");
            break;
        case  6:
            printf("Today is Thursday");
            break;
        case  7:
            printf("Today is Friday");
            break;
        default:
            printf("Only enter value 1 to 7");
    }
    return 0;
}

আউটপুট

Enter any number (1 to 7): 4 
Today is Tuesday
উপরের প্রোগ্রামে ইউজার 4 ইনপুট দেওয়ায় এক্সপ্রেশনের ভ্যালু case 4 : এর সাথে মিলে গেছে এবং Tuesday প্রিন্ট হয়েছে।


No comments

Theme images by luoman. Powered by Blogger.