Update cv7/program.c

This commit is contained in:
Yurii Chechur 2024-11-06 09:07:28 +00:00
parent 46306cedb7
commit ba54f18e22

View File

@ -67,15 +67,22 @@ void runExpertSystem(struct TreeNode *node) {
// Отримуємо відповідь користувача // Отримуємо відповідь користувача
char answer; char answer;
scanf(" %c", &answer); while (1) {
// Читаємо символ і очищаємо буфер вводу
scanf(" %c", &answer); // пробіл перед %c дозволяє ігнорувати зайві пробіли
// Перевірка на коректні символи
if (answer == 'a' || answer == 'n') {
break; // Якщо відповідь правильна, виходимо з циклу
} else {
printf("Neplatna odpoved. Skuste to znova (a alebo n): ");
}
}
// Переходимо до відповідного нащадка // Переходимо до відповідного нащадка
if (answer == 'a') { if (answer == 'a') {
runExpertSystem(node->left); runExpertSystem(node->left);
} else if (answer == 'n') { } else if (answer == 'n') {
runExpertSystem(node->right); runExpertSystem(node->right);
} else {
printf("Nerozumiem\n");
} }
} }
@ -90,15 +97,15 @@ void freeTree(struct TreeNode *node) {
int main() { int main() {
// Відкриваємо файл з базою знань // Відкриваємо файл з базою знань
// FILE *file = fopen("baza.txt", "r"); // FILE *file = fopen("baza.txt", "r");
// if (file == NULL) { // if (file == NULL) {
// printf("Nepodarilo sa otvoriť súbor databázy znalostí.\n"); // printf("Nepodarilo sa otvoriť súbor databázy znalostí.\n");
// return 0; // return 0;
// } // }
// Завантажуємо базу знань в дерево // Завантажуємо базу знань в дерево
struct TreeNode *root = loadTree(stdin); struct TreeNode *root = loadTree(stdin);
// fclose(file); // fclose(file);
// Перевірка наявності порожнього рядка після бази знань // Перевірка наявності порожнього рядка після бази знань
if (root == NULL) { if (root == NULL) {