तो मेरे प्रोफेसर ने हमें एक स्विच स्टेटमेंट बनाने के लिए कहा। हमें प्रोग्राम करने के लिए केवल "स्विच" कथन का उपयोग करने की अनुमति है। वह चाहता है कि हम एक संख्या इनपुट करें और फिर इसे प्रदर्शित करें यदि यह संख्या सीमा पर है और नीचे दिखाए गए अनुसार ब्रीफ़केस संख्या क्या ली जाएगी। अब ... मुझे पता है कि इस प्रकार के कार्यक्रम के लिए आईएफ स्टेटमेंट का उपयोग करना आसान है। केस 1 करना: केस 2: केस 3 ... केस 30 काम करेगा लेकिन नंबर सीमा के कारण बहुत अधिक समय लगेगा।सी - एकाधिक केस संख्याओं के साथ स्विच करें
#include <stdio.h>
main()
{
int x;
char ch1;
printf("Enter a number: ");
scanf("%d",&x);
switch(x)
{
case 1://for the first case #1-30
case 30:
printf("The number you entered is >= 1 and <= 30");
printf("\nTake Briefcase Number 1");
break;
case 31://for the second case #31-59
case 59:
printf("The number you entered is >= 31 and <= 59");
printf("\nTake Briefcase Number 2");
break;
case 60://for the third case #60-89
case 89:
printf("The number you entered is >= 60 and <= 89");
printf("\nTake Briefcase Number 3");
break;
case 90://for the fourth case #90-100
case 100:
printf("The number you entered is >= 90 and <= 100");
printf("\nTake Briefcase Number 4");
break;
default:
printf("Not in the number range");
break;
}
getch();
}
मेरे प्रोफेसर ने हमें बताया कि ऐसा करने के तरीके पर एक छोटा रास्ता है लेकिन हमें यह नहीं बताएगा कि कैसे। आईएफ का उपयोग करके मैं इसे छोटा करने का एकमात्र तरीका सोच सकता हूं लेकिन हमें इसकी अनुमति नहीं है। इस विचार को मैं कैसे कर सकता हूं इस पर कोई विचार?
बस जांचने के लिए, क्या आप वाकई पहला मामला 1 से 30 तक चलाते हैं? और 1 से 2 9 नहीं? –
क्या आप सोच रहे हैं कि 'केस 1: केस 30:' श्रेणी में किसी भी नंबर से मेल खाएगा? यह नहीं होगा – John3136
'केस' लेबल की आपकी पहली जोड़ी केवल 2 मानों को ढूंढती है: 1 और 30; वे 2..2 9 को अनदेखा करते हैं। अगले 'रेंज' के लिए डिट्टो, केवल स्विच का उपयोग करके, आप दर्द की दुनिया में हैं। –