C++ nested if else statement

    Nested if-else statement

    यदि किसी if अथवा else ब्लॉक में अतिरिक्त if else का प्रयोग किया जाए तो यह Nesting(नैस्टिंग) कहलाती है। इस प्रकार यह कहा जा सकता है कि किसी कडीशन के true या false होने की स्थिति में अन्य कंडीशन की जांच भी करनी हो, तो Nested(नैस्टेड) if else का प्रयोग किया जा सकता है। 

    Nested if else Statement (नैस्टेड if else स्टेटमेंट)  का प्रारूप निम्नानुसार होता है 

    if (test condition)
    {
        if (test condition)
          {
                statement block;
          }else{
                statement block;  
          }
    }else{
            statement block;
    }

    Example #1: 

    निम्न Example में 3 संख्याएं user से पूछी गई हैं तथा उनमें से सबसे बड़ी संख्या को प्रिन्ट  कराया गया हैं 


        #include <iostream>
        using namespace std;
        int main()
        {
            int a, b, c;
            cout << "Enter 1st Number : ";
            cin >> a;
            cout << "Enter 2nd Number : ";
            cin >> b;
            cout << "Enter 3rd Number : ";
            cin >> c;
            if (a > b)
            {
                if (a > c)
                {
                    cout << "Largest Number is : " << a;                    
                }
                else
                {
                    cout << "Largest Number is : " << c;
                }
            }
            else
            {
                if (b > c)
                {
                    cout << "Largest Number is : " << b;
                }
                else
                {
                    cout << "Largest Number is : " << c;
                }
            }
            return 0;
        }

    Output:-

    Enter 1st Number : 3
    Enter 2nd Number : 4
    Enter 3rd Number : 1
    Largest Number is : 4

    Explain Example:-

    प्रोग्राम में तीन संख्याएं इनपुट में लेने के बाद जब if (a>b) स्टेटमेंट रन हुआ तो उस समय का मान 3 तथा b का मान 4 था। चूंकि 3>4 का परिणाम false होगा अतः प्रोग्राम  if  block(ब्लॉक) में जाने की बजाए else block(ब्लॉक) में प्रवेश कर गया। else  block(ब्लॉक) में वापस if (b>c) स्टेटमेंट अर्थात 4>1 की गणना हुई। इसका परिणाम चूंकि true रहा, अतः इस ब्लॉक में लिखे हुए cout स्टेटमेंट के कारण Output :- Largest 4 प्रिंट हो गया।

    else if ladder 

    नैस्टेड if else का प्रयोग निम्न प्रकार से भी किया जा सकता है जिसे else if ladder कहते हैं। इसका प्रयोग करने का फायदा यह है कि इसके प्रयोग से नैस्टिंग की जटिलता से बचा जा सकता है।

    if(Condition)
    {
        statement block;
    }
    else if(condition)
    {
        statement block;
    }
    else if(condition)
    {
        statement block;
    }
    else
    {
        statement block;
    }

    Example #2:-

    निम्न उदाहरण में यूजर द्वारा प्रतिशत अंक पूछे गए है तथा प्रतिशत अंको के आधार पर श्रेणी प्रिंट कराई गयी है।


        /* PROGRAM TO DEMONSTRATE ELSE IF LADDER */
        #include <iostream>
        #include <conio.h>
        using namespace std;
        main()
        {
            int per;
            cout << "Enter Percentage : ";              
            cin >> per;
            if (per >= 60)
            {
                cout << "1st division";
            }
            else if (per > 45)
            {
                cout << "2nd division";
            }
            else if (per >= 36)
            {
                cout << "3rd Division";
            }
            else
            {
                cout << "Fail";
            }
            getch();
        }
       

    Output:-

    Enter Percentage : 49
    2nd division

    Explain Example:-

    प्रोग्राम में यूजर से प्रतिशत इनपुट में लेने के बाद जब if(per> = 60) स्टेटमेंट न हुआ तो उस समय per का मान 49 ही था। चूंकि 49>=60 का परिणाम false होगा अतः प्रोग्राम ब्लॉक में प्रवेश करने की बजाए else if ब्लॉक में प्रवेश कर गया। इस ब्लॉक में फिर से if (per>=45) का प्रयोग हुआ। यहां 49>=45 का परिणाम चूंकि true रहा अतः प्रोग्राम ने इस ब्लॉक में प्रवेश करते हुए 2nd Div. संदेश प्रिंट कर दिया।

    Post a Comment

    0 Comments