Ajout de la structure de la partie 3 et de la fonction de configuration des nouvelles listes et de leurs départements ( Jean )

master
Siwa12100 2 years ago
parent d0f9179726
commit 11acff1039

@ -52,7 +52,6 @@ typedef struct maillonCandidat
struct maillonCandidat * suiv;
} MaillonCandidat, * ListeCandidats;
// Structures de la partie 1 :
typedef struct log
{
@ -62,6 +61,16 @@ typedef struct log
}Log;
typedef struct maillonDept
{
char nomDept[30];
char resp[30];
int nbP;
struct maillonDept *suiv;
}MaillonDept, *ListeDept;
typedef struct maillonDeptV2
{
char nomDept[30];
char resp[30];
@ -72,15 +81,18 @@ typedef struct maillonDept
int admisMax;
ListeCandidats lAdmis;
ListeCandidats lAttente;
struct maillonDeptV2 *suiv;
struct maillonDept *suiv;
}MaillonDept, *ListeDept;
} MaillonDeptV2, * ListeDeptV2;
// Utilise pour le tableau de pointeurs sur cette structure (pour Guillaume)
typedef struct
{
char nom[30];
ListeDept lDept;
// Mise à jour pour correspondre à la partie 3
ListeDeptV2 lDeptV2;
}VilleIut;
/*

@ -541,3 +541,62 @@ void afficherCandidats(Candidat *candidats, int nbCandidats)
afficherCandidat(candidats[i]);
}
}
// ===============================================================================
// PARTIE 3
//===============================================================================
/**
* \brief Permet de convertir la liste de departement des VilleIut de la partie 1
dans la nouvelle version pour correspondre à la partie 3. Et la fonction
définie au passage le nombre maximal d'admis pour le département et sa
moyenne minimale à obtenir pour y accéder.
* \param ldept La liste de départements de la partie 1 pour une villeIut
* \return La nouvelle liste de départements adaptée à la partie 3.
*
*/
ListeDeptV2 configurationDeptV2( ListeDept ldept )
{
ListeDeptV2 lDeptV2 = NULL;
if ( ldept == NULL ) return lDeptV2;
while ( ldept != NULL )
{
MaillonDept * aux = ( MaillonDept * ) malloc ( sizeof( MaillonDept ));
if ( aux == NULL )
{
printf(" \n ---> Erreur d'allocation memoire... \n");
exit(1);
}
MaillonDeptV2 * mV2 = ( MaillonDeptV2 ) malloc ( sizeof( MaillonDeptV2 ));
{
printf("\n --> Erreur d'allocation memoire...\n");
exit(1);
}
printf(" \n Quelle est la moyenne minimale a avoir pour le departement %10s ? : ", ldept -> nomDept);
scanf("%d", mV2 -> moyMin);
printf(" \n Quel est le nombre maximal d'admis pour le departement %10s ", ldept -> nomDept);
scanf("%d", mV2 -> admisMax);
strcpy( ldept -> nomDept, mV2 -> nomDept );
strcpy( ldept -> resp, mV2 -> resp );
mV2 -> nbP = ldept -> nbP;
lDeptV2 -> lAdmis = NULL;
lDeptV2 -> lAttente = NULL;
mV2 -> suiv = lDeptV2;
lDeptV2 = mV2;
aux = ldept;
ldept = ldept -> suiv;
free(aux);
}
return lDeptV2;
}
Loading…
Cancel
Save