From 259eddc7070cd64a466ad7fffac440503121f804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vl=C4=8Dek?= Date: Wed, 11 Mar 2026 23:51:00 +0000 Subject: [PATCH] Aktualizovat du2/program.c --- du2/program.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/du2/program.c b/du2/program.c index ae59888..e401cb2 100644 --- a/du2/program.c +++ b/du2/program.c @@ -41,17 +41,21 @@ int main() { int x = 0; //spracovanie inputu, vycitavanie najdenych mien a najdenych poctov hlasov z retazca - while (sscanf(line, "%d %s %s", &najdPocetHlasov, najdMeno, najdPriezvisko) != -1) + //bude citat dovtedy, pokial nedosiahne limit studentDB array-u (20 prvkov max) alebo fgets() sa nedostane na koniec suboru + while (x < 20 && fgets(line, SIZE, stdin) != NULL) { - //prekopiruje najdene priezviska - strcpy(DBStudenti[x].meno, najdMeno); - strcpy(DBStudenti[x].priezvisko, najdPriezvisko); - DBStudenti[x].pocetHlasov = najdPocetHlasov; - x += 1; + if(sscanf(line, "%d %s %s", &najdPocetHlasov, najdMeno, najdPriezvisko) == 3) + { + //prekopiruje najdene priezviska (iba ak sscanf() najde vsetky 3 hodnoty) + strcpy(DBStudenti[x].meno, najdMeno); + strcpy(DBStudenti[x].priezvisko, najdPriezvisko); + DBStudenti[x].pocetHlasov = najdPocetHlasov; + x += 1; - //reset nacitanych hodnot na konci kazdeho cyklu - // memset(najdMeno, 0, SIZE); - najdPocetHlasov = 0; + //reset nacitanych hodnot na konci kazdeho cyklu + // memset(najdMeno, 0, SIZE); + najdPocetHlasov = 0; + } } //zoradenie zoznamu, resp. arrayu