From 92b8aa426df64230e0ac228b7ec4566e7f80baad Mon Sep 17 00:00:00 2001 From: "louis.germain" Date: Sat, 30 Dec 2023 14:39:37 +0100 Subject: [PATCH] gestion d'erreurs --- srcs/charge.c | 22 ++++++++++++---------- srcs/structures.c | 14 +++++++------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/srcs/charge.c b/srcs/charge.c index 2343692..fb2bfe9 100644 --- a/srcs/charge.c +++ b/srcs/charge.c @@ -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; itravauxSucc)==0) + if (strcmp(travaux, prec[i].travauxSucc)==0) nbPred++; return nbPred; } diff --git a/srcs/structures.c b/srcs/structures.c index 154327a..3d677bd 100644 --- a/srcs/structures.c +++ b/srcs/structures.c @@ -114,16 +114,16 @@ Offre newOffre(char *travauxName) } -Booleen emptyOffre(Offre o) +Booleen emptyOffre(Offre *o) { - return emptyListe(o.ldevis); + return emptyListe(o->ldevis); } -void displayOffre(Offre o) +void displayOffre(Offre *o) { - printf("Travaux: %s", o.travaux); - displayListeDevis(o.ldevis); + printf("Travaux: %s", o->travaux); + displayListeDevis(o->ldevis); } @@ -153,7 +153,7 @@ void minTravaux(Offre *tabTravaux[]) minl=l; while(l) { - if(l->prix < minl->prix) + if(l->dev.prix < minl->dev.prix) { l=delete(minl); minl=l; @@ -162,7 +162,7 @@ void minTravaux(Offre *tabTravaux[]) l=delete(l); l=l->suiv; } - displayOffre(tab[i]); + displayOffre(tabTravaux[i]); } }