From 7900f4a22046bef4b54a1313df3e07b67f27950d Mon Sep 17 00:00:00 2001 From: st529yr Date: Wed, 20 Mar 2024 16:56:39 +0100 Subject: [PATCH] funguje --- cv5/program.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/cv5/program.c b/cv5/program.c index c3e85b9..91c28c9 100644 --- a/cv5/program.c +++ b/cv5/program.c @@ -28,7 +28,7 @@ int main() { memset(database, 0, SIZE * sizeof(struct student)); // Inicializácia pamäte int size = 0; // Aktuálny počet študentov v databáze - // Definovaný zoznam študentov s počtom hlasov + // Zoznam študentov s počtom hlasov char input[][SIZE] = { "2 Bardos Mrtakrys", "1 Rita Umhi", @@ -41,29 +41,19 @@ int main() { }; int input_size = sizeof(input) / sizeof(input[0]); - // Spracovanie hlasov a aktualizácia databázy + // Vytvorenie databázy študentov zo vstupných údajov for (int i = 0; i < input_size; i++) { int votes; char name[SIZE]; - sscanf(input[i], "%d %[^\n]", &votes, name); - - // Hľadanie študenta v databáze - int index = -1; - for (int j = 0; j < size; j++) { - if (strcmp(database[j].name, name) == 0) { - index = j; - break; - } + if (sscanf(input[i], "%d %[^\n]", &votes, name) != 2) { + printf("Chyba pri načítaní vstupu!\n"); + return 1; } - // Aktualizácia databázy - if (index == -1) { // Študent ešte nie je v databáze - strcpy(database[size].name, name); - database[size].votes = votes; - size++; - } else { // Študent je už v databáze - database[index].votes += votes; - } + // Pridanie študenta do databázy + strcpy(database[size].name, name); + database[size].votes = votes; + size++; } // Zoradenie databázy podľa počtu hlasov a abecedne