funguje
This commit is contained in:
parent
077524217d
commit
1bd8c07c8a
@ -9,6 +9,15 @@ typedef struct {
|
||||
int hlasov;
|
||||
} 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() {
|
||||
char line[SIZE];
|
||||
int num_students = 0;
|
||||
@ -48,18 +57,23 @@ int main() {
|
||||
// Odstránenie konca riadka z mena
|
||||
meno[len - 1] = '\0';
|
||||
|
||||
// Reallokácia pamäte pre ďalšieho študenta
|
||||
students = realloc(students, (num_students + 1) * sizeof(Student));
|
||||
if (students == NULL) {
|
||||
printf("CHYBA: Nepodarilo sa alokovať pamäť.\n");
|
||||
return 1;
|
||||
// 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));
|
||||
if (students == NULL) {
|
||||
printf("CHYBA: Nepodarilo sa alokovať pamäť.\n");
|
||||
return 1;
|
||||
}
|
||||
students[num_students].meno = meno;
|
||||
students[num_students].hlasov = hlasov;
|
||||
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
|
||||
}
|
||||
|
||||
// Nastavenie hodnôt pre nového študenta
|
||||
students[num_students].meno = meno;
|
||||
students[num_students].hlasov = hlasov;
|
||||
|
||||
num_students++;
|
||||
}
|
||||
|
||||
// Výpis výsledkov
|
||||
|
Loading…
Reference in New Issue
Block a user