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) {
|
void run_expert_system(Node *node) {
|
||||||
while (node) {
|
while (node) {
|
||||||
// Выводим приглашение для ввода
|
|
||||||
printf("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.\n");
|
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) {
|
if (!node->yes && !node->no) {
|
||||||
printf("*%s\n", node->text);
|
printf("*%s\n", node->text);
|
||||||
printf("Koniec\n");
|
return; // Завершаем без дополнительного вывода "Koniec"
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char answer;
|
char answer;
|
||||||
if (scanf(" %c", &answer) != 1) {
|
if (scanf(" %c", &answer) != 1) {
|
||||||
printf("Koniec\n"); // Некорректный ввод
|
return; // Завершаем без вывода "Koniec" при некорректном вводе
|
||||||
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"); // Некорректный ответ
|
return; // Завершаем без вывода "Koniec" при некорректном ответе
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Если следующий узел - конечный, выводим ответ и завершаем
|
// Проверка после выбора, если узел конечный
|
||||||
if (node && !node->yes && !node->no) {
|
if (node && !node->yes && !node->no) {
|
||||||
printf("*%s\n", node->text);
|
printf("*%s\n", node->text);
|
||||||
printf("Koniec\n");
|
return; // Завершаем без дополнительного вывода "Koniec"
|
||||||
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