Обновить cv7/program.c

This commit is contained in:
Yevhen Kozirovskyi 2024-11-15 04:10:43 +00:00
parent dea43f7f55
commit 2f9ead6445

View File

@ -46,30 +46,29 @@ int count_items(Node *node) {
return count_items(node->yes) + count_items(node->no);
}
void ask_question(Node *node) {
if (node == NULL) return;
int ask_question(Node *node) {
if (node == NULL) return 1;
if (node->text[0] == '*') {
printf("%s", node->text);
return;
return 1;
}
printf("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.\n");
printf("%s", node->text);
char answer;
if (scanf(" %c", &answer) != 1) {
if (scanf(" %c", &answer) != 1 || (answer != 'a' && answer != 'n')) {
printf("Nerozumiem\n");
return;
return 0; // Возвращаем 0, чтобы завершить программу.
}
if (answer == 'a') {
ask_question(node->yes);
return ask_question(node->yes);
} else if (answer == 'n') {
ask_question(node->no);
} else {
printf("Nerozumiem\n");
return;
return ask_question(node->no);
}
return 1;
}
int main() {
@ -80,12 +79,15 @@ int main() {
return 1;
}
printf("Expert z bufetu to vie.\n"); // Сообщение об успешной загрузке базы
printf("Expert z bufetu to vie.\n");
int item_count = count_items(root);
printf("Pozna %d druhov ovocia a zeleniny.\n", item_count);
ask_question(root);
if (!ask_question(root)) {
free_tree(root);
return 0; // Завершаем программу, если был некорректный ввод.
}
printf("Koniec\n");
free_tree(root);
return 0;