Even Odd Program in C using switch एक ऐसा beginner-friendly program है जो आपको C language की दो बेहद जरूरी concepts — modulus operator और switch-case statement — को practically समझने का मौका देता है। अगर आप C programming सीखना शुरू कर रहे हैं, तो यह program आपके लिए एक बेहतरीन starting point है।
इस blog post में आप सीखेंगे कि switch statement का उपयोग करके किसी number को even या odd कैसे check किया जाता है, negative numbers को कैसे handle किया जाता है, और multiple cases को एक साथ कैसे जोड़ा जाता है। इसके साथ ही आप यह भी समझेंगे कि यही logic real-world programming में कहाँ-कहाँ काम आती है।
यह program भले ही simple लगे, लेकिन इसके पीछे की logic बहुत powerful है। जब आप इसे पूरी तरह समझ लेते हैं, तो conditional programming और switch-case का use बड़े projects में भी आसानी से कर पाते हैं। तो चलिए step-by-step सब कुछ समझते हैं।
Table of Contents
Even Odd Number क्या होता है? (Basic Concept)
इससे पहले कि हम program की तरफ जाएं, यह जानना जरूरी है कि even और odd numbers असल में होते क्या हैं।
- Even Number: वे numbers जो 2 से पूरी तरह divisible होते हैं, यानी जिन्हें 2 से divide करने पर remainder 0 आता है। जैसे — 2, 4, 6, 8, 100।
- Odd Number: वे numbers जो 2 से divide होने पर remainder 1 या -1 देते हैं। जैसे — 1, 3, 5, 7, -9।
C language में यह check करने के लिए हम modulus operator % का उपयोग करते हैं। num % 2 का result ही बताता है कि number even है या odd।
Switch Statement क्या होता है और यह If-Else से कैसे अलग है?
C programming में conditions check करने के दो मुख्य तरीके होते हैं — if-else और switch-case। दोनों का काम एक जैसा है, लेकिन इनके बीच कुछ अहम फर्क होते हैं।
Switch Statement की खासियतें
- यह किसी fixed integer value या expression के आधार पर काम करता है।
- Multiple cases को एक साथ handle करना switch में बहुत आसान होता है।
- जब cases की संख्या ज्यादा हो, तो switch code को readable और clean बनाता है।
- हर case के अंत में break लगाना जरूरी होता है, वरना execution अगले case में भी चला जाता है — इसे fall-through कहते हैं।
If-Else बनाम Switch
| Feature | If-Else | Switch |
|---|---|---|
| Range-based condition | हाँ | नहीं |
| Fixed value check | हाँ | हाँ |
| Readability (many cases) | कम | ज्यादा |
| Fall-through behavior | नहीं | हाँ |
Even-odd जैसी situation में switch perfect है क्योंकि num % 2 का result केवल 0, 1, या -1 हो सकता है।
Even Odd Program in C using Switch — Code
नीचे वह program दिया गया है जो switch statement का उपयोग करके किसी number को even या odd identify करता है।
#include <stdio.h>
int main()
{
int num;
printf("Enter a number: ");
scanf("%d", &num);
// Check whether the number is even or odd
switch (num % 2)
{
case 0:
printf("Even number.\n");
break;
case 1:
case -1:
printf("Odd number.\n");
break;
default:
printf("Invalid input!\n");
}
return 0;
}
Program Output
Code Explanation — Line by Line
यह section उन लोगों के लिए है जो हर line का मतलब गहराई से समझना चाहते हैं।
1. Header File Include करना
#include<stdio.h>
यह line standard input-output header file को include करती है। इसके बिना printf() और scanf() जैसे functions काम नहीं करते।
2. Main Function और Variable Declaration
int main()
{
int num;
int main() program का entry point है — यहाँ से execution शुरू होता है। int num एक integer variable है जिसमें user का input store होगा।
3. User से Input लेना
printf(“Enter a Number : “);
scanf(“%d”, &num);
printf() user को prompt दिखाता है। scanf() keyboard से integer value लेकर num variable में store कर देता है।
4. Switch Statement — Program का दिल
switch(num % 2)
यहाँ modulus operator % का जादू होता है। num % 2 का result:
- 0 आए → number even है
- 1 आए → positive odd number है
- -1 आए → negative odd number है (यह C का behavior है)
5. Cases को Handle करना
case 0:
printf("Even number.");
break;
case 1:
case -1:
printf("Odd number.");
break;case 1: और case -1: को एक साथ जोड़ा गया है — इसे case stacking या fall-through technique कहते हैं। दोनों के लिए एक ही output मिलता है। यह एक बहुत उपयोगी technique है जब दो अलग values पर same action करना हो।
6. Default Case
default:
printf(“Invalid input!”);
यह case तब execute होता है जब ऊपर दिए गए किसी भी case से match नहीं होता। num % 2 के संदर्भ में यह theoretically नहीं होना चाहिए, लेकिन robust code लिखने की best practice है कि default हमेशा रखें।
7. Program का अंत
return 0;
यह line operating system को बताती है कि program successfully complete हो गया है।
Negative Numbers के साथ Switch — एक Important Insight
बहुत से beginners यह सवाल पूछते हैं — “अगर negative number enter किया तो क्या होगा?”
C language में -7 % 2 का result -1 होता है, न कि 1। यही कारण है कि इस program में case -1: अलग से दिया गया है। अगर आप यह case नहीं लिखते, तो -7 जैसे negative odd numbers के लिए default block execute होगा और “Invalid input!” print होगा — जो गलत होगा।
इसलिए यह program negative numbers को भी correctly handle करता है — और यही इसे एक complete solution बनाता है।
इसी Program को If-Else से कैसे लिखते? (Comparison)
#include <stdio.h>
int main()
{
int num;
printf("Enter a number: ");
scanf("%d", &num);
// Check whether the number is even or odd
if (num % 2 == 0)
printf("Even number.\n");
else
printf("Odd number.\n");
return 0;
}
यह if-else version छोटा जरूर है, लेकिन switch version आपको यह सिखाता है कि एक expression के multiple outcomes को elegantly कैसे manage किया जाए। जब cases बढ़ते हैं — जैसे किसी number के कई possible remainders हों — तो switch ज्यादा readable और maintainable होता है।
Even Odd Program के Real-World Applications
यह concept सिर्फ textbook exercise नहीं है। Real programming में भी even-odd checking और switch statement हर जगह मिलते हैं।
- Loop control: For loop में alternate rows को style करने के लिए (जैसे HTML tables में zebra striping)।
- Array processing: Even और odd index पर अलग-अलग operations perform करना।
- Games: Turn-based games में यह check करना कि किसका turn है।
- Data sorting: Numbers को even और odd groups में categorize करना।
- Menu-driven programs: Switch statement का सबसे common use, जहाँ user किसी option का number input करता है।
Common Mistakes जो Beginners करते हैं
even odd program in C using switch लिखते समय beginners अक्सर कुछ common गलतियाँ करते हैं:
- break भूल जाना — इससे fall-through होता है और अगले case का output भी print हो जाता है।
- case -1: न लिखना — Negative odd numbers के लिए यह case जरूरी है।
- default न लिखना — यह defensive programming के लिए जरूरी है।
- scanf() में & भूलना — &num की जगह num लिखने से runtime error आता है।
- Switch में float use करने की कोशिश — Switch केवल integer और character values पर काम करता है, float पर नहीं।
Conclusion ( निष्कर्ष )
Even Odd Program in C using switch एक simple लेकिन बेहद instructive example है जो आपको modulus operator, switch-case stacking, negative number handling, और defensive programming जैसे multiple concepts एक साथ सिखाता है। इस एक program को ध्यान से समझने के बाद आप किसी भी switch-based logic को आत्मविश्वास के साथ लिख सकते हैं। याद रखें — break लगाना, case -1: handle करना, और default लिखना — ये तीन चीज़ें इस program को robust और complete बनाती हैं।
अगर आप C programming को seriously सीखना चाहते हैं, तो इस program को खुद लिखें, compile करें, और अलग-अलग inputs जैसे 0, negative numbers, और बड़े numbers के साथ test करें। Practice ही असली teacher है। इस post को अपने दोस्तों के साथ share करें जो C programming सीख रहे हैं, और अगर कोई सवाल हो तो नीचे comment करें — हम जरूर जवाब देंगे।
