C++ Switch Statement

    Switch Statement

    यदि दो से अधिक विकल्पों में से किसी एक विकल्प को चुनना हो तो उसके लिए switch स्टेटमेंट का भी प्रयोग किया जा सकता है। अन्य शब्दों में यह कहा जा सकता है कि दी गई कंडीशन (एक्सप्रेशन) के आधार पर उपलब्ध विभिन्न ब्लॉक में से किसी एक ब्लॉक को रन कराने के लिए इसका प्रयोग किया जा सकता है। कुछ स्थितियों में नैस्टेड if की जगह इसका प्रयोग किया जा सकता है। इसका प्रयोग इंटीजर या कैरेक्टर डेटा पर ही किया जा सकता है। इसका प्रारुप निम्न प्रकार होता है:

    switch (expression)  {
    case constant1:
    // code to be executed if
    // expression is equal to constant1;
    break;

    case constant2:
    // code to be executed if
    // expression is equal to constant2;
    break;
    .
    .
    .
    default:
    // code to be executed if
    // expression doesn't match any constant
    }

     प्रोग्राम रन होते समय दिए गए एक्सप्रेशन की वैल्यू की विभिन्न वैल्यूज़ (value-1, value-2, value 3...) से तुलना की जाएगी, तथा जहां यह वैल्यू समान मिलेगी उसके आगे के स्टेटमेंट्स रन हो जाएंगे। यदि एक्सप्रेशन की वैल्यू किसी भी वैल्यू से मिलान नहीं करती है तो default ब्लॉक वाले स्टेटमेंट्स रन हो जाएंगे।

    ध्यान दें कि प्रत्येक विकल्प ब्लॉक के बाद यहां break स्टेटमेंट दिया गया है। यदि यह break स्टेटमेंट नहीं दिया जाएगा तो प्रोग्राम का प्रवाह अगले ब्लॉक में प्रवेश कर जाएगा, जो कि गलत हो सकता है।

    Example #1:-

    निम्न उदाहरण में एक संख्या यूज़र से पूछी गई है तथा उसे शब्दों में प्रिंट कराया गया है।


        /* PROGRAM TO DEMONSTRATE Switch Statement */
        #include <iostream>
        #include <conio.h>
        using namespace std;
        main()
        {
            int a;
            cout << "Enter a number : ";
            cin >> a;
            switch (a)
            {
            case 1:
                cout << "One";
                break;
            case 2:
                cout << "two";
                break;
            case 3:
                cout << "three";
                break;

            default:
                cout << "Not Between 1 to 3";                      
                break;
            }
            getch();
        }

    Output:-

    Enter a Number : 2
    Two

    Explain Example:- 

    प्रोग्राम में यूज़र से एक संख्या इनपुट लेने के बाद जब switch (a) स्टेटमेंट रन हुआ तो उस समय a का मान 2 था। इसलिए प्रोग्राम का प्रवाह case 2 में प्रवेश कर गया और उसमें लिखे cout स्टेटमेंट के कारण Two प्रिंट कर दिया। यदि इसके बाद लिखे गए break को हटा दिया जाए तो Two प्रिंट करने के बाद वह अगले case में भी प्रवेश कर जाएगा और Three भी प्रिंट कर देगा।                                                                                                    

    ब्लॉक उपरोक्त उदाहरण को यदि बिना break स्टेटमेंट के बनाया जाए तो ऐसी स्थिति में किसी  बैंम के रन होने के बाद उसके बाद के बैंम भी स्वतः ही रन हो जाएंगे। यह निम्नांकित उदाहरण में समझाया गया है।

    Example #2:-


        /* PROGRAM TO DEMONSTRATE Switch without break Statement */
        #include <iostream>
        #include <conio.h>
        using namespace std;
        main()
        {
            int a;
            cout << "Enter a number : ";
            cin >> a;
            switch (a)
            {
            case 1:
                cout << "One";
            case 2:
                cout << "two";
            case 3:
                cout << "three";

            default:
                cout << "Not Between 1 to 3";                      
            }
            getch();
        }

    Output:-

    Enter a number : 2
    twothreeNot Between 1 to 3

    how do switch statement work 

    एक बारexpressionको check  किया जाता है और प्रत्येक label के  values के साथcaseकी तुलना की जाती है ।

    • यदि कोईcasetrue  होता है, तो उस के  बाद का  code Execute किया जाता है। उदाहरण के लिए, यदि variable की valueconstant2के बराबर है,  तो Code को Break Statement(ब्रेक स्टेटमेंट) तक Execute किया जाता हैं, 
    • यदि कोई value match नहीं  होती है, तोdefaultCode Execute हो जाता है।

    नोटहालाँकि हम switchके स्थान पर ladderif...else..ifका use  कर सकते हैं ,  switchstatement का syntax  easier to read and write यानि की  पढ़ने और लिखने में बहुत आसान है।

    Flowchart of switch Statement

    Example #3 : 

    Switch Statement(स्विच स्टेटमेंट) का उपयोग करके Calculator(कैलकुलेटर) बनाना


        // Program to build a simple calculator using switch Statement
        #include <iostream>
        using namespace std;

        int main()
        {
            char oper;
            float num1, num2;
            cout << "Enter an operator (+, -, *, /): ";
            cin >> oper;
            cout << "Enter 1st Numbers: ";
            cin >> num1;
            cout << "Enter 1st Numbers: ";
            cin >> num2;

            switch (oper)
            {
            case '+':
                cout << num1 << " + " << num2 << " = " << num1 + num2;
                break;
            case '-':
                cout << num1 << " - " << num2 << " = " << num1 - num2;
                break;
            case '*':
                cout << num1 << " * " << num2 << " = " << num1 * num2;
                break;
            case '/':
                cout << num1 << " / " << num2 << " = " << num1 / num2;
                break;
            default:
                // operator is doesn't match any case constant (+, -, *, /)
                cout << "Error! The operator is not correct";
                break;
            }

            return 0;
        }
       

    Output 1:-

    Enter an operator (+, -, *, /): +
    Enter 1st Numbers: 2.3
    Enter 2nd Number : 4.5
    2.3 + 4.5 = 6.8

    Output 2 :-

    Enter an operator (+, -, *, /): -
    Enter 1st Numbers: 2.3
    Enter 2nd Number : 4.5
    2.3 - 4.5 = -2.3

    Output 3:-

    Enter an operator (+, -, *, /): *
    Enter 1st Numbers: 2.3
    Enter 2nd Number : 4.5
    2.3 * 4.5 = 10.35

    Output 4:-

    Enter an operator (+, -, *, /): /
    Enter 1st Numbers: 2.3
    Enter 2nd Number : 4.5
    2.3 / 4.5 = 0.51111

    Output 4:-

    Enter an operator (+, -, *, /): ?
    Enter 1st Numbers: 2.3
    Enter 2nd Number : 4.5
    Error! The Operator is Not correct

    Post a Comment

    0 Comments