Also hat mich mein Professor gebeten, eine switch-Anweisung zu erstellen. Wir dürfen nur die "SWITCH" Anweisung verwenden, um das Programm zu machen. Er möchte, dass wir eine Nummer eingeben und sie dann anzeigen, wenn sie sich auf dem Nummernkreis befindet und welche Aktenkoffernummer wie unten gezeigt genommen wird. Jetzt ... Ich weiß, dass es für diese Art von Programm einfacher ist, die IF-Anweisung zu verwenden. Fall 1: Fall 2: Fall 3 ... Fall 30 funktioniert, wird aber wegen des Nummernbereichs zu lange dauern.C - Switch mit mehreren Fallnummern
#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();
}
Mein Professor sagte uns, dass es einen kürzeren Weg gibt, wie man das macht, aber uns nicht sagen wird, wie. Der einzige Weg, wie ich es verkürzen kann, ist IF zu benutzen, aber wir dürfen es nicht. Irgendwelche Ideen, wie ich das schaffen kann?
Nur um zu überprüfen, sind Sie sicher, dass der erste Fall von 1 bis 30 geht? und nicht 1 bis 29? –
Denken Sie, 'Fall 1: Fall 30:' wird mit einer beliebigen Zahl im Bereich übereinstimmen? Es wird nicht. – John3136
Ihr erstes Paar von 'Case'-Etiketten findet nur 2 Werte: 1 und 30; sie ignorieren 2..29. Dito für die nächste 'Reichweite', usw. Mit nur Schalter, Sie sind in einer Welt der Schmerzen. –