सी प्रोग्रामिंग में बहुविकल्पी निर्णयों के लिए स्विच-केस संरचना का उपयोग कैसे करें

डैन गूकिन द्वारा

C प्रोग्रामिंग में if और if-else स्टेटमेंट्स का एक टॉवर जमा करना प्रभावी हो सकता है, लेकिन यह बहुविकल्पी निर्णय के माध्यम से चलने का सबसे अच्छा तरीका नहीं है। सी भाषा में पेश किया गया समाधान स्विच-केस संरचना के रूप में जाना जाता है।



स्विच-केस संरचना के साथ बहु-विकल्प चयन कैसे करें

स्विच केस संरचना आपको एकल मान के आधार पर C प्रोग्राम में निर्णयों को कोड करने की अनुमति देता है। यह बहुविकल्पीय चयन कथन है।



बहुविकल्पी

क्या ज़ोलॉफ्ट आपको थका देता है
#include int main() { int code; printf('Enter the error code (1-3): '); scanf('%d',&code); switch(code) { case 1: puts('Drive Fault, not your fault.'); break; case 2: puts('Illegal format, call a lawyer.'); break; case 3: puts('Bad filename, spank it.'); break; default: puts('That's not 1, 2, or 3'); } return(0); }

व्यायाम 1: एकाधिक विकल्प से कोड का उपयोग करके एक नया प्रोजेक्ट बनाएं। बस इसे टाइप करें। इसे बनाएं। यह देखने के लिए कि यह कैसे प्रतिक्रिया करता है, विभिन्न मूल्यों को आजमाते हुए इसे कई बार चलाएं।



अपने संपादक में स्रोत कोड की जाँच करें, जहाँ आप निम्नलिखित अनुच्छेदों में उल्लिखित पंक्ति संख्याओं का संदर्भ दे सकते हैं।

स्विच-केस संरचना स्विच स्टेटमेंट के साथ लाइन 10 से शुरू होती है। यह जिस आइटम का मूल्यांकन करता है वह कोष्ठक में संलग्न है। एक इफ स्टेटमेंट के विपरीत, स्विच केवल एक ही मान खाता है। लाइन 10 में, यह एक पूर्णांक है जिसे उपयोगकर्ता टाइप करता है (पंक्ति 8 में पढ़ें)।

संरचना का केस भाग लाइन 11 और 23 के बीच कर्ली कोष्ठकों में संलग्न है। केस स्टेटमेंट एकल मान दिखाता है, जैसे कि पंक्ति 12 में 1। मान के बाद एक कोलन आता है।



प्रत्येक केस स्टेटमेंट द्वारा निर्दिष्ट मान की तुलना स्विच स्टेटमेंट में निर्दिष्ट आइटम से की जाती है। यदि मान समान हैं, तो केस से संबंधित कथन निष्पादित किए जाते हैं। यदि नहीं, तो उन्हें छोड़ दिया जाता है और अगले केस मान की तुलना की जाती है।

एम t7 . के साथ गोली

ब्रेक कीवर्ड स्विच-केस संरचना के माध्यम से प्रोग्राम प्रवाह को रोकता है। स्विच-केस स्ट्रक्चर के अंतिम कर्ली ब्रैकेट के बाद प्रोग्राम फ़्लो फिर से शुरू हो जाता है, जो कि मल्टीपल चॉइस में लाइन 24 है।

अंतिम तुलना के बाद, स्विच-केस संरचना का उपयोग करता है a चूक आइटम, पंक्ति २१ में दिखाया गया है। उस आइटम के बयानों को निष्पादित किया जाता है जब कोई भी मामला तुलना मेल नहीं खाता है। चूक स्विच-केस संरचना में आइटम की आवश्यकता होती है।

व्यायाम २ : लिस्टिंग 8-8 के समान सोर्स कोड का उपयोग करके एक प्रोग्राम बनाएं, लेकिन इनपुट को अक्षर बनाएं सेवा मेरे, बी, तथा सी .

  • स्विच-केस संरचना में की जा रही तुलना स्विच के कोष्ठक में निर्दिष्ट आइटम और प्रत्येक केस कीवर्ड का अनुसरण करने वाले आइटम के बीच होती है। जब तुलना सत्य होती है, जिसका अर्थ है कि दोनों आइटम एक दूसरे के बराबर हैं, तो केस से संबंधित बयान निष्पादित किए जाते हैं।

  • ब्रेक कीवर्ड का उपयोग प्रोग्राम फ्लो को तोड़ने के लिए किया जाता है। इसका उपयोग if संरचना में भी किया जा सकता है, लेकिन ज्यादातर यह लूपिंग संरचनाओं में पाया जाता है।

  • मामले की तुलना के बयानों के बाद एक विराम निर्दिष्ट करें ताकि शेष संरचना निष्पादित न हो।

स्विच केस सी प्रोग्रामिंग में संरचना

और अब - सी में सबसे जटिल चीज प्रस्तुत करना। गंभीरता से, आपको सी में किसी भी अन्य निर्माण की तुलना में स्विच-केस के साथ अधिक नियम और संरचना मिलेगी। यहां कंकाल है:

ऑक्सीकोडोन एसिटामिनोफेन 7.5-325 स्पेनिश में
switch(  expression  ) { case  value1  :  statement  (s); break; case  value2  :  statement  (s); break; case  value3  :  statement  (s); break; default:  statement  (s); }

स्विच आइटम संरचना का परिचय देता है, जो घुंघराले ब्रैकेट की एक जोड़ी से घिरा हुआ है। संरचना में कम से कम एक केस स्टेटमेंट और डिफ़ॉल्ट स्टेटमेंट होना चाहिए।

स्विच स्टेटमेंट में शामिल है a की अभिव्यक्ति कोष्ठकों में। उस व्यंजक को एक मान के लिए मूल्यांकन करना चाहिए। यह एक चर हो सकता है, एक फ़ंक्शन से लौटाया गया मान, या गणितीय ऑपरेशन।

एक केस स्टेटमेंट के बाद तत्काल मूल्य और फिर एक कोलन होता है। बृहदान्त्र के बाद एक या अधिक कथन हैं। इन कथनों को तब क्रियान्वित किया जाता है जब निम्नलिखित मामले का तत्काल मान स्विच स्टेटमेंट के व्यंजक से मेल खाता हो। अन्यथा, बयानों को छोड़ दिया जाता है, और अगले मामले के बयान का मूल्यांकन किया जाता है।

स्विच-केस संरचना से भागने के लिए ब्रेक कीवर्ड का उपयोग किया जाता है। अन्यथा, प्रोग्राम निष्पादन संरचना के माध्यम से आता है।

डिफ़ॉल्ट आइटम स्विच-केस संरचना को समाप्त करता है। इसमें ऐसे स्टेटमेंट होते हैं जिन्हें तब निष्पादित किया जाता है जब कोई भी केस स्टेटमेंट मेल नहीं खाता। या, जब कुछ भी करने के लिए नहीं बचा है, तो डिफ़ॉल्ट आइटम को किसी भी कथन की आवश्यकता नहीं होती है - लेकिन इसे निर्दिष्ट किया जाना चाहिए।

स्विच-केस संरचना का केस भाग मूल्यांकन नहीं करता है। यदि आपको कई तुलनाओं की आवश्यकता है, तो एक से अधिक प्रकार की संरचना का उपयोग करें।

बिना ब्रेक के स्विच-केस संरचना का निर्माण कैसे करें

बिना ब्रेक स्टेटमेंट के स्विच-केस संरचना बनाना संभव है। ऐसी चीज विशेष परिस्थितियों में भी काम आ सकती है।

भोजन योजना निर्णय

पेट के अल्सर की दवा
#include int main() { char choice; puts('Meal Plans:'); puts('A - Breakfast, Lunch, and Dinner'); puts('B - Lunch and Dinner only'); puts('C - Dinner only'); printf('Your choice: '); scanf('%c',&choice); printf('You've opted for '); switch(choice) { case 'A': printf('Breakfast, '); case 'B': printf('Lunch and '); case 'C': printf('Dinner '); default: printf('as your meal plan.n'); } return(0); }

व्यायाम 3 : भोजन योजना निर्णयों से स्रोत कोड का उपयोग करके एक नया प्रोजेक्ट बनाएं। बनाएँ और चलाएँ।

व्यायाम 4 : यदि आप समझते हैं कि केस स्टेटमेंट कैसे गिर सकते हैं, तो व्यायाम 2 को संशोधित करें ताकि स्विच-केस संरचना में ऊपरी और निचले दोनों अक्षरों का मूल्यांकन किया जा सके।