From 5de2f25e3c799d8a0e87325ea79316f75157705e Mon Sep 17 00:00:00 2001 From: "louis.germain" Date: Tue, 9 Jan 2024 21:34:20 +0100 Subject: [PATCH] Gestion d'erreyrs --- SAE2 | Bin 22696 -> 22696 bytes obj/charge.o | Bin 6632 -> 7176 bytes obj/sort.o | Bin 4336 -> 4944 bytes obj/structures.o | Bin 6440 -> 8144 bytes srcs/charge.c | 10 ++++++++-- srcs/sort.c | 10 ++++++++-- srcs/structures.c | 32 ++++++++++++++++++++++++++------ 7 files changed, 42 insertions(+), 10 deletions(-) diff --git a/SAE2 b/SAE2 index 8605816051b6ff3c6fc454a01f2e6d36eaf80713..072c67939d0363e59e9d362027b29582c7065769 100755 GIT binary patch delta 5999 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 delta 1126 zcmZ`&O=uHQ5Pt9FuiNHt*S2d!X)V~MwFiSg1zTf+1QV=Q!J~(6Z3C6orhlR$Xpo2y zl%{j?7K+@&;LAjy zUUc#zL`6L$#lYf6ag;;I{u2&59xkpsRPKz&dVBl!LebUkq-w^%SF`Kt60M?M{|#}( z;}p-`t{TR+Bh^DZVn0V`>b5tok#wy55MHKUd{ z+x*6dY7@fka@#yA)k(1`DL5Q}3#s4mntIW=*1G{r`T&!3*qE@;yi+2HVGYDBx#mrPC! zvB9AcmYSZLglyed!n_G;T!*&tw}RW$4)H&K)0m2Q51N^uhn!mt+&5Gjj*eui3-Hpd zhCXjn+hn{8>M2{Q(on{#Hx_k^MP1*7Uxu_t<=@GNK2b{q1qIDK&mRk4Z{c@9)T{D# z8274ylJQO{wb7E}h84^?1tss{g!wh}qfVeBk(qaY4c7#dH*fu3g|6~h8270G^LF+B z(^Az9cYW{p0F3*)Y74cM(k~pI`VWXXC&*IctQ<5}5Rrq@obijgpzLpg8F{OC;DmWO oELJMnN>Hpip+gCayc^D8Sard?5|)_Jy8vaSON!I=A~fpq4-T>V{r~^~ diff --git a/obj/structures.o b/obj/structures.o index 614a21b34e6ec979e7cc2ddd939b9b6b341ea668..25aeab34bf606d2aeeedcc2a4c60026fbb8263ab 100644 GIT binary patch literal 8144 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 MY*DFJ_|nJ!7YppQn*aa+ literal 6440 zcmbtYU2GKB6~1c|Fa&}_Q{)PQrYUY5305{~6BR?XHVjPFb#MWvtpGX0?l@ktf0~)4 zc7jt^+oDcami&;kRYO%?S}AIxN_jv?MPUPJfQM8_Rr};9erO{j_W>kFa@v*LbM8HN z_U!B~mD(fE%)Q?^=R4>AoSD1+p_x3=5sL{eG4V}N?`c$sr7zao3E51DEn>46vx0wI z#r~O_*tE+3G^}7|>3SbPONd*6xoTDL8e6i0zgfX82`gP?Y}E>e4bOSn947+_m0cTxUIlj}9xi0gQ`Q?5;I8x=WJRHzmy4IvhaRT#d;r7B2j;T`;wK zAl+N$iVT;lm@5wpCj&#OVF^IAum2Yxl_G48&L{o~o;b83vQvi}u5OxD3*5c{duY6?@i- z-D}0JwSF~6n(YmF*S1J}=u)%<7JMS5#yhGmSGigUy zW-@t9-S>%28%3|T5&zQaPi*S-#0fj&Wn3fc82)t8G1BmK?elhN%Ghs+lMyHnaeTK> zI)C%6IP=UGa_E?S+R6K_Q*<+)gWe=^yhgE5a*bZE$qu0Xo1~?(V&1cR=%GXVjlRRq*^Hex2KwXs;sbl1dxl!ZzW#j!{R0F2GTsxEU+k6RA~w|>+p&2= z*F5a?oq*$o@+jVh9_zl?acIl>BVYhs)Ez(^B!M@rf3>bZjW|d<{|ibjWW8$t(YpU7 z(qk2e{NJzZuaQ2>^&KxugPnjakiOWUKNsq2r2kce{*6$-lMXa{xqh-9{{ZPnxW2;* z{ZErV*PvGfnBN7`UvAL98Twx${UNS@tsegx>7VC%x2|6xy*$6@`JJlkYoxE>Q|mh~ z#*_t;HVc}r6A#v!H9~Z@JOLu!*~%Qyb#3rR+Ta`7;J723rBkeL0v`ip8_QGfO~7zH z5ZC<#^ig`@>Xxm>+h7}fxDEa-z>)vkM5E&zC;Uai^>O(O;pYgKH302N!UMwP-iLMp zu2y;aZSZNpF`v)ii6UzRo80DHfU{cW=UlKV&0z+X@#josKese6BC)#q~l7ThFIxLUQE2~K+3L@nmnmK(J=WSPpXGpuFcS{ zttt5$!?!T}8w}sb@G`@|9~+{P?5nP{BW+Qlb9*N-kJW`F|`rNS?!DXRg z<}|rFe|_!{ac?^3+h^hFyXrZqTdtF}R3}x)<=`i(i02Ew z6F>UG*j~@KQ|G_{-JHqs3D?d!YS#Y$y8#q9wCG7Z0T{|{+Fz=tY;_x-SOZui3Anh- z<4YH$NdEZi8RO_*0$9r^Uxf>CdaWTOr7M~c;j|3Y6Jigvkn?}_9{^wEq-BJb5*`2b zNI;#xw!?D@n)GXco|ovSP+tVsbox0Adfn!xAGH1{)nxl!@{i_!oBVqsifI1F!N1k| z3HrywEG38QhrZfhuOF%-Apj9#5f2$4Q?xMnoldevis = 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];