diff --git a/cv7/.knowledge_base.txt.swp b/cv7/.knowledge_base.txt.swp index be9a3fd..1e36ab3 100644 Binary files a/cv7/.knowledge_base.txt.swp and b/cv7/.knowledge_base.txt.swp differ diff --git a/cv7/program.c b/cv7/program.c index e8216f6..1cdf50f 100644 --- a/cv7/program.c +++ b/cv7/program.c @@ -49,45 +49,39 @@ int count_products(Node *node) { void run_expert_system(Node *node) { while (node) { - // Выводим приглашение для ввода printf("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.\n"); - - // Выводим текущий вопрос printf("%s\n", node->text); - // Проверяем, достигли ли конечного узла + // Проверяем, является ли узел конечным (ответом) if (!node->yes && !node->no) { printf("*%s\n", node->text); - printf("Koniec\n"); - return; + return; // Завершаем без дополнительного вывода "Koniec" } char answer; if (scanf(" %c", &answer) != 1) { - printf("Koniec\n"); // Некорректный ввод - return; + return; // Завершаем без вывода "Koniec" при некорректном вводе } - // Переходим к узлу "да" или "нет" + // Выбор узла "да" или "нет" в зависимости от ответа if (answer == 'a') { node = node->yes; } else if (answer == 'n') { node = node->no; } else { - printf("Koniec\n"); // Некорректный ответ - return; + return; // Завершаем без вывода "Koniec" при некорректном ответе } - // Если следующий узел - конечный, выводим ответ и завершаем + // Проверка после выбора, если узел конечный if (node && !node->yes && !node->no) { printf("*%s\n", node->text); - printf("Koniec\n"); - return; + return; // Завершаем без дополнительного вывода "Koniec" } } } + void free_tree(Node *node) { if (node) { free_tree(node->yes);