diff --git a/files/devis.txt b/files/devis.txt index 9d13031..5bd2ab7 100644 --- a/files/devis.txt +++ b/files/devis.txt @@ -89,4 +89,4 @@ RéussiteFinale 18, Rue de la Réussite – 63300 – Thiers 120000 25 -15000 \ No newline at end of file +15000 diff --git a/files/précédences.txt b/files/précédences.txt index 56cf03a..994728b 100644 --- a/files/précédences.txt +++ b/files/précédences.txt @@ -7,4 +7,3 @@ Plomberie Sols Murs Peinture Peinture Finitions Sols Finitions - diff --git a/srcs/charge.c b/srcs/charge.c index 45f17f7..d9ca7b6 100644 --- a/srcs/charge.c +++ b/srcs/charge.c @@ -108,8 +108,6 @@ Offre *loadOffre(void) return (tabTravaux); } -//--------------------------------------------------------------------------- - /*-----------------precedences----------------------*/ // Chargement des tâches depuis un fichier pour chaque offre diff --git a/srcs/sort.c b/srcs/sort.c index cc073db..14ec48e 100644 --- a/srcs/sort.c +++ b/srcs/sort.c @@ -29,31 +29,46 @@ int rechTravaux(char *travauxName, Offre *tabTravaux) void minTravaux(Offre *tabTravaux[]) { int i; - ListeDevis l, minl; - for (i=0; ildevis; - minl=l; - while(l) + md = tabTravaux[i]->ldevis; + minDev=md; + while(minDev->suiv != NULL) { - if(l->dev.prix < minl->dev.prix) + md=md->suiv; + if ((md->dev).prix < (minDev->dev).prix) { - l=delete(minl); - minl=l; + s=minDev; + minDev=md; } - else - l=delete(l); - l=l->suiv; + else if ((md->dev).prix > (minDev->dev).prix) + { + s=md; + } + else + { + if ((md->dev).capital < (minDev->dev).capital) + { + s=minDev; + minDev=md; + } + else // On met else et pas else if car on ne peut pas garder 2 égaux, il faut qd même en supprimer un + s=md; + } + delete(s); } - displayOffre(tabTravaux[i]); + if (lenListeDevis(tabTravaux[i]->ldevis) > 1) + { + printf("\033[0;31mErreur: \033[0mPlus d'un devis sélectionné pour la tâche %s\n", tabTravaux[i]->travaux); + } + displayListeDevis(minDev); } } /*---------------tri------------------*/ -//on la met dans struct.c ? - // Libère la mémoire d'une liste de devis void freeListeDevis(ListeDevis *ldevis) {