This commit is contained in:
Tančáková 2024-03-22 00:09:53 +01:00
parent 077524217d
commit 1bd8c07c8a

View File

@ -9,6 +9,15 @@ typedef struct {
int hlasov; int hlasov;
} Student; } Student;
int find_student_index(Student* students, int num_students, const char* meno) {
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].meno, meno) == 0) {
return i; // Nájdený študent
}
}
return -1; // Študent neexistuje
}
int main() { int main() {
char line[SIZE]; char line[SIZE];
int num_students = 0; int num_students = 0;
@ -48,18 +57,23 @@ int main() {
// Odstránenie konca riadka z mena // Odstránenie konca riadka z mena
meno[len - 1] = '\0'; meno[len - 1] = '\0';
// Reallokácia pamäte pre ďalšieho študenta // Zistiť, či študent už existuje v databáze
int index = find_student_index(students, num_students, meno);
if (index == -1) {
// Študent neexistuje, pridáme ho do databázy
students = realloc(students, (num_students + 1) * sizeof(Student)); students = realloc(students, (num_students + 1) * sizeof(Student));
if (students == NULL) { if (students == NULL) {
printf("CHYBA: Nepodarilo sa alokovať pamäť.\n"); printf("CHYBA: Nepodarilo sa alokovať pamäť.\n");
return 1; return 1;
} }
// Nastavenie hodnôt pre nového študenta
students[num_students].meno = meno; students[num_students].meno = meno;
students[num_students].hlasov = hlasov; students[num_students].hlasov = hlasov;
num_students++; num_students++;
} else {
// Študent existuje, zvýšime počet hlasov
students[index].hlasov += hlasov;
free(meno); // Uvoľníme meno, pretože sme ho nevyužili
}
} }
// Výpis výsledkov // Výpis výsledkov