|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
#include "../includes/charge.h"
|
|
|
|
|
#include "../includes/main.h"
|
|
|
|
|
|
|
|
|
|
char *readAdress(FILE *flot)
|
|
|
|
|
{
|
|
|
|
@ -28,22 +29,22 @@ char *readAdress(FILE *flot)
|
|
|
|
|
return adresse;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Precedence *loadPrec(int *tmax,int *tlog)
|
|
|
|
|
Precedence *loadPrec(int *tmax, int *tlog)
|
|
|
|
|
{
|
|
|
|
|
FILE *prec;
|
|
|
|
|
Precedence *tabP, *s, pre;
|
|
|
|
|
Precedence *tabP, *s;
|
|
|
|
|
prec=fopen("précédence.txt", "r");
|
|
|
|
|
if (prec == NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("\033[0;31mErreur: \033[0mouverture de 'précédence.txt'\n");
|
|
|
|
|
}
|
|
|
|
|
tabP = (Precedence *)malloc(tmax*sizeof(Precedence));
|
|
|
|
|
tabP = (Precedence *)malloc((*tmax) * sizeof(Precedence));
|
|
|
|
|
while(!feof(prec))
|
|
|
|
|
{
|
|
|
|
|
if(*tlog==*tmax)
|
|
|
|
|
{
|
|
|
|
|
(*tmax)+=5;
|
|
|
|
|
s = (Precedence *)malloc((*tmax)*sizeof(Precedence));
|
|
|
|
|
s = (Precedence *)malloc((*tmax) * sizeof(Precedence));
|
|
|
|
|
if (s==NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("\033[0;31mErreur: \033[0mreallocation pour fichier précédence\n");
|
|
|
|
@ -51,15 +52,16 @@ Precedence *loadPrec(int *tmax,int *tlog)
|
|
|
|
|
}
|
|
|
|
|
tabP = s;
|
|
|
|
|
}
|
|
|
|
|
fscanf("%s %s",p.travauxPrec, p.travauxSucc);
|
|
|
|
|
fscanf("%s%s", tabP[tlog-1].travauxPrec, tabP[tlog-1].travauxSucc);
|
|
|
|
|
(*tlog)++;
|
|
|
|
|
}
|
|
|
|
|
fclose(prec);
|
|
|
|
|
return tabP;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Tache **chargeTaches(Offre *tabTravaux[])
|
|
|
|
|
{
|
|
|
|
|
Tache *tabTache[8];
|
|
|
|
|
tabTache = Tache(**)malloc(8*sizeof(Tache *))
|
|
|
|
|
Precedence *prec;
|
|
|
|
|
int i, tmaxPrec=5, tlogPrec;
|
|
|
|
|
Tache *t;
|
|
|
|
@ -72,12 +74,12 @@ Tache **chargeTaches(Offre *tabTravaux[])
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
t->tache = tabTravaux[i]->travaux;
|
|
|
|
|
t->duree = tabTravaux[i]->ldevis->duree;
|
|
|
|
|
strcpy(t->tache, tabTravaux[i]->travaux);
|
|
|
|
|
t->duree = (tabTravaux[i]->ldevis)->duree;
|
|
|
|
|
|
|
|
|
|
prec = loadPrec(&tmaxPrec, &tlogPrec);
|
|
|
|
|
|
|
|
|
|
t->nbPred = nombrePred(tabTravaux[i]->travaux, prec);
|
|
|
|
|
t->nbPred = nombrePred(tabTravaux[i]->travaux, prec, tlogPrec);
|
|
|
|
|
|
|
|
|
|
tabTache[i] = t;
|
|
|
|
|
}
|
|
|
|
@ -88,7 +90,7 @@ int nombrePred(char travaux[], Precedence prec[], int tlog)
|
|
|
|
|
{
|
|
|
|
|
int nbPred, i;
|
|
|
|
|
for (i=0; i<tlog; i++)
|
|
|
|
|
if (strcmp(travaux, prec[i]->travauxSucc)==0)
|
|
|
|
|
if (strcmp(travaux, prec[i].travauxSucc)==0)
|
|
|
|
|
nbPred++;
|
|
|
|
|
return nbPred;
|
|
|
|
|
}
|
|
|
|
|