Update 'cv5/program.c'

This commit is contained in:
Tamáš 2024-03-21 17:18:40 +00:00
parent b3a30d7d3c
commit 25eb67de10

View File

@ -17,16 +17,16 @@ int pridajHlas(char* meno, int pocetHlasov) {
for (int i = 0; i < pocetStudentov; i++) { for (int i = 0; i < pocetStudentov; i++) {
if (strcmp(studenti[i].meno, meno) == 0) { if (strcmp(studenti[i].meno, meno) == 0) {
studenti[i].hlasy += pocetHlasov; studenti[i].hlasy += pocetHlasov;
return 0; return 0;
} }
} }
if (pocetStudentov < MAX_STUDENTOV) { if (pocetStudentov < MAX_STUDENTOV) {
strcpy(studenti[pocetStudentov].meno, meno); strcpy(studenti[pocetStudentov].meno, meno);
studenti[pocetStudentov].hlasy = pocetHlasov; studenti[pocetStudentov].hlasy = pocetHlasov;
pocetStudentov++; pocetStudentov++;
return 0; return 0;
} }
return 1; return 1;
} }
int porovnaj(const void* a, const void* b) { int porovnaj(const void* a, const void* b) {
@ -43,6 +43,7 @@ int main() {
char riadok[150]; char riadok[150];
char meno[MAX_MENO]; char meno[MAX_MENO];
int pocetHlasov; int pocetHlasov;
int validneZaznamy = 0;
while (fgets(riadok, sizeof(riadok), stdin)) { while (fgets(riadok, sizeof(riadok), stdin)) {
if (sscanf(riadok, "%d %[^\n]s", &pocetHlasov, meno) == 2) { if (sscanf(riadok, "%d %[^\n]s", &pocetHlasov, meno) == 2) {
@ -50,11 +51,19 @@ int main() {
printf("Nepodarilo sa pridať hlas.\n"); printf("Nepodarilo sa pridať hlas.\n");
return 1; return 1;
} }
validneZaznamy = 1;
} else { } else {
break; break;
} }
} }
if (!validneZaznamy) {
printf("Nepodarilo nacitat nic\n");
return 1;
}
qsort(studenti, pocetStudentov, sizeof(Student), porovnaj); qsort(studenti, pocetStudentov, sizeof(Student), porovnaj);
printf("Vysledky:\n"); printf("Vysledky:\n");