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