goto statement in C++ in hindi

C ++ में goto – statement का उपयोग program में कहीं भी control transfer करने के लिए किया जाता है। क्योंकि यह program के एक भाग दूसरे भाग में jump करता है, इसलिए इसे jumping statement भी कहा जाता है,

goto statement अन्य control statements से अलग है। अन्य control statements में, जहां एक शर्त के तहत execution किया जाता है, goto -statement में, हम program को किसी condition के बिना ही control को दूसरे स्थान पर transfer कर सकते हैं।

अन्य control statements का उपयोग करके हम conditional transfer करते हैं। यहाँ हम conditional और unconditional transfer दोनों पर कार्य करेंगे।

एक program में goto -statement का उपयोग करने के दो तरीके हैं,

First

goto label;
  ...........  
  ...........

lable:
  ..........
  ..........

Second

label:
  ...........  
  ...........

goto label;
  ..........
  ..........

जहां labell एक identifier है।

यहाँ goto -statement का flow -diagram दिया गया है –

goto statement Flow chart in C++

जैसा कि आप आरेख में देख सकते हैं, एक statement के बाद, बिना किसी condition के साथ इस्तेमाल goto-statement का प्रयोग किया गया है।

goto-flow-diagram in cpp

 

बेहतर तरीके से समझने के लिए , उपरोक्त flow -diagram की तुलना अन्य control – statements के साथ करें।

Example of goto statement in C++

नीचे दिए गए कार्यक्रम में हम यह पता लगाएंगे कि क्या दी गई संख्या equal है या नहीं।

यहाँ, goto -statement एक condition के तहत jump करेगा , हम कह सकते हैं कि यहाँ एक conditional – transfer perform किया जायेगा क्योंकि goto – statement control -statement (if -statement ) के अंदर defined है, इसलिए जैसे ही if -statement में condition true होती है तभी control transfer किया जायेगा।

#include<iostream.h>
#include<conio.h>

 void main()
  {
     clrscr();
     int num1,num2;
     cout<<"Enter Two number: ";
     cin>>num1>>num2;

       if(num1==num2) 
            goto transfer;  
       else
            cout<<"Given number are not Equal";        
     
    transfer: {
        cout<<"\nGiven number are Equal "<<x;
      }
     getch();
 }

OUTPUT

Enter Two number: 5  5

Given number are Equal

Explanation

यहां हमने label -name का transfer दिया है। program में हमने if-body के अंदर goto -statement defined किया।

जैसे ही if -statement condition में true हो जाती है, body of if-else execute होता है और goto – statement execute होता है जो control को सीधे if -statement के बाहर ट्रांसफर कर देता है पर अगर condition false होती है तो else-body execute होती है।

उपरोक्त Program निम्नानुसार execute करेगा,

goto-statement-program-in-cpp

 

अब हमने निम्नलिखित program में unconditional transfer को perform किया है।

goto statement with break statement in C++

नीचे दिए गए Program में, हम user द्वारा दिए गए दो नंबर को एक अलग तरीके से जोड़ते हैं, यहाँ हम एक statement के भीतर एक break– statement के साथ goto को loop बनाने के लिए उपयोग करते हैं ये दोनों statement किसी भी looping statement का उपयोग किए बिना एक loop की तरह व्यवहार करेंगे।

#include<iostream.h>
#include<conio.h>

 void main()
  {
    clrscr();
    int num1,num2,sum;
    
    start:
      cout<<"\nEnter two number: ";
      cin>>num1>>num2;

       if(num1== 0 || num2==0) 
           break;

      sum = num1+num2;
      cout<<"Total: "<<sum;
  
    goto start;

  cout<<"this is next statement";
 }

OUTPUT

Enter two number: 3 4 
Total: 7
Enter two number: 6 3
Total : 9
Enter two number: 0 4

Explanation

Program में, हम एक condition के भीतर if-statement के अंदर break -स्टेटमेंट defined करते हैं और condition यह है कि program execution में तब तक रहेगा जब तक कि किसी एक variable का मान 0 नहीं हो जाता।

जब तक किसी एक variable का मान 0 नहीं हो जाता, तब तक program संख्याओं को जोड़ते रहेंगे जैसे ही किसी एक variable का मान 0 होगा, if -statement execute किया जाएगा, जो goto– statement को terminate कर देगा और execution / control अगले statement पर जाएगा।

उपरोक्त कार्यक्रम का execution निम्नानुसार है,

goto-statement-example-in-cpp

 

goto statement with continue

निम्नलिखित Program में, हम एक series से विषम संख्या print करेंगे।

#include<iostream.h>
#include<conio.h>

  void main()
   {
     clrscr();
     for(int i=0; i<=20; i++)
      {
         if(i%2==0)
             goto even; // even number
         else
             continue; // odd number skip

        even:
          cout<<i<<"\t";
      }
   getch();
  }

OUTPUT

0  2  4  6  8  10  12  14  16  18  20

Thing to know

goto -statement Program में कहीं भी control को transfer कर सकता है और C++ में function भी यह कार्य कर सकता है।

लेकिन जहाँ function control वापस कर सकता है goto – statement नहीं करता है। इसका मतलब यह है कि goto केवल एक तरफा transfer करता है।

Programming skill को बेहतर बनाने में goto-statement का आप प्रयोग कर सकते हैं logics को बेहतर बनाने के लिए यह अच्छा अभ्यास हो सकता है।

जैसा कि कहा गया कि goto बिना condition के, किसी program में control कहीं भी transfer किया जा सकता है अर्थात इसका एक conditional transfer optional होता है। unconditional transfer के कारण यह बड़े कोड में output – error दे सकता है और यह सुरक्षा की दृष्टि से भी हानिकारक है इसलिए एक developer एक अच्छे प्रोग्रामिंग के रूप में goto को नहीं चुनता है।

हालाँकि, शुरुआत में एक दूसरे के साथ control statements का उपयोग करके आप इससे लॉजिक्स बनाने की क्षमता विकसित कर सकते हैं, इसलिए एक beginner एक goto के साथ जा सकता है। बाद में आपको स्वतः पता चल जायेगा है कि goto statement का उपयोग कहां किया जाना चाहिए और कहां नहीं।


previous – continue statement in C++
next –  exit function in C++

Leave a Reply

Your email address will not be published. Required fields are marked *