23
This commit is contained in:
parent
9b0353c04d
commit
77ddab7b97
Binary file not shown.
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user