Ошибка:"Не удалось получить отладочный код" - C (СИ)
Формулировка задачи:
Здравствуйте, понадобилось сделать многоуровневую менюшку через switch, однако работа программы завершается сразу после ввода значения x, и выводится сообщение: "Не удалось получить отладочный код".
В чем может быть проблема?
#include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int x, y, z; void level3() { do { printf("unput y:"); scanf("%d", y); switch(y) { case 1: printf("y1 \n" ); break; case 2: printf("y2 \n" ); break; case 3: printf("y1 \n" ); break; case 0: y=0; } } while (y != 0); } void level2() { do { printf("unput z:"); scanf("%d", z); switch(z) { case 1: printf("z1 \n" ); break; case 2: printf("z2 \n" ); break; case 3: level3(); break; case 0: z=0; } } while (z != 0); } void level1() { do { printf("unput x:"); scanf("%d", x); switch(x) { case 1: printf("x1 \n" ); break; case 2: level2(); break; case 3: printf("x3 \n" ); break; case 4: printf("x4 \n" ); break; case 5: printf("x5 \n" ); break; case 0: x=0; } } while (x != 0); } int main() { level1(); return 0; }
Решение задачи: «Ошибка:"Не удалось получить отладочный код"»
textual
Листинг программы
#include <stdio.h> #include <conio.h> static void Level1(); static void Level2(); static void Level3(); static int ii = 0; static int jj = 0; static int kk = 0; static void Level1() { do { printf("Input ii:"); scanf("%d",&ii); switch (ii) { case 1: { printf("x1\n"); break; } case 2: { Level2(); break; } case 3: { printf("x3\n"); break; } case 4: { printf("x4\n"); break; } case 5: { printf("x5\n"); break; } } } while (ii); } static void Level2() { do { printf("Input jj:"); scanf("%d",&jj); switch (jj) { case 1: { printf("x1\n"); break; } case 2: { printf("x3\n"); break; } case 3: { Level3(); break; } case 4: { printf("x4\n"); break; } case 5: { printf("x5\n"); break; } } } while (jj); } static void Level3() { do { printf("Input kk:"); scanf("%d",&kk); switch (kk) { case 1: { printf("x1\n"); break; } case 2: { printf("x2\n"); break; } case 3: { printf("x3\n"); break; } case 4: { printf("x4\n"); break; } case 5: { printf("x5\n"); break; } } } while (kk); } int main(int argc,char** argv) { Level1(); return 0; }
Объяснение кода листинга программы
- В коде используется язык программирования C.
- Код содержит три функции: Level1(), Level2() и Level3().
- В каждой из функций используется цикл do-while для повторного выполнения кода до тех пор, пока пользователь не введет ноль.
- В каждой функции есть оператор switch, который выполняет различные действия в зависимости от введенного пользователем числа.
- Каждое действие в операторе switch выводит на экран строку
x1
,x2
,x3
,x4
илиx5
. - В функции main() вызывается функция Level1(), что приводит к выводу на экран первого набора вопросов.
- Возвращаемое значение функции main() равно 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д