diff --git a/includes/charge.h b/includes/charge.h index f7432ee..30d51b6 100644 --- a/includes/charge.h +++ b/includes/charge.h @@ -5,4 +5,6 @@ char *readAdress(FILE *flot); Tache **chargeTaches(Offre *tabTravaux[]); -Precedence *loadPrec(int *tmax); \ No newline at end of file +Precedence *loadPrec(int *tmax); +int nombrePred(char travaux[], Precedence prec[], int tlog); +Liste lstSucc(char travaux[], Precedence prec[], int tlog) \ No newline at end of file diff --git a/includes/structures.h b/includes/structures.h index fdfa282..07ec7b0 100644 --- a/includes/structures.h +++ b/includes/structures.h @@ -70,4 +70,4 @@ Offre newOffre(char *travauxName); Booleen emptyOffre(Offre o); void displayOffre(Offre o); int rechTravaux(char travauxName[], Offre *tabTravaux[]); -void minTravaux(Offre *tabTravaux[]); \ No newline at end of file +void minTravaux(Offre *tabTravaux[]); diff --git a/srcs/charge.c b/srcs/charge.c index 796a95e..c3b24c9 100644 --- a/srcs/charge.c +++ b/srcs/charge.c @@ -28,10 +28,9 @@ char *readAdress(FILE *flot) return adresse; } -Precedence *loadPrec(int *tmax) +Precedence *loadPrec(int *tmax,int *tlog) { FILE *prec; - int i=0, (*tmax)=5; Precedence *tabP, *s, pre; prec=fopen("précédence.txt", "r"); if (prec == NULL) @@ -41,7 +40,7 @@ Precedence *loadPrec(int *tmax) tabP = (Precedence *)malloc(tmax*sizeof(Precedence)); while(!feof(prec)) { - if(i==tmax) + if(*tlog==*tmax) { (*tmax)+=5; s = (Precedence *)malloc((*tmax)*sizeof(Precedence)); @@ -53,7 +52,7 @@ Precedence *loadPrec(int *tmax) tabP = s; } fscanf("%s %s",p.travauxPrec, p.travauxSucc); - i++; + (*tlog)++; } fclose(prec); } @@ -61,7 +60,8 @@ Precedence *loadPrec(int *tmax) Tache **chargeTaches(Offre *tabTravaux[]) { Tache *tabTache[8]; - int i; + Precedence *prec; + int i, tmaxPrec=5, tlogPrec; Tache *t; for (i=0; itache = tabTravaux[i]->travaux; t->duree = tabTravaux[i]->ldevis->duree; - + prec = loadPrec(&tmaxPrec, &tlogPrec); + + t->nbPred = nombrePred(tabTravaux[i]->travaux, prec); tabTache[i] = t; } return tabTache; +} + +int nombrePred(char travaux[], Precedence prec[], int tlog) +{ + int nbPred, i; + for (i=0; itravauxSucc)==0) + nbPred++; + } + return nbPred; +} + +Liste lstSucc(char travaux[], Precedence prec[], int tlog) +{ + Liste succ; + MaillonSucc *ms; + int i; + for (i=0; i