diff --git a/liste.c b/liste.c index ea18d28..596770f 100644 --- a/liste.c +++ b/liste.c @@ -60,17 +60,7 @@ ListeDept supprimerEnTete(ListeDept ldept) return aux; } -/** - * @brief Vérifie si une liste de départements est vide. - * @param ldept La liste de départements à vérifier. - * @return true si la liste est vide, false sinon. - */ -bool vide(ListeDept ldept) -{ - if (!ldept) - return true; - return false; -} + /** * \brief Ajoute un maillon à la liste de départements, en ordre alphabétique. @@ -111,6 +101,34 @@ ListeDept listenouv() return l; } +/** + * @brief Vérifie si une liste de départements est vide. + * @param ldept La liste de départements à vérifier. + * @return true si la liste est vide, false sinon. + */ +bool vide(ListeDept ldept) +{ + if (!ldept) + return true; + return false; +} + +/** + * @brief Calcule la longueur d'une liste de départements. + * @param ldept La liste de département à compter + * @return La longueur de la liste. + */ +int longueur(ListeDept ldept) +{ + int i = 0; + while (ldept) + { + ldept = ldept->suiv; + i++; + } + return i; +} + /** * @brief Affiche tous les départements d'une liste, avec leurs noms, leurs responsables et leur nombre de places, sous forme de tableau. * @param ldept Liste de départements à afficher. diff --git a/main.c b/main.c index cb896fc..8d4cb42 100644 --- a/main.c +++ b/main.c @@ -12,4 +12,5 @@ int main(void) afficherListe(ldept); ajouter(ldept, "Chimie", "Henri Laserre", 80); afficherListe(ldept); + printf("%d", longueur(ldept)); } \ No newline at end of file diff --git a/sae.h b/sae.h index 51a0c4b..5f3dac0 100644 --- a/sae.h +++ b/sae.h @@ -19,9 +19,10 @@ typedef struct }VilleIut; // Liste.c -ListeDept ajouter(ListeDept ldept, char nomDept[], char resp[], int nbP); ListeDept ajouterEnTete(ListeDept ldept, char nomDept[], char resp[], int nbP); ListeDept supprimerEnTete(ListeDept ldept); +ListeDept ajouter(ListeDept ldept, char nomDept[], char resp[], int nbP); ListeDept listenouv(); bool vide(ListeDept ldept); +int longueur(ListeDept ldept); void afficherListe(ListeDept ldept); \ No newline at end of file