ça marche suuiii

master
Lola CHALMIN 2 years ago
parent 9b97b9c087
commit 15cdfe7725

@ -109,16 +109,64 @@ void Affichetableau(VilleIUT ** TabIUT, int n )//Affiche le tableau des iuts ave
/*étapes de mise à jour du nombre de places:
ListDept MaJnbP(VilleIUT **tV, char *ville, char dpt, int newnbP) demande et recherche dans quelle ville chercher le nombre de places d'un département
chercher ville
chercher dpt
changer nbP
return tV le tableau de VilleIUT mis à jour
*/
VilleIUT** MaJnbP(VilleIUT **tV, int nb)
{ {
char ville[31], dpt[31], reponse[31];
int newnbP;
int v;
ListDept elt;
printf("De quels département et ville souhaitez vous modifier le nombre de place ?\n");
printf("Ville : \t");
scanf("%s%*c", ville);
v = searchVille(tV, ville, nb);
while(v == -1)//tant que le nom de la ville n'est pas bon
{
printf("Ville non trouvée ...Rentrez une autre ville ou tapez 0 pour quitter\n");
scanf("%s", reponse);
if (strcmp(reponse, 0)==0)
{
exit;
}
v = searchVille(tV, ville, nb);
}
printf("Département : \t");
fgets(dpt, 31, stdin);
dpt[strlen(dpt)-1] = '\0';
elt = recherche(tV[v]->ldept, dpt);
while(elt == NULL)//tant que le nom du département n'est pas bon
{
printf("Département non trouvé ...Rentrez un autre département ou tapez 0 pour quitter\n");
scanf("%s", reponse);
if (strcmp(reponse, 0)==0)
{
exit;
}
elt = recherche(tV[v]->ldept, dpt);
}
printf("Nouveau nombre de places disponibles : \t");
scanf("%d", &newnbP);
elt->nbP = newnbP;
return tV;
} }
ListDept recherche (ListDept l, char *nom ) ListDept recherche (ListDept l, char *nom )//recherche du nom de département dans la liste
{ {
if ( l == NULL ){ return l;} if ( l == NULL ){ return l;}
if ( strcmp ( l->departement, nom ) == 0) return l; if ( strcmp ( l->departement, nom ) == 0) return l;
@ -126,6 +174,16 @@ ListDept recherche (ListDept l, char *nom )
} }
int searchVille(VilleIUT ** tV, char *ville, int nbV)//recherche du nom de la ville dans le tableau
{
int i =0;
for(i; i < nbV; i++)
{
if (strcmp(ville, tV[i]->ville)==0)
return i;
}
return -1;//sinon c'est que la recherche n'a pas abouti
}

@ -26,4 +26,6 @@ int Chargement(VilleIUT **tV, int tmax, char *nameFile);
void AfficheDpmt ( MaillonDept *dpt ); void AfficheDpmt ( MaillonDept *dpt );
void afficheIUT (VilleIUT *iut); void afficheIUT (VilleIUT *iut);
void Affichetableau(VilleIUT ** TabIUT, int n ); void Affichetableau(VilleIUT ** TabIUT, int n );
Liste recherche (Liste l, char *nom ); ListDept recherche (ListDept l, char *nom );
VilleIUT** MaJnbP(VilleIUT **tV, int nb);
int searchVille(VilleIUT ** tV, char *ville, int nbV);

BIN
test

Binary file not shown.

@ -10,6 +10,15 @@ int main(void)
{ {
VilleIUT *tV[200]; VilleIUT *tV[200];
int nb; int nb;
nb = Chargement(tV, 200, "part1.don"); VilleIUT *v;
ListDept l;
nb = Chargement(tV, 200, "part1.don");/*
v = searchVille(tV, "Clermont-Ferrand", nb);
printf("%s", v->ville);
l = recherche(v->ldept, "Informatique");
printf("%s", l->departement);*/
MaJnbP(tV, nb);
Affichetableau(tV, nb);
return 0; return 0;
} }

Loading…
Cancel
Save