28
This commit is contained in:
parent
1c39011d3f
commit
1aadb65c26
@ -49,34 +49,34 @@ int count_products(Node *node) {
|
|||||||
|
|
||||||
void run_expert_system(Node *node) {
|
void run_expert_system(Node *node) {
|
||||||
while (node) {
|
while (node) {
|
||||||
if (!node->yes && !node->no) { // Если это листовой узел
|
printf("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.\n");
|
||||||
printf("*%s\n", node->text); // Выводим только ответ
|
printf("%s\n", node->text);
|
||||||
|
|
||||||
|
// Проверка, если это листовой узел
|
||||||
|
if (!node->yes && !node->no) {
|
||||||
|
printf("*%s\n", node->text); // Выводим ответ с звездочкой
|
||||||
printf("Koniec\n");
|
printf("Koniec\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.\n");
|
|
||||||
printf("%s\n", node->text);
|
|
||||||
|
|
||||||
char answer;
|
char answer;
|
||||||
if (scanf(" %c", &answer) != 1) {
|
if (scanf(" %c", &answer) != 1) {
|
||||||
printf("Koniec\n"); // Неправильный ввод, завершение
|
printf("Koniec\n"); // Некорректный ввод
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Переход к следующему узлу в зависимости от ответа пользователя
|
// Переход к следующему узлу
|
||||||
if (answer == 'a') {
|
if (answer == 'a') {
|
||||||
node = node->yes;
|
node = node->yes;
|
||||||
} else if (answer == 'n') {
|
} else if (answer == 'n') {
|
||||||
node = node->no;
|
node = node->no;
|
||||||
} else {
|
} else {
|
||||||
printf("Koniec\n"); // Неправильный ответ, завершение
|
printf("Koniec\n"); // Некорректный ввод
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void free_tree(Node *node) {
|
void free_tree(Node *node) {
|
||||||
if (node) {
|
if (node) {
|
||||||
free_tree(node->yes);
|
free_tree(node->yes);
|
||||||
|
Loading…
Reference in New Issue
Block a user