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

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

@ -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);
void afficherListe(ListeDept ldept);
// iut.c
Loading…
Cancel
Save