funguje
This commit is contained in:
parent
077524217d
commit
1bd8c07c8a
@ -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
|
||||||
students = realloc(students, (num_students + 1) * sizeof(Student));
|
int index = find_student_index(students, num_students, meno);
|
||||||
if (students == NULL) {
|
if (index == -1) {
|
||||||
printf("CHYBA: Nepodarilo sa alokovať pamäť.\n");
|
// Študent neexistuje, pridáme ho do databázy
|
||||||
return 1;
|
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
|
// Výpis výsledkov
|
||||||
|
Loading…
Reference in New Issue
Block a user