Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

स्विच स्टेटमेंट C++

C++ में स्विच स्टेटमेंट का उपयोग कैसे करें

सशर्त बयान सभी प्रोग्रामिंग भाषाओं की एक सामान्य विशेषता है। इन कथनों का उपयोग किसी प्रोग्राम के प्रवाह को नियंत्रित करने और यह निर्दिष्ट करने के लिए किया जाता है कि कोड के विशिष्ट ब्लॉक कब निष्पादित किए जाने चाहिए।

C++ में उपयोग किए जाने वाले मुख्य कंडीशनल स्टेटमेंट हैं if और if … else बयान। इसके अलावा, C++ switch प्रदान करता है बयान। यह कथन कई संभावित मामलों के खिलाफ एक अभिव्यक्ति का मूल्यांकन करता है और कोड के एक ब्लॉक को निष्पादित करता है यदि अभिव्यक्ति उस ब्लॉक के संबंधित मामले से मेल खाती है। स्विच स्टेटमेंट if . के समान व्यवहार करता है बयान जिसमें कई if … else . शामिल हैं बयान।

इस ट्यूटोरियल में, हम चर्चा करेंगे—एक उदाहरण सहित—C++ में स्विच स्टेटमेंट का उपयोग कैसे करें। हम यह भी चर्चा करेंगे कि break . का उपयोग कैसे करें , और default स्विच स्टेटमेंट वाले कीवर्ड। इस गाइड को पढ़ने के बाद, आप C++ स्विच स्टेटमेंट के उपयोग के विशेषज्ञ होंगे।

C++ कंडीशनल स्टेटमेंट

सशर्त बयान जैसे if और if … else एक कार्यक्रम में निर्णय लेने के लिए उपयोग किया जाता है। उदाहरण के लिए, एक if यदि कोई उपयोगकर्ता 16 वर्ष से अधिक आयु का है, या यदि वह बुधवार है, तो कथन किसी प्रोग्राम को कोड का एक ब्लॉक चलाने का निर्देश दे सकता है।

if और if … else बयान सशर्त बयानों के सबसे सामान्य रूप हैं। if और if … else यदि कोई शर्त सत्य है तो कथन कोड का एक ब्लॉक चलाते हैं; अन्यथा वे कुछ नहीं करते। यहां C++ का एक उदाहरण दिया गया है if कथन:

int Age =15;if (आयु> 16) { cout<<"यह उपयोगकर्ता 16 वर्ष से अधिक आयु का है।"}

इस उदाहरण में, हमारा कोड मूल्यांकन करता है कि चर आयु 16 से अधिक है या नहीं। यदि यह है, तो वाक्य This user is over the age of 16 . कंसोल पर मुद्रित होता है; अन्यथा कुछ नहीं होता। इस मामले में, हमारे उपयोगकर्ता की आयु 15 वर्ष है, इसलिए age > 16 असत्य का मूल्यांकन करता है। इसलिए, प्रोग्राम हमारे if . से जुड़े कोड को निष्पादित नहीं करता है बयान।

लेकिन क्या होगा यदि आप कई स्थितियों के विरुद्ध मूल्यांकन करना चाहते हैं?

यहीं पर स्विच स्टेटमेंट आता है। जबकि आप उपयोग कर सकते हैं if … else if . में अनेक स्थितियों के मूल्यांकन के लिए कथन कथन, यह दृष्टिकोण अक्षम हो सकता है और आपके कोड को पढ़ने में अधिक कठिन बना सकता है। इसलिए, कई संभावित मामलों के खिलाफ बयान का मूल्यांकन करने के लिए डेवलपर्स अक्सर स्विच स्टेटमेंट का उपयोग करते हैं।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

C++ स्विच स्टेटमेंट

स्विच स्टेटमेंट, जिसे switch … case . के रूप में भी जाना जाता है कथन, आपको यह जांचने की अनुमति देता है कि कोई व्यंजक एकाधिक मामलों में से एक के बराबर है या नहीं। यदि कहा गया अभिव्यक्ति स्विच ब्लॉक के मामलों में से एक से मेल खाता है (दूसरे शब्दों में, बराबर है), तो उस मामले से जुड़े विशिष्ट कोड को निष्पादित किया जाएगा।

स्विच स्टेटमेंट में एक या अधिक केस स्टेटमेंट होते हैं। प्रोग्राम उन शर्तों को घोषित करने के लिए केस स्टेटमेंट का उपयोग करता है जिनके खिलाफ आपकी लक्षित अभिव्यक्ति का मूल्यांकन किया जाना चाहिए।

स्विच स्टेटमेंट परीक्षण के लिए एक अभिव्यक्ति को स्वीकार करते हैं, जो कोष्ठक से घिरा हुआ है, साथ ही एक या अधिक मामले जिनके खिलाफ आप अपनी अभिव्यक्ति का मूल्यांकन करना चाहते हैं। ये मामले घुंघराले कोष्ठक में संलग्न हैं।

यहाँ C++ स्विच स्टेटमेंट का सिंटैक्स दिया गया है:

स्विच (एक्सप्रेशन) {केस फर्स्टकेस:// कोड निष्पादित किया जाना है यदि एक्सप्रेशन फर्स्टकेस ब्रेक से मेल खाता है; केस सेकेंडकेस:// यदि एक्सप्रेशन सेकेंडकेस ब्रेक से मेल खाता है तो कोड निष्पादित किया जाएगा; डिफ़ॉल्ट:// यदि कोई भाव नहीं मिले तो कोड निष्पादित किया जाएगा }}

यहाँ C++ में उपरोक्त स्विच स्टेटमेंट के लिए तर्क दिया गया है:

  1. कार्यक्रम अभिव्यक्ति का मूल्यांकन करता है।
  2. अभिव्यक्ति की तुलना फर्स्टकेस से की जाती है। यदि ये मेल खाते हैं, तो प्रोग्राम फर्स्टकेस ब्लॉक में कोड निष्पादित करेगा। फिर, ब्रेक कीवर्ड चलेगा, जो स्विच ब्लॉक को समाप्त कर देगा।

नोट :हम इस लेख के बाद के खंड में ब्रेक कीवर्ड पर चर्चा करते हैं। अनिवार्य रूप से, यह कीवर्ड प्रोग्राम को वर्तमान स्विच ब्लॉक से आगे बढ़ने के लिए कहता है।

  1. अगर एक्सप्रेशन फर्स्टकेस से मेल नहीं खाता है, तो एक्सप्रेशन की तुलना सेकेंडकेस से की जाएगी।
  2. यदि एक्सप्रेशन सेकेंडकेस से मेल खाता है, तो प्रोग्राम सेकेंडकेस ब्लॉक के अंदर कोड को निष्पादित करेगा, और ब्रेक स्टेटमेंट स्विच ब्लॉक को समाप्त कर देगा।
  3. यदि अभिव्यक्ति स्विच ब्लॉक में किसी भी मामले से मेल नहीं खाती है, तो प्रोग्राम डिफ़ॉल्ट केस स्टेटमेंट की सामग्री को निष्पादित करेगा।

नोट :हम डिफ़ॉल्ट स्टेटमेंट की अवधारणा पर चर्चा करते हैं, क्योंकि यह स्विच स्टेटमेंट से संबंधित है, इस आलेख के बाद के खंड में। डिफॉल्ट एक कीवर्ड है जो प्रोग्राम को बताता है कि अगर स्विच ब्लॉक के भीतर कोई भी केस स्टेटमेंट अभिव्यक्ति से मेल नहीं खाता है तो क्या करना है।

एक स्विच स्टेटमेंट में, प्रोग्राम पहले पहले केस का मूल्यांकन करेगा। यदि वह सत्य का मूल्यांकन नहीं करता है, तो प्रोग्राम बाद के मामलों का मूल्यांकन तब तक करेगा जब तक कि कोई शर्त पूरी नहीं हो जाती या जब तक सभी शर्तों का मूल्यांकन नहीं हो जाता।

C++ स्विच का उदाहरण

C++ में स्विच स्टेटमेंट कैसे काम करते हैं, यह जानने के लिए आइए चरण-दर-चरण एक उदाहरण देखें।

मान लीजिए हम एक प्रोग्राम लिख रहे हैं जो हमें बताता है कि वीकेंड तक कितने दिन बचे हैं। इस कार्यक्रम में, सप्ताह के प्रत्येक दिन को एक पूर्णांक द्वारा दर्शाया जाएगा- उदाहरण के लिए, सोमवार 1 होगा, मंगलवार 2 होगा, बुधवार 3 होगा, और इसी तरह आगे भी।

यह कार्यक्रम सप्ताह के वर्तमान दिन (एक पूर्णांक के रूप में दर्शाया गया) लेगा और इसकी तुलना मामलों के एक समूह से करेगा। प्रत्येक मामला कार्यक्रम को एक वाक्य का प्रिंट आउट लेने का निर्देश देगा जो वर्तमान कार्यदिवस के आधार पर सप्ताहांत तक शेष दिनों की संख्या बताता है।

यह वह कोड है जिसका उपयोग हम इस कार्य को पूरा करने के लिए कर सकते हैं:

#शामिल करें स्विच (दिनऑफवीक) {केस 1:cout<<"सप्ताहांत तक 5 दिन हैं!"; तोड़ना; केस 2:cout<<"सप्ताहांत तक 4 दिन हैं!"; तोड़ना; केस 3:cout<<"सप्ताहांत तक 3 दिन हैं!"; तोड़ना; केस 4:cout<<"सप्ताहांत तक 2 दिन हैं!"; तोड़ना; केस 5:cout<<"सप्ताहांत तक 1 दिन है!"; तोड़ना; }} 

हमारा कोड लौटाता है:

सप्ताहांत तक 3 दिन हैं।

आइए हमारे कोड को तोड़ दें। सबसे पहले, हम एक वेरिएबल घोषित करते हैं, जिसे डेऑफवीक कहा जाता है, जो सप्ताह के वर्तमान दिन को पूर्णांक के रूप में संग्रहीत करता है। फिर हम एक स्विच स्टेटमेंट का उपयोग करते हैं जो पांच मामलों को निर्दिष्ट करता है।

सबसे पहले, हमारा प्रोग्राम यह देखने के लिए जांचता है कि क्या dayOfWeek 1 के बराबर है। यदि ऐसा है, तो हमारा प्रोग्राम प्रिंट करता है There are 5 days until the weekend! कंसोल के लिए, जिसके बाद यह स्विच स्टेटमेंट से बाहर हो जाता है।

यदि dayOfWeek 1 के बराबर नहीं है, तो प्रोग्राम अगले मामले का मूल्यांकन करता है। यह तब तक चलता रहेगा जब तक प्रोग्राम हमारे स्विच स्टेटमेंट में हर केस का मूल्यांकन नहीं करता है- जब तक कि कोई एक केस सही नहीं हो जाता है, जिस बिंदु पर ब्रेक स्टेटमेंट चलेगा और हमारा लूप स्विच स्टेटमेंट समाप्त हो जाएगा।

हमारे उदाहरण में, हमने कहा कि सप्ताह का दिन 3 है - जिसका अर्थ है कि यह बुधवार है। परिणामस्वरूप, हमारा प्रोग्राम प्रिंट करता है There are 3 days until the weekend! कंसोल को। फिर, हमारा प्रोग्राम कोड के स्विच ब्लॉक को समाप्त कर देता है और मुख्य प्रोग्राम को चलाना जारी रखता है।

C++ ब्रेक

सी ++ स्विच स्टेटमेंट आमतौर पर प्रत्येक मामले में ब्रेक कीवर्ड का उपयोग करते हैं, जैसा कि हमने ऊपर के उदाहरण में किया था। जब प्रोग्राम ब्रेक स्टेटमेंट निष्पादित करता है, तो दिए गए ब्लॉक के भीतर कोड निष्पादित करना बंद कर देगा और बाकी प्रोग्राम चलना जारी रहेगा।

ब्रेक स्टेटमेंट अक्सर स्विच स्टेटमेंट के साथ उपयोग किए जाते हैं क्योंकि वे प्रोग्राम को स्विच स्टेटमेंट में बाकी मामलों का मूल्यांकन करने से रोकते हैं।

ऊपर दिए गए हमारे विस्तारित उदाहरण से लिए गए स्विच स्टेटमेंट में ब्रेक कीवर्ड का एक उदाहरण यहां दिया गया है:

… केस 3:cout<<"सप्ताहांत तक 3 दिन हैं!"; ब्रेक;…

इसलिए, उपरोक्त उदाहरण में, यदि dayOfWeek 3 के बराबर है, तो हमारा प्रोग्राम एक ब्रेक स्टेटमेंट निष्पादित करेगा ताकि और मामलों का मूल्यांकन नहीं किया जा सके। यह समझ में आता है क्योंकि अगर dayOfWeek 3 के बराबर है, तो यह 4 या 5 के बराबर नहीं हो सकता, जो हमारे स्विच स्टेटमेंट में अगले मामले हैं।

यदि dayOfWeek 3 के बराबर है, तो संदेश There are 3 days until the weekend! कंसोल पर प्रिंट किया जाता है। फिर, स्विच स्टेटमेंट निष्पादित करना बंद कर देता है क्योंकि एक ब्रेक स्टेटमेंट प्रोग्राम को स्विच ब्लॉक से आगे बढ़ने का निर्देश देता है।

C++ डिफ़ॉल्ट

C++ में, वैकल्पिक डिफॉल्ट केस कीवर्ड हमारे कोड को बताता है कि अगर कोई केस सही नहीं होता है तो क्या करना चाहिए।

हमारे उपरोक्त उदाहरण में, हमारा कोड केवल कार्यदिवसों के लिए है। इसलिए, यदि यह पहले से ही सप्ताहांत है, तो हमारा कार्यक्रम कुछ नहीं करेगा। यदि हम एक डिफ़ॉल्ट कोड स्टेटमेंट का उपयोग करते हैं, तो हम अपने कोड को निर्देश दे सकते हैं कि यदि हमारा कोई भी मामला पूरा नहीं होता है तो वह कार्रवाई करे।

मान लीजिए हम संदेश प्रिंट करना चाहते हैं It’s the weekend! कंसोल के लिए अगर यह शनिवार या रविवार था। हम इस कार्य को पूरा करने के लिए ऊपर से हमारे स्विच स्टेटमेंट उदाहरण और निम्नलिखित कोड का उपयोग कर सकते हैं:

… केस 5:cout<<"सप्ताहांत तक 1 दिन है!"; तोड़ना; डिफ़ॉल्ट:cout<<"यह सप्ताहांत है!"; ब्रेक;…

इस कोड के अनुसार, यदि dayOfWeek हमारे द्वारा निर्दिष्ट किसी भी मामले के बराबर नहीं है- या, दूसरे शब्दों में, यदि dayOfWeek 6 या 7 के बराबर है- तो डिफ़ॉल्ट स्टेटमेंट की सामग्री निष्पादित की जाएगी। इसलिए, यदि आज शनिवार होता, उदाहरण के लिए, निम्न संदेश कंसोल पर मुद्रित किया जाएगा:

सप्ताहांत है!

निष्कर्ष

कई संभावित परिणामों के खिलाफ एक बयान का मूल्यांकन करने के लिए C++ में स्विच स्टेटमेंट का उपयोग किया जाता है। यदि इनमें से कोई एक भाव सत्य का मूल्यांकन करता है, तो प्रोग्राम उस परिणाम से जुड़े कोड को निष्पादित करेगा। यदि कोई अभिव्यक्ति सत्य का मूल्यांकन नहीं करती है, तो प्रोग्राम एक डिफ़ॉल्ट विवरण की सामग्री को निष्पादित करेगा, यदि निर्दिष्ट किया गया हो।

इस ट्यूटोरियल में एक उदाहरण के साथ चर्चा की गई कि C++ स्विच स्टेटमेंट का उपयोग कैसे करें और ब्रेक का उपयोग कैसे करें, और स्विच के साथ डिफ़ॉल्ट कीवर्ड। अब आप एक समर्थक की तरह अपने कोड में स्विच स्टेटमेंट का उपयोग शुरू करने के लिए तैयार हैं!


  1. सी ++ में असामान्य ()

    इस सेक्शन में हम C++ में isnormal() फंक्शन देखेंगे। यह फ़ंक्शन cmath लाइब्रेरी में मौजूद है। इस फ़ंक्शन का उपयोग यह जांचने के लिए किया जाता है कि कोई संख्या सामान्य है या नहीं। जिन संख्याओं को गैर-सामान्य माना जाता है वे शून्य, अनंत या NAN हैं। यह फ़ंक्शन तर्क के रूप में फ्लोट, डबल या लॉन्ग डबल मान

  1. C++ में निर्णय लेना

    निर्णय लेने वाली संरचनाओं के लिए आवश्यक है कि प्रोग्रामर प्रोग्राम द्वारा मूल्यांकन या परीक्षण करने के लिए एक या अधिक शर्तों को निर्दिष्ट करे, साथ ही एक स्टेटमेंट या स्टेटमेंट को निष्पादित करने के लिए यदि शर्त सही है, और वैकल्पिक रूप से, अन्य स्टेटमेंट्स को निष्पादित किया जाना है यदि शर्त झूठा होना

  1. पीएचपी स्विच स्टेटमेंट

    परिचय यदि किसी प्रोग्राम को इफ स्टेटमेंट की एक श्रृंखला की आवश्यकता होती है जो एक अभिव्यक्ति के भिन्न मूल्य के लिए अलग-अलग प्रक्रिया करता है, तो यह प्रत्येक के साथ बहुत अनाड़ी हो सकता है यदि स्टेटमेंट में घुंघराले कोष्ठक का अपना सेट होता है। यह वह जगह है जहां स्विच-केस . का उपयोग किया जा रहा है निर