This commit is contained in:
Tančáková 2024-03-20 16:56:39 +01:00
parent 18cb5cff25
commit 7900f4a220

View File

@ -28,7 +28,7 @@ int main() {
memset(database, 0, SIZE * sizeof(struct student)); // Inicializácia pamäte memset(database, 0, SIZE * sizeof(struct student)); // Inicializácia pamäte
int size = 0; // Aktuálny počet študentov v databáze 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] = { char input[][SIZE] = {
"2 Bardos Mrtakrys", "2 Bardos Mrtakrys",
"1 Rita Umhi", "1 Rita Umhi",
@ -41,29 +41,19 @@ int main() {
}; };
int input_size = sizeof(input) / sizeof(input[0]); 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++) { for (int i = 0; i < input_size; i++) {
int votes; int votes;
char name[SIZE]; char name[SIZE];
sscanf(input[i], "%d %[^\n]", &votes, name); if (sscanf(input[i], "%d %[^\n]", &votes, name) != 2) {
printf("Chyba pri načítaní vstupu!\n");
// Hľadanie študenta v databáze return 1;
int index = -1;
for (int j = 0; j < size; j++) {
if (strcmp(database[j].name, name) == 0) {
index = j;
break;
}
} }
// Aktualizácia databázy // Pridanie študenta do databázy
if (index == -1) { // Študent ešte nie je v databáze
strcpy(database[size].name, name); strcpy(database[size].name, name);
database[size].votes = votes; database[size].votes = votes;
size++; size++;
} else { // Študent je už v databáze
database[index].votes += votes;
}
} }
// Zoradenie databázy podľa počtu hlasov a abecedne // Zoradenie databázy podľa počtu hlasov a abecedne