diff --git a/cv7/program.c b/cv7/program.c index 7ef48a9..7e789be 100644 --- a/cv7/program.c +++ b/cv7/program.c @@ -49,34 +49,34 @@ int count_products(Node *node) { void run_expert_system(Node *node) { while (node) { - if (!node->yes && !node->no) { // Если это листовой узел - printf("*%s\n", node->text); // Выводим только ответ + 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; } - printf("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.\n"); - printf("%s\n", node->text); - char answer; if (scanf(" %c", &answer) != 1) { - printf("Koniec\n"); // Неправильный ввод, завершение + printf("Koniec\n"); // Некорректный ввод return; } - // Переход к следующему узлу в зависимости от ответа пользователя + // Переход к следующему узлу if (answer == 'a') { node = node->yes; } else if (answer == 'n') { node = node->no; } else { - printf("Koniec\n"); // Неправильный ответ, завершение + printf("Koniec\n"); // Некорректный ввод return; } } } - void free_tree(Node *node) { if (node) { free_tree(node->yes);