Verification de l'existance ou non du departement dans ajouterDept

master
loris OBRY 2 years ago
parent 7ea63d7b01
commit 1cbb1889d8

@ -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;
}

@ -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 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. * 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; MaillonDept *temp;
if (vide(ldept)) if (vide(ldept))
return ajouterEnTete(ldept, nomDept, resp, nbP); return ajouterEnTete(ldept, nomDept, resp, nbP);
temp = ldept; temp = ldept;
while (temp->suiv && strcmp(temp->suiv->nomDept, nomDept) < 0) while (temp->suiv && strcmp(temp->suiv->nomDept, nomDept) <= 0)
{
temp = temp->suiv; 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); temp->suiv = ajouterEnTete(temp->suiv, nomDept, resp, nbP);
return ldept; return ldept;
} }

@ -4,13 +4,12 @@
int main(void) int main(void)
{ {
ListeDept ldept; ListeDept ldept;
VilleIut iut;
ldept = listenouv();
//TESTS des fonctions de manipulation des structures VilleIut et ListeDept
ldept = ajouterEnTete(ldept, "Informatique", "John Doe", 150); iut.ldept = listenouv();
ldept = ajouterEnTete(ldept, "Bio", "Ryan Taro", 200); strcpy(iut.nom, "Clermont Ferrand");
afficherListe(ldept); iut.ldept = ajouterDept(iut.ldept, "Chimie", "Henri Laserre", 80);
ajouter(ldept, "Chimie", "Henri Laserre", 80); iut.ldept = ajouterDept(iut.ldept, "Chimie", "Henri Laserre", 80);
afficherListe(ldept); afficherListe(iut.ldept);
printf("%d", longueur(ldept));
} }

@ -18,11 +18,14 @@ typedef struct
ListeDept ldept; ListeDept ldept;
}VilleIut; }VilleIut;
// Liste.c // listeDeparements.c
ListeDept ajouterEnTete(ListeDept ldept, char nomDept[], char resp[], int nbP); ListeDept ajouterEnTete(ListeDept ldept, char nomDept[], char resp[], int nbP);
ListeDept supprimerEnTete(ListeDept ldept); 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(); ListeDept listenouv();
bool vide(ListeDept ldept); bool vide(ListeDept ldept);
int longueur(ListeDept ldept); int longueur(ListeDept ldept);
void afficherListe(ListeDept ldept); void afficherListe(ListeDept ldept);
// iut.c
Loading…
Cancel
Save