From 77ddab7b978acf8410dd5ef4e7308b6421a2a795 Mon Sep 17 00:00:00 2001 From: Deinerovych Date: Thu, 7 Nov 2024 14:33:06 +0100 Subject: [PATCH] 23 --- cv7/.knowledge_base.txt.swp | Bin 12288 -> 12288 bytes cv7/program.c | 22 ++++++++-------------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/cv7/.knowledge_base.txt.swp b/cv7/.knowledge_base.txt.swp index be9a3fdaef9598831cdfb33171fc464c353ca386..1e36ab35a4591267153ddbdc5619c6cd8f975409 100644 GIT binary patch delta 93 zcmZojXh_%~Ai$`&Sy13JKkE%128N2soC^I+6}+1j1@7@oUaiY-e6jIjkHUq07n?5Z xy4Y~B`(hK2d$Hxhh6_6{>{ht25y;qnv0LH7_6vJ~%)J+OT-d3%d6%vm698>TFFgPN delta 41 xcmZojXh_%~Ai&7KSy13JKPxvc1H|k@3vU1b 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);