কম্পিউটার টিউটোরিয়াল

সি/সি++-এ সвич-কেসে রেঞ্জ (Range) ব্যবহার

সি/সি++-এ switch-case স্টেটমেন্টে সাধারণত একটি নির্দিষ্ট মান চেক করা হয়। কিন্তু GNU C/C++ এক্সটেনশন ব্যবহার করে কেস লেবেলে রেঞ্জ (Range) নির্দিষ্ট করা যায়।

সিনট্যাক্স

case low ... high

এখানে low এবং high এর মাঝপথে তিনটি ডট (...) থাকে এবং দুপাশে স্পেস থাকে।

উদাহরণ

#include <stdio.h>

int main() {
    int data[10] = { 5, 4, 10, 25, 60, 47, 23, 80, 14, 11 };
    int i;
    for (i = 0; i < 10; i++) {
        switch (data[i]) {
            case 1 ... 10:
                printf("%d in range 1 to 10\n", data[i]);
                break;
            case 11 ... 20:
                printf("%d in range 11 to 20\n", data[i]);
                break;
            case 21 ... 30:
                printf("%d in range 21 to 30\n", data[i]);
                break;
            case 31 ... 40:
                printf("%d in range 31 to 40\n", data[i]);
                break;
            default:
                printf("%d Exceeds the range\n", data[i]);
                break;
        }
    }
    return 0;
}

আউটপুট

5 in range 1 to 10
4 in range 1 to 10
10 in range 1 to 10
25 in range 21 to 30
60 Exceeds the range
47 Exceeds the range
23 in range 21 to 30
80 Exceeds the range
14 in range 11 to 20
11 in range 11 to 20

গুরুত্বপূর্ণ নোট

  • এটি GNU এক্সটেনশন (GCC/Clang), স্ট্যান্ডার্ড সি/সি++ নয়
  • MSVC (Visual Studio) কম্পাইলার এই সিনট্যাক্স সাপোর্ট করে না
  • পোর্টেবল কোড লিখতে হলে if-else চেইন বা লুক-আপ টেবিল ব্যবহার করুন
  • রেঞ্জ ওভারল্যাপ করলে কম্পাইল টাইম এরর হয়
  1. C/C++-তে putwchar() ফাংশন

  2. C/C++-তে memcpy() ফাংশন

  3. সেমিকোলন (;) ছাড়া সেমিকোলন প্রিন্ট করা: C/C++ প্রোগ্রাম

  4. AA ট্রি: C/C++-তে ব্যালেন্সড ট্রি ডেটা স্ট্রাকচার