Modification de ajouterCandidat pour rendre fonctionnel le realloc

master
Alix JEUDI--LEMOINE 2 years ago
parent 6899293d71
commit b8f21e98b9

@ -40,17 +40,19 @@ Candidature* creerCandidature(void) {
return candid; return candid;
} }
void ajouterCandidat(ListeCandidats liste, int* nbCandidats, Candidat* candidat) { void ajouterCandidat(ListeCandidats* listePointer, int* nbCandidats, Candidat* candidat) {
*liste = realloc(*liste, (*nbCandidats+1)*sizeof(Candidat*)); ListeCandidats listeNew = (ListeCandidats) realloc(*listePointer, (*nbCandidats+2)*sizeof(Candidat*));
if(*liste == NULL) { if(listeNew == NULL) {
perror("realloc"); perror("realloc");
exit(errno); exit(errno);
} }
*listePointer = listeNew;
*nbCandidats+=1; *nbCandidats+=1;
candidat->id = *nbCandidats; candidat->id = *nbCandidats;
liste[*nbCandidats-1] = candidat; (*listePointer)[*nbCandidats-1] = candidat;
} }
void ajouterCandidature(Candidat* candidat, Candidature* candidature) { void ajouterCandidature(Candidat* candidat, Candidature* candidature) {
@ -146,7 +148,7 @@ ListeCandidats readCandidats(int* nbCandidats) {
fscanf(fe, "%d", nbCandidats); fscanf(fe, "%d", nbCandidats);
ListeCandidats liste = (ListeCandidats) malloc(*nbCandidats*sizeof(Candidat)); ListeCandidats liste = (ListeCandidats) malloc(*nbCandidats*sizeof(Candidat*));
if(liste == NULL) { if(liste == NULL) {
perror("malloc"); perror("malloc");
@ -272,7 +274,7 @@ void test2(void) {
printf("Moyenne en spécialité : "); printf("Moyenne en spécialité : ");
scanf("%f", &candidat->moyenneSpecialite); scanf("%f", &candidat->moyenneSpecialite);
ajouterCandidat(liste, &nbCandidats, candidat); ajouterCandidat(&liste, &nbCandidats, candidat);
afficherListeCandidats(liste, nbCandidats); afficherListeCandidats(liste, nbCandidats);

Loading…
Cancel
Save