diff --git a/part1.c b/part1.c index 49d3de2..a66e3e8 100644 --- a/part1.c +++ b/part1.c @@ -75,13 +75,16 @@ int Chargement(VilleIUT **tV, int tmax, char *nameFile) if (f == NULL){printf("pb ouv file"); return -1;} VilleIUT v; - fscanf(f, "%s %d", v.ville, &cpt); + fscanf(f, "%s %d", v.ville, &v.nbDept); while (!feof(f)) { tV[i] = (VilleIUT *)malloc(sizeof(VilleIUT)); if (tV[i] == NULL){printf("pb malloc");exit;} strcpy(tV[i]->ville, v.ville); + tV[i]->nbDept = v.nbDept; + + cpt = v.nbDept;//le compteur initialisé au nombre de départements tV[i]->ldept = NULL; for (cpt; cpt > 0; cpt--) @@ -90,7 +93,7 @@ int Chargement(VilleIUT **tV, int tmax, char *nameFile) m = lireM(f);//lire le maillon avec la fonction plus haut tV[i]->ldept = Insert(tV[i]->ldept, m);//insert le maillon à sa bonne place } - fscanf(f, "%s %d", v.ville, &cpt); + fscanf(f, "%s %d", v.ville, &v.nbDept); i++; } return i; @@ -177,8 +180,7 @@ void MaJnbP(VilleIUT **tV, int nb) printf("Nouveau nombre de places disponibles : \t"); scanf("%d", &newnbP); - elt->nbP = newnbP; - + elt->nbP = newnbP;//modification du nombre de places } @@ -233,6 +235,7 @@ void createIUT(VilleIUT **tV, int nb)//crée un IUT dans la ville souhaitée. m = lireStdin();//on lit un maillon sur l'entrée standard tV[v]->ldept = Insert(tV[v]->ldept, m);//et on l'insert dans la liste du tableau + tV[v]->nbDept+=1;//on ajoute un au nombre de départements } @@ -286,6 +289,7 @@ void deleteIUT(VilleIUT **tV, int nb)//crée un IUT dans la ville souhaitée. tosuppr[strlen(tosuppr)-1]='\0'; tV[v]->ldept = Supp(tV[v]->ldept, tosuppr);//et on la supprime de la liste du tableau + tV[v]->nbDept-=1;//on enlève un au nombre de départements } @@ -339,6 +343,16 @@ void MaJnameC(VilleIUT **tV, int nb)//mise à jour du nom du chef de départemen } +void Save(VilleIUT **tV, int nb) +{ + int cpt = 0; + for(cpt; cpt < nb; cpt ++) + { + printf("%s\t%d", tV[cpt]->ville, tV[cpt]->nbDept); + } +} + + diff --git a/part1.h b/part1.h index c770852..7046eba 100644 --- a/part1.h +++ b/part1.h @@ -13,6 +13,7 @@ typedef struct list{ typedef struct{ char ville[30];//nom de la ville + int nbDept;//nombre de départements MaillonDept * ldept;//liste de départements }VilleIUT; @@ -35,3 +36,4 @@ ListDept SuppT(ListDept ld);//supprime la tête d'une liste ListDept Supp(ListDept ldp, char *nomdpt);//supprime normal void deleteIUT(VilleIUT **tV, int nb);//crée un IUT dans la ville souhaitée. void MaJnameC(VilleIUT **tV, int nb);//mise à jour du nom du chef de département +void Save(VilleIUT **tV, int nb);//sauvegarde le fichier