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:-
निम्न उदाहरण में एक संख्या यूज़र से पूछी गई है तथा उसे शब्दों में प्रिंट कराया गया है।
Output:-
Two
Explain Example:-
प्रोग्राम में यूज़र से एक संख्या इनपुट लेने के बाद जब switch (a) स्टेटमेंट रन हुआ तो उस समय a का मान 2 था। इसलिए प्रोग्राम का प्रवाह case 2 में प्रवेश कर गया और उसमें लिखे cout स्टेटमेंट के कारण Two प्रिंट कर दिया। यदि इसके बाद लिखे गए break को हटा दिया जाए तो Two प्रिंट करने के बाद वह अगले case में भी प्रवेश कर जाएगा और Three भी प्रिंट कर देगा।
ब्लॉक उपरोक्त उदाहरण को यदि बिना break स्टेटमेंट के बनाया जाए तो ऐसी स्थिति में किसी बैंम के रन होने के बाद उसके बाद के बैंम भी स्वतः ही रन हो जाएंगे। यह निम्नांकित उदाहरण में समझाया गया है।
Example #2:-
Output:-
twothreeNot Between 1 to 3
how do switch statement work
एक बारexpression
को check किया जाता है और प्रत्येक label के values के साथcase
की तुलना की जाती है ।
- यदि कोई
case
true होता है, तो उस के बाद का code Execute किया जाता है। उदाहरण के लिए, यदि variable की valueconstant2
के बराबर है, तो Code को Break Statement(ब्रेक स्टेटमेंट) तक Execute किया जाता हैं, - यदि कोई value match नहीं होती है, तो
default
Code Execute हो जाता है।
नोट: हालाँकि हम switch
के स्थान पर ladderif...else..if
का use कर सकते हैं , switch
statement का syntax easier to read and write यानि की पढ़ने और लिखने में बहुत आसान है।
Flowchart of switch Statement
Example #3 :
Switch Statement(स्विच स्टेटमेंट) का उपयोग करके Calculator(कैलकुलेटर) बनाना
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
0 Comments