From 1cbb1889d8f326eabafecd912a365e775833d8bd Mon Sep 17 00:00:00 2001 From: loris OBRY Date: Sun, 18 Dec 2022 15:50:53 +0100 Subject: [PATCH] Verification de l'existance ou non du departement dans ajouterDept --- iut.c | 7 +++++++ listeDepartements.c | 12 ++++++++++-- main.c | 15 +++++++-------- sae.h | 9 ++++++--- 4 files changed, 30 insertions(+), 13 deletions(-) create mode 100644 iut.c diff --git a/iut.c b/iut.c new file mode 100644 index 0000000..2b64930 --- /dev/null +++ b/iut.c @@ -0,0 +1,7 @@ +#include "sae.h" + +VilleIut ajouterDepartement(VilleIut iut, char nom[30], char resp[30], int nbP) +{ + iut.ldept = ajouterDept(iut.ldept, nom, resp, nbP); + return iut; +} \ No newline at end of file diff --git a/listeDepartements.c b/listeDepartements.c index 596770f..73f14ea 100644 --- a/listeDepartements.c +++ b/listeDepartements.c @@ -75,15 +75,23 @@ ListeDept supprimerEnTete(ListeDept ldept) * Si la liste est vide, le maillon est ajouté en tête de la liste. * Si la liste contient déjà des éléments, le maillon est ajouté en ordre alphabétique selon le nom du département. */ -ListeDept ajouter(ListeDept ldept, char nomDept[], char resp[], int nbP) +ListeDept ajouterDept(ListeDept ldept, char nomDept[], char resp[], int nbP) { MaillonDept *temp; if (vide(ldept)) return ajouterEnTete(ldept, nomDept, resp, nbP); temp = ldept; - while (temp->suiv && strcmp(temp->suiv->nomDept, nomDept) < 0) + while (temp->suiv && strcmp(temp->suiv->nomDept, nomDept) <= 0) + { temp = temp->suiv; + } + if (strcmp(temp->nomDept, nomDept) == 0) + { + printf("Ce département existe déjà.\n"); + // [A completer] + return ldept; + } temp->suiv = ajouterEnTete(temp->suiv, nomDept, resp, nbP); return ldept; } diff --git a/main.c b/main.c index 8d4cb42..23a5ada 100644 --- a/main.c +++ b/main.c @@ -4,13 +4,12 @@ int main(void) { ListeDept ldept; + VilleIut iut; - ldept = listenouv(); - - ldept = ajouterEnTete(ldept, "Informatique", "John Doe", 150); - ldept = ajouterEnTete(ldept, "Bio", "Ryan Taro", 200); - afficherListe(ldept); - ajouter(ldept, "Chimie", "Henri Laserre", 80); - afficherListe(ldept); - printf("%d", longueur(ldept)); + //TESTS des fonctions de manipulation des structures VilleIut et ListeDept + iut.ldept = listenouv(); + strcpy(iut.nom, "Clermont Ferrand"); + iut.ldept = ajouterDept(iut.ldept, "Chimie", "Henri Laserre", 80); + iut.ldept = ajouterDept(iut.ldept, "Chimie", "Henri Laserre", 80); + afficherListe(iut.ldept); } \ No newline at end of file diff --git a/sae.h b/sae.h index 5f3dac0..29d9d48 100644 --- a/sae.h +++ b/sae.h @@ -18,11 +18,14 @@ typedef struct ListeDept ldept; }VilleIut; -// Liste.c +// listeDeparements.c 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 supprimer(ListeDept ldept, char nom[]); +ListeDept ajouterDept(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 +void afficherListe(ListeDept ldept); + +// iut.c \ No newline at end of file