Итак, мой профессор попросил нас создать оператор switch. Нам разрешено использовать только инструкцию «SWITCH» для выполнения программы. Он хочет, чтобы мы вводили номер, а затем отображали его, если он находится в диапазоне номеров, и какой номер портфеля будет сделан, как показано ниже. Теперь ... Я знаю, что для этого типа программы проще использовать оператор IF. Выполнение дела 1: случай 2: случай 3 ... Дело 30 будет работать, но займет слишком много времени из-за диапазона номеров.C - Переключатель с несколькими номерами корпусов
#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();
}
Мой профессор сказал нам, что существует более короткий способ, как это сделать, но не расскажет нам, как это сделать. Единственный способ, которым я могу думать об этом, - это использовать IF, но нам не разрешают. Любые идеи о том, как я могу это сделать?
Просто чтобы проверить, вы уверены, что первый случай идет от 1 до 30? а не от 1 до 29? –
Вы думаете, что «случай 1: случай 30:' будет соответствовать любому числу в диапазоне? Это не так. – John3136
Ваша первая пара ярлыков 'case' содержит только 2 значения: 1 и 30; они игнорируют 2..29. То же самое для следующего «диапазона» и т. Д. Используя только переключатель, вы находитесь в мире боли. –