|
|
|
@ -35,4 +35,68 @@ void clearpage(void)
|
|
|
|
|
printf("\nappuyé sur la touche [ENTREE] pour continuer");
|
|
|
|
|
scanf("%*c%c", &entre);
|
|
|
|
|
system("clear");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int chargement(VilleIUT *tiut[],int *tMax)
|
|
|
|
|
{
|
|
|
|
|
FILE *flot;
|
|
|
|
|
VilleIUT *v;
|
|
|
|
|
MaillonDept *m;
|
|
|
|
|
int nb = 0, pos;
|
|
|
|
|
char trouve;
|
|
|
|
|
flot = fopen("IUT.don", "r");
|
|
|
|
|
if(flot == NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("Problème d'ouverture du fichier\n");
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
while(!feof(flot))
|
|
|
|
|
{
|
|
|
|
|
v = (VilleIUT *)malloc(sizeof(VilleIUT));
|
|
|
|
|
if(v == NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("Problème allocation ville lors de la lecture du fichier\n");
|
|
|
|
|
return -2;
|
|
|
|
|
}
|
|
|
|
|
fscanf(flot, "%s", v->nom);
|
|
|
|
|
pos = recherche(tiut, nb, v->nom, &trouve);
|
|
|
|
|
m = (MaillonDept *)malloc(sizeof(MaillonDept));
|
|
|
|
|
if(m == NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("Problème allocation département lors de la lecture du fichier\n");
|
|
|
|
|
return -3;
|
|
|
|
|
}
|
|
|
|
|
*m = lireDep(flot);
|
|
|
|
|
if(trouve == 'O')
|
|
|
|
|
{
|
|
|
|
|
insererDep(tiut[pos],*m);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m->suiv = NULL;
|
|
|
|
|
v->lDept = m;
|
|
|
|
|
tiut[nb] = v;
|
|
|
|
|
}
|
|
|
|
|
free(v);
|
|
|
|
|
free(m);
|
|
|
|
|
nb++;
|
|
|
|
|
}
|
|
|
|
|
return nb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int rechercheIUT(VilleIUT *tiut[], int tLog, char ville[], char *trouve){
|
|
|
|
|
int inf,sup,t;
|
|
|
|
|
inf=0;
|
|
|
|
|
sup=tLog-1;
|
|
|
|
|
while(inf<=sup){
|
|
|
|
|
t=(inf+sup)/2;
|
|
|
|
|
if(strcmp(ville,tiut[t]->nom)==0){
|
|
|
|
|
*trouve=1;
|
|
|
|
|
return t;
|
|
|
|
|
}
|
|
|
|
|
if(strcmp(ville,tiut[t]->nom)<0)
|
|
|
|
|
sup=t-1;
|
|
|
|
|
else inf=t+1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|