Как сделать чтобы Switch работал в другом Switch'e? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как сделать что бы Switch работал в другом Switch'e? Вот допустим выбираем один пункт и в зависимости от выбранного нами пункта последующие для других будут разными. Вот программа, скажите что исправить.
#include<stdio.h>
#include<conio.h>
int main ()
{
    char x, y, n, q;
 
    printf("\na-test1\nb-test2\nc-test3\n");
    fflush(stdin);
    scanf("%c",&x);
    switch (x)
    {
        case 'a':
 
                printf("\ntest1\nviberite dalee\nw-test4\ne-test5\nr-test6\n");
                fflush(stdin);
                scanf("%f",&y);
                switch (y)
                {
                    case 'w':
 
                            printf("test4\n");

                    case 'e':
 
                            printf("test5\n");

                    case 'r':
 
                            printf("test6\n");

                }
 
        case 'b':
 
                printf("\ntest2\nviberite dalee\nt-test7\nu-test8\ni-test9\n");
                fflush(stdin);
                scanf("%f",&n);
                switch (n)
                {
                    case 't':
 
                            printf("test7\n");

                    case 'u':
 
                            printf("test8\n");

                    case 'i':
 
                            printf("test9\n");

                }
 
        case 'c':
 
                printf("\ntest3\nviberite dalee\no-test10\np-test11\ns-test12\n");
                fflush(stdin);
                scanf("%f",&q);
                switch (q)
                {
                    case 'o':
 
                            printf("test10\n");

                    case 'p':
 
                            printf("test11\n");

                    case 's':
 
                            printf("test12\n");

                }

    }
}

Решение задачи: «Как сделать чтобы Switch работал в другом Switch'e?»

textual
Листинг программы
#include<stdio.h>
#include<conio.h>
int main ()
{
    char x, y, n, q;
 
    printf("\na-test1\nb-test2\nc-test3\n");
    fflush(stdin);
    scanf("%c",&x);
    switch (x)
    {
        case 'a':{
 
                printf("\ntest1\nviberite dalee\nw-test4\ne-test5\nr-test6\n");
                fflush(stdin);
                scanf("%c",&y);
                switch (y)
                {
                    case 'w':{
 
                            printf("test4\n");
                            break;
                    }
 
                    case 'e':{
 
                            printf("test5\n");
                     break;
                    }
 
 
                    case 'r':{
 
                            printf("test6\n");
                     break;
                    }
 
                }
                break;
        }
 
        case 'b':{
 
                printf("\ntest2\nviberite dalee\nt-test7\nu-test8\ni-test9\n");
                fflush(stdin);
                scanf("%c",&n);
                switch (n)
                {
                    case 't':{
 
                            printf("test7\n");
                            break;
                    }
 
 
                    case 'u':{
 
                            printf("test8\n");
                            break;
                }
 
                    case 'i':{
 
                            printf("test9\n");
                            break;
                }
 
 
 
 
                }
                break;
        }
 
        case 'c':{
 
                printf("\ntest3\nviberite dalee\no-test10\np-test11\ns-test12\n");
                fflush(stdin);
                scanf("%c",&q);
                switch (q)
                {
                    case 'o':{
 
                            printf("test10\n");
                            break;
                    }
 
 
                    case 'p':{
 
                            printf("test11\n");
break;
                    }
 
                    case 's':{
 
                            printf("test12\n");
                            break;
                    }
 
                }
                break;
        }
 
 
 
    }
}

Объяснение кода листинга программы

  1. Вводная часть кода содержит объявление переменных x, y, n, q типа char.
  2. Затем с помощью функции printf выводится три строки для выбора: a-test1 / b-test2 / c-test3.
  3. Далее, с помощью функции scanf в переменную x считывается символ, который является меткой для вложенного оператора switch.
  4. В зависимости от значения переменной x выводится соответствующий результат:
    • Если 'a', то выводится test1, после чего считывается символ в переменную y. В зависимости от значения переменной y выводится соответствующий результат:
      • Если 'w', то выводится test4.
      • Если 'e', то выводится test5.
      • Если 'r', то выводится test6.
    • Если 'b', то выводится test2, после чего считывается символ в переменную n. В зависимости от значения переменной n выводится соответствующий результат:
      • Если 't', то выводится test7.
      • Если 'u', то выводится test8.
      • Если 'i', то выводится test9.
    • Если 'c', то выводится test3, после чего считывается символ в переменную q. В зависимости от значения переменной q выводится соответствующий результат:
      • Если 'o', то выводится test10.
      • Если 'p', то выводится test11.
      • Если 's', то выводится test12.
  5. Код не содержит обработку ошибок и проверку корректности вводимых пользователем данных.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы