diff --git a/SAE2 b/SAE2 index 8605816..072c679 100755 Binary files a/SAE2 and b/SAE2 differ diff --git a/obj/charge.o b/obj/charge.o index 071a33a..b224f47 100644 Binary files a/obj/charge.o and b/obj/charge.o differ diff --git a/obj/sort.o b/obj/sort.o index 1ba95ce..d5e4174 100644 Binary files a/obj/sort.o and b/obj/sort.o differ diff --git a/obj/structures.o b/obj/structures.o index 614a21b..25aeab3 100644 Binary files a/obj/structures.o and b/obj/structures.o differ diff --git a/srcs/charge.c b/srcs/charge.c index b72173c..ea42206 100644 --- a/srcs/charge.c +++ b/srcs/charge.c @@ -5,6 +5,7 @@ // initialisation des travaux Offre **initTabTravaux(void) { + printf("*-*-* INITTABTRAVAUX *-*-*"); Offre **tabTravaux; tabTravaux = (Offre **)malloc(TMAXTRAV* sizeof(Offre *)); @@ -32,6 +33,7 @@ Offre **initTabTravaux(void) // Chargement d'une chaine de caracteres depuis un fichier char *readFromFile(FILE *file) { + printf("*-*-* READFROMFILE *-*-*"); char *str, *buf, s[6]; int i=0, tmax = 5; str = (char *)malloc(tmax*sizeof(char)); @@ -56,15 +58,16 @@ char *readFromFile(FILE *file) fgets(s, 5, file); strcat(str, s); } - printf("%s\n",str); i++; } + str[strlen(str)-1] = '\0'; return str; } // Chargement d'un devis depuis un fichier void loadDevis(FILE *devisFile, Offre **tabTravaux) { + printf("*-*-* LOADDEVIS *-*-*"); int index; char *travaux; Devis d; @@ -88,9 +91,10 @@ void loadDevis(FILE *devisFile, Offre **tabTravaux) tabTravaux[index]->ldevis = insert(tabTravaux[index]->ldevis, d); } -// Chagement des ofrres depuis le fichier devis.txt +// Chagement des offres depuis le fichier devis.txt Offre **loadOffre(void) { + printf("*-*-* LOADOFFRE *-*-*"); Offre **tabTravaux = initTabTravaux(); FILE *devisFile; @@ -112,6 +116,7 @@ Offre **loadOffre(void) // Chargement des tâches depuis un fichier pour chaque offre Tache **loadTaches(Offre *tabTravaux[]) { + printf("*-*-* LOADTACHES *-*-*"); Precedence *prec; int i, tmaxPrec=5, tlogPrec; Tache *t, **tabTache; @@ -151,6 +156,7 @@ Tache **loadTaches(Offre *tabTravaux[]) // Chargement des précédences depuis un fichier Precedence *loadPrec(int *tmax, int *tlog) { + printf("*-*-* LOADPREC *-*-*"); FILE *prec; Precedence *tabP, *s; prec=fopen("../files/précédence.txt", "r"); diff --git a/srcs/sort.c b/srcs/sort.c index 2aa6daa..21cec89 100644 --- a/srcs/sort.c +++ b/srcs/sort.c @@ -6,6 +6,7 @@ // Retourne l'indice de l'offre dans le tableau si elle est trouvée, sinon retourne -1 int rechTravaux(char *travauxName, Offre **tabTravaux) { + printf("*-*-* RECHTRAVAUX *-*-*"); //On utilise la taille max de travaux car travaux est un tableau constant, sa taille max est égale à sa taille logique. int deb=0, end=TMAXTRAV-1, mid; @@ -28,6 +29,7 @@ int rechTravaux(char *travauxName, Offre **tabTravaux) // Affiche chaque offre gardee avec le devis ayant le prix le plus bas void minTravaux(Offre *tabTravaux[]) { + printf("*-*-* MINTRAVAUX *-*-*"); int i; MaillonDevis *minDev, *md, *s; for(i=0; isuiv; del(s); - printf("HELLO3\n"); + displayOffre(tabTravaux[i]); } displayOffre(tabTravaux[i]); @@ -72,6 +73,7 @@ void minTravaux(Offre *tabTravaux[]) // Libère la mémoire d'une liste de devis void freeListeDevis(ListeDevis *ldevis) { + printf("*-*-* FREELISTEDEVIS *-*-*"); ListeDevis current = *ldevis; ListeDevis next; @@ -87,6 +89,7 @@ void freeListeDevis(ListeDevis *ldevis) // Boucle principale de fusion de listes de devis void fusionDevisElements(ListeDevis *R, int *tlogR, ListeDevis *S, int *tlogS, ListeDevis *mergedList, ListeDevis *last, int *k) { + printf("*-*-* FUSIONDEVISELEMENTS *-*-*"); ListeDevis *current; while (*tlogR > 0 && *tlogS > 0) @@ -121,6 +124,7 @@ void fusionDevisElements(ListeDevis *R, int *tlogR, ListeDevis *S, int *tlogS, L // Gère les éléments restants après les itérations principales de fusion void gestionElementsRestants(ListeDevis *mergedList, ListeDevis *last, ListeDevis *source, int *tlogSource, int *k) { + printf("*-*-* GESTIONELEMENTSRESTANTS *-*-*"); while (*tlogSource > 0) { if (!*mergedList) @@ -141,6 +145,7 @@ void gestionElementsRestants(ListeDevis *mergedList, ListeDevis *last, ListeDevi // Fusionne deux listes de devis triées en une seule liste triée void fusionMaillonDevis(ListeDevis R, int tlogR, ListeDevis S, int tlogS, ListeDevis *T) { + printf("*-*-* FUSIONMAILLONDEVIS *-*-*"); ListeDevis last; ListeDevis mergedList; int k; @@ -158,6 +163,7 @@ void fusionMaillonDevis(ListeDevis R, int tlogR, ListeDevis S, int tlogS, ListeD // Tri fusion sur une liste de devis void triFusionListeDevis(ListeDevis ldevis, int tlog) { + printf("*-*-* TRIFUSIONLISTEDEVIS *-*-*"); ListeDevis p; ListeDevis q; ListeDevis qTemp; diff --git a/srcs/structures.c b/srcs/structures.c index 02d652e..903bda8 100644 --- a/srcs/structures.c +++ b/srcs/structures.c @@ -5,12 +5,14 @@ // Initialise une liste de devis ListeDevis newListeDevis(void) { + printf("*-*-* NEWLISTEDEVIS *-*-*"); return NULL; } // Initialise une nouvelle offre Offre *newOffre(char *travauxName) { + printf("*-*-* NEWOFFRE *-*-*"); Offre *o; o = (Offre *)malloc(sizeof(Offre)); strcpy(o->travaux, travauxName); @@ -21,6 +23,7 @@ Offre *newOffre(char *travauxName) // Initialise une liste (pour les successeurs) Liste newListe(void) { + printf("*-*-* NEWLISTE *-*-*"); return NULL; } @@ -29,12 +32,14 @@ Liste newListe(void) // Verifie l'integrite d'une liste de devis Booleen emptyListe(ListeDevis l) { + printf("*-*-* EMPTYLISTE *-*-*"); return l==NULL; } // Vérifie l'intégrité de l'offre Booleen emptyOffre(Offre *o) { + printf("*-*-* EMPTYOFFRE *-*-*"); return emptyListe(o->ldevis); } @@ -43,6 +48,7 @@ Booleen emptyOffre(Offre *o) // Insere un devis en tete de la liste des devis ListeDevis insert(ListeDevis l, Devis d) { + printf("*-*-* INSERT *-*-*"); MaillonDevis *md; md = (MaillonDevis *)malloc(sizeof(MaillonDevis)); if (md == NULL) @@ -59,6 +65,7 @@ ListeDevis insert(ListeDevis l, Devis d) Liste insertSucc(Liste l, char travaux[]) { + printf("*-*-* INSERTSUCC *-*-*"); MaillonSucc *ms; ms = (MaillonSucc *)malloc(sizeof(MaillonSucc)); if (ms == NULL) @@ -77,6 +84,7 @@ Liste insertSucc(Liste l, char travaux[]) // Supprime le premier maillon de la liste de devis ListeDevis del(ListeDevis l) { + printf("*-*-* DEL *-*-*"); MaillonDevis *md; if (l==NULL) { @@ -86,12 +94,16 @@ ListeDevis del(ListeDevis l) if (l->suiv==NULL) return newListeDevis(); md=l; - printf("HELLO\n"); l=l->suiv; free(md->dev.nomE); free(md->dev.adresse); free(md); - printf("HELLO2\n"); + md=NULL; + printf("\n\nADRESSE md %s\n", md->dev.adresse); + printf("\n\nNOM md %s\n", md->dev.nomE); + printf("\n\nADRESSE l %s\n", l->dev.adresse); + printf("\n\nNOM l %s\n", l->dev.nomE); + return l; } @@ -100,6 +112,7 @@ ListeDevis del(ListeDevis l) // Calcule la longueur de la liste de devis int lenListeDevis(ListeDevis l) { + printf("*-*-* LENLISTEDEVIS *-*-*"); int len=0; while (l) { @@ -111,6 +124,7 @@ int lenListeDevis(ListeDevis l) int lenMaxNomEntreprise(ListeDevis ldevis) { + printf("*-*-* LENMAXNOMENTREPRISE *-*-*"); int maxLen; int len; @@ -128,6 +142,7 @@ int lenMaxNomEntreprise(ListeDevis ldevis) // Calcule le nombre de precedences pour un travail donne int nombrePred(char travaux[], Precedence prec[], int tlog) { + printf("*-*-* NOMBREPRED *-*-*"); int nbPred = 0, i; for (i=0; itravaux); + printf("\n*-*-* DISPLAYOFFRE *-*-*\n"); + printf("\n%s\n\t", o->travaux); displayListeDevis(o->ldevis); + printf("\n *-*-* DISPLAYOFFREOUT *-*-*"); } // Affiche les details de la liste de devis void displayListeDevis(ListeDevis l) { - while(l) + printf("*-*-* DISPLAYLISTEDEVIS *-*-*"); + while(l != NULL) { displayDevis(l->dev); l=l->suiv; @@ -177,6 +196,7 @@ void displayListeDevis(ListeDevis l) // Fonction pour afficher le devis d'une entreprise donnée pour un type de travaux donné void afficherDevisEntreprise(Offre **tabTravaux) { + printf("*-*-* AFFICHERDEVISENTREPRISE *-*-*"); int indiceTravaux; int maxlen; char typeTravaux[30];