1. परिचय
प्रोग्रामिङमा प्रायः प्रयोग हुने「स्विच कथन」ले शर्तीय शाखा (condition branching) लाई संक्षिप्त रूपमा व्यक्त गर्नका लागि अत्यन्त उपयोगी उपकरण हो। सी भाषामा पनि, धेरै विकल्पहरूलाई व्यवस्थित गर्दा「स्विच कथन」को प्रयोगले कोडको स्पष्टता बढाउँछ र बगहरू घटाउने प्रभाव पाउँछ। यस लेखमा, सी भाषामा「स्विच कथन」को आधारभूत प्रयोगबाट उन्नत उदाहरणहरू सम्म, वास्तविक कोड उदाहरणहरू समेटेर व्याख्या गरिन्छ।
2. C भाषा मा switch कथन के हो?
“switch कथन” विशेष भेरिएबलको लागि धेरै मानहरू तुलना गरी, प्रत्येकको अनुसार प्रक्रिया कार्यान्वयन गर्ने संरचना हो। मुख्यतया, सर्तहरू संख्यात्मक वा enumeration (enum) द्वारा परिभाषित गरिएमा यो प्रभावकारी हुन्छ। उदाहरणका लागि, प्रयोगकर्ताले चयन गरेको मेनु नम्बर अनुसार, प्रक्रिया विभाजन गर्ने प्रोग्रामलाई संक्षिप्त रूपमा लेख्न सकिन्छ।
switch (शर्त) {
case मान1:
// मान1 को प्रक्रिया
break;
case मान2:
// मान2 को प्रक्रिया
break;
default:
// कुनै पनि मानसँग मेल नहुनु भएको अवस्थामा प्रक्रिया
}
यस संरचनामा, switch
द्वारा निर्दिष्ट गरिएको अभिव्यक्तिको मानको आधारमा, case
मा परिभाषित प्रक्रिया कार्यान्वयन हुन्छ। यदि कुनै पनि case
सँग मेल नखाएमा, default
कार्यान्वयन हुन्छ, जसले अनपेक्षित मानहरूका लागि त्रुटि प्रक्रिया सम्भव बनाउँछ।

3. switch वाक्यको मूल संरचना
अगाडि, मूल प्रयोग उदाहरण प्रस्तुत गर्दछौं। तलको प्रोग्राममा, पासाको अंक अनुसार सन्देश देखाइन्छ।
int main(void) {
int dice = 3;
switch (dice) {
case 1:
printf("1 को पाटो निस्कियो।");
break;
case 2:
printf("2 को पाटो निस्कियो।");
break;
case 3:
printf("3 को पाटो निस्कियो।");
break;
case 4:
printf("4 को पाटो निस्कियो।");
break;
case 5:
printf("5 को पाटो निस्कियो।");
break;
case 6:
printf("6 को पाटो निस्कियो।");
break;
default:
printf("अवैध पाटो निस्कियो।");
break;
}
return 0;
}
यस उदाहरणमा, dice
को मान 3 हुँदा 「3 को अंक आयो。」 देखाइन्छ। यदि अवैध मान इनपुट गरियो भने, default
द्वारा 「अवैध अंक आयो。」 सन्देश देखाइन्छ, र त्रुटि प्रक्रिया उपयुक्त रूपमा गरिन्छ।

4. स्विच कथनको प्रयोग उदाहरण: मेनु चयन
स्विच कथन प्रयोगकर्ताद्वारा इनपुट अनुसार बहु प्रक्रिया सञ्चालन गर्दा विशेष रूपमा उपयोगी हुन्छ। तलको उदाहरणमा, प्रयोगकर्ताले चयन गरेको खानाको नम्बर अनुसार, त्यससँग सम्बन्धित सन्देश देखाइन्छ।
int main(void) {
int choice;
printf("मेनु:");
printf("1. ह्याम्बर्गर");
printf("2. पिजा");
printf("3. पास्ता");
printf("नम्बर चयन गर्नुहोस्: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("ह्याम्बर्गर चयन गरियो।");
break;
case 2:
printf("पिजा चयन गरियो।");
break;
case 3:
printf("पास्ता चयन गरियो।");
break;
default:
printf("अवैध चयन।");
break;
}
return 0;
}
यो प्रोग्राममा, प्रयोगकर्ताले चयन गरेको मेनु अनुसार विभिन्न सन्देशहरू देखाइन्छ। 「स्विच कथन」 प्रयोग गरेर, कोड सरल र पढ्न सजिलो हुन्छ, र मर्मतसम्भार पनि सहज हुन्छ।

5. switch र if कथनको भिन्नता: कुन प्रयोग गर्नु पर्छ?
switch कथन र if कथन दुवै सर्तीय शाखा बनाउँछन्, तर प्रयोग फरक गर्ने बुँदाहरू छन्।
switch कथन उपयुक्त हुने परिस्थितिहरू:
- तुलना गर्ने मान स्थिर छ र त्यस मानको आधारमा शाखा बनाइँदा (उदाहरण: मेनु चयन, स्टेटस कोड)。
- सर्त सरल छ र विशिष्ट मानहरूमा प्रक्रिया गर्न चाहनुहुन्छ भने।
if कथन उपयुक्त हुने परिस्थितिहरू:
- जटिल सर्त अभिव्यक्तिहरूलाई ह्यान्डल गर्दा (उदाहरण: दायरा निर्दिष्टि वा असमानता अपरेटरको प्रयोग)。
- सर्त संख्यात्मक नभएर, तर्कीय अभिव्यक्ति वा बहु चलहरूमा आधारित निर्णय गर्न आवश्यक परेमा।
switch कथन विशेष मानमा आधारित सरल सर्त शाखा बनाउनेमा उपयुक्त हुन्छ, तर if कथनले अधिक लचिलो रूपमा जटिल सर्तहरू मूल्याङ्कन गर्न सक्छ, त्यसैले परिस्थितिको आधारमा प्रयोग फरक गर्नु महत्त्वपूर्ण छ।
6. सामान्य त्रुटिहरू र तिनीहरूको बचाउ तरिका
switch कथन प्रयोग गर्दा प्राय देखिने त्रुटिहरू र तिनीहरूको समाधान प्रस्तुत गर्दछौं।
1. break कथनको अभावले हुने फॉल्स थ्रु
break
बिर्सिएमा, निर्दिष्ट केस मात्र होइन, त्यसपछि आउने केसहरू पनि कार्यान्वयन हुन्छन्। यसलाई “फॉल्स थ्रु” भनिन्छ, तर जानबुझेर प्रयोग गर्ने अवस्थामा बाहेक, प्रत्येक case
को अन्त्यमा break
कथन राख्नुपर्छ।
2. default कथनको प्रयोग नहुनु
यदि प्रयोगकर्ता इनपुट वा अनपेक्षित मानहरू उत्पन्न हुने सम्भावना छ भने, default
कथन प्रयोग गरेर त्रुटि ह्यान्डलिङ्ग गर्नु महत्त्वपूर्ण छ। यसले कार्यक्रमले अनपेक्षित व्यवहार गर्ने जोखिमलाई घटाउन मद्दत गर्छ।

7. switch वाक्य र enum को प्रयोग
switch वाक्यलाई अझ शक्तिशाली बनाउने तरिकाहरू मध्ये एकको रूपमा, 「enum(गणना प्रकार)」 प्रयोग गर्न सकिन्छ।enum प्रयोग गरेर, संख्यात्मक मानको सट्टा अर्थपूर्ण नामले सर्तहरूलाई ह्यान्डल गर्न सकिन्छ, जसले कोडलाई सहज रूपमा बुझ्न सजिलो बनाउँछ।
enum Fruit { APPLE, BANANA, ORANGE };
int main(void) {
enum Fruit fruit = BANANA;
switch (fruit) {
case APPLE:
printf("सेब छान्नुभयो。");
break;
case BANANA:
printf("केरा छान्नुभयो。");
break;
case ORANGE:
printf("सुन्तला छान्नुभयो。");
break;
default:
printf("अवैध चयन हो。");
break;
}
return 0;
}
यस उदाहरणमा।enum
प्रयोग गरेर फलफूलको विकल्पहरू परिभाषित गरिन्छ र त्यसको आधारमाswitch वाक्य
ले प्रक्रिया विभाजन गर्दछ।गणना प्रकार प्रयोग गरेर कोडको पठनीयता र मर्मत सम्भार क्षमता सुधारिन्छ।
8. सारांश
C भाषामा switch कथनले, विशेष मानमा आधारित सर्त हुँदा अत्यन्त प्रभावकारी हुन्छ।if कथन
सँग तुलना गर्दा, सरल मानको शाखा प्रक्रिया मा विशेषीकृत छ, र पढ्न सजिलो राख्दै प्रभावकारी कोड लेख्न सकिन्छ। आगामी प्रोग्रामिङमा कृपया switch कथनलाई उपयोग गरी, अझ परिष्कृत कोड प्राप्त गर्नुहोस्।