Выберите вариант с переключателем и go назад в меню (C) - PullRequest
0 голосов
/ 06 мая 2020

У меня есть этот код, например:

   void example()  {
   int i,j,k;
   int sum = 0;
   int a;
   printf("Menu");
   printf("Enter 1 for first case or 0 to exit");
   scanf("%d" , &a);

switch(a){
    case 1:
        printf("first case");
        printf("now go back to Menu");
        break;}

case 0:
    exit(0);

    break;}

Я хотел бы знать, выберу ли я первый случай, как я могу go каждый раз возвращаться к:

printf("Menu"); 

Я не хочу вызывать функцию example (), я просто хочу указать go в этой строке c.

Могу я сделать это с помощью оператора switch-case или чего-то еще?

1 Ответ

2 голосов
/ 06 мая 2020

Используйте al oop:

while(1) {
   printf("Menu");
   printf("Enter 1 for first case or 0 to exit");
   scanf("%d" , &a);

   switch(a){
    case 1:
        printf("first case");
        printf("now go back to Menu");
        break;

    case 0:
        exit(0);
    }

    default:
        break;
}

Примечания на полях:

  1. Вы должны добавить отметку default, если a не равно 1 или 0.

  2. Если вам нужна иллюзия разных экранов, вам также необходимо очистить текущий экран с помощью fe printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");.

  3. Если единственный ввод - 1 или 0, if/else будет более подходящим, чем оператор switch.

Например:

while(1) {
   printf("Menu");
   printf("Enter 1 for first case or 0 to exit");
   scanf("%d" , &a);

   if(a == 1) {
        printf("first case");
        printf("now go back to Menu");
        break;
    }
    else if(a == 0) {
        exit(0);
    }

    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
}

Или еще проще:

while(1) {
   printf("Menu");
   printf("Enter 1 for first case or 0 to exit");
   scanf("%d" , &a);

   if(a == 0) {
        exit(0);
    }

    printf("first case");
    printf("now go back to Menu");

    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
}
...