From 360573e904882d813a83fe43403f9fe85fabcde4 Mon Sep 17 00:00:00 2001 From: Yurii Chechur Date: Wed, 30 Oct 2024 12:07:35 +0000 Subject: [PATCH] Update cv6/a_station.c --- cv6/a_station.c | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/cv6/a_station.c b/cv6/a_station.c index d3d7b8d..97a49f0 100644 --- a/cv6/a_station.c +++ b/cv6/a_station.c @@ -112,32 +112,15 @@ int count_capacity(struct station* station) { } // Функція для завантаження бази даних з текстового файлу -int load_from_file(struct station* station, const char* filename) { - FILE* file = fopen(filename, "r"); +void save_to_file(struct station* moja_stanica) { + FILE *file = fopen("data.txt", "w"); if (file == NULL) { - return -1; // Не вдалося відкрити файл + printf("Nepodarilo sa otvoriť súbor na zápis.\n"); + return; } - char target[TARGET_SIZE]; - int capacity; - - while (fscanf(file, "%s %d", target, &capacity) == 2) { - add_target_capacity(station, target, capacity); - } - - fclose(file); - return 0; // Успішне завантаження -} - -// Функція для збереження бази даних у текстовий файл -int save_to_file(struct station* station, const char* filename) { - FILE* file = fopen(filename, "w"); - if (file == NULL) { - return -1; // Не вдалося відкрити файл - } - - for (int i = 0; i < station->track_count; i++) { - struct car* current = station->tracks[i]; + for (int i = 0; i < moja_stanica->track_count; i++) { + struct car* current = moja_stanica->tracks[i]; while (current != NULL) { fprintf(file, "%s %d\n", current->value, current->capacity); current = current->next; @@ -145,6 +128,24 @@ int save_to_file(struct station* station, const char* filename) { } fclose(file); - return 0; // Успішне збереження + printf("Údaje boli úspešne uložené do data.txt.\n"); +} + +// Funkcia pre načítanie údajov zo súboru +void load_from_file(struct station* moja_stanica) { + FILE *file = fopen("data.txt", "r"); + if (file == NULL) { + printf("Súbor data.txt nebol nájdený. Začíname s prázdnou stanicou.\n"); + return; + } + + char target[TARGET_SIZE]; + int capacity; + while (fscanf(file, "%s %d", target, &capacity) != EOF) { + add_target_capacity(moja_stanica, target, capacity); + } + + fclose(file); + printf("Údaje boli úspešne načítané zo súboru data.txt.\n"); }