From be3d77502c2bd02969478381f4ff8952fe912e24 Mon Sep 17 00:00:00 2001 From: Alina Konoval Date: Thu, 6 Nov 2025 20:54:34 +0100 Subject: [PATCH] du4.1 --- du4/main.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/du4/main.c b/du4/main.c index e0dcbc4..0eeeeed 100644 --- a/du4/main.c +++ b/du4/main.c @@ -1,38 +1,39 @@ #include "a_train.h" int main() { - struct car* train = NULL; // Začiatok spojkového zoznamu (vlak) + struct car* train = NULL; // Начало списка char buffer[SIZE]; + char numbuf[SIZE]; int passengers; - // Načítanie vstupných údajov od používateľa printf("Zadajte zoznam cieľových staníc a počet cestujúcich.\n"); printf("Zoznam zakončite prázdnym riadkom.\n"); while (1) { // Načítame názov stanice if (!fgets(buffer, SIZE, stdin)) break; - if (buffer[0] == '\n') break; // Prázdny riadok = koniec + if (buffer[0] == '\n') break; // prázdny riadok → koniec - buffer[strcspn(buffer, "\n")] = 0; // Odstránenie '\n' + buffer[strcspn(buffer, "\n")] = 0; // odstránenie '\n' - // Načítame počet cestujúcich (údaj sa ďalej nepoužíva) - scanf("%d", &passengers); - getchar(); // Odstráni zvyšný znak '\n' + // Načítame počet cestujúcich + if (!fgets(numbuf, SIZE, stdin)) break; + passengers = atoi(numbuf); // používame atoi (údaj sa aj tak nepoužíva) - // Pridáme vozeň do zoznamu + // Pridáme vozeň train = add_car(train, buffer); } // Zistenie stanice, ktorú treba odstrániť printf("\nZadajte stanicu, ktorá sa má vyradiť:\n"); - fgets(buffer, SIZE, stdin); - buffer[strcspn(buffer, "\n")] = 0; + if (fgets(buffer, SIZE, stdin)) { + buffer[strcspn(buffer, "\n")] = 0; + } - // Odstránenie všetkých vozňov so zadanou stanicou + // Odstránenie train = clear_train(train, buffer); - // Výpis výsledného vlaku + // Výsledok printf("\nVýsledný vlak bez stanice %s bude:\n", buffer); print_train(train); @@ -41,3 +42,4 @@ int main() { return 0; } +