diff --git a/srcs/sort.c b/srcs/sort.c index ccff50c..5339462 100644 --- a/srcs/sort.c +++ b/srcs/sort.c @@ -22,6 +22,8 @@ int rechTravaux(char *travauxName, Offre **tabTravaux) return -1; } +// la fonction min ne fonctionne pas + // Recherche et garde la meilleure offre par travaux dans le tableau // Affiche chaque offre gardee avec le devis ayant le prix le plus bas void minTravaux(Offre *tabTravaux[]) @@ -37,23 +39,22 @@ void minTravaux(Offre *tabTravaux[]) md = minDev->suiv; while (md) { - if ((md->dev).prix > (minDev->dev).prix) + if ((md->dev).prix < (minDev->dev).prix || + (((md->dev).prix == (minDev->dev).prix) && ((md->dev).capital > (minDev->dev).capital))) { - s = md; + s = minDev; + minDev = md; md = md->suiv; } - else if ((md->dev).prix == (minDev->dev).prix - && ((md->dev).capital == (minDev->dev).capital)) + else if ((md->dev).prix == (minDev->dev).prix && ((md->dev).capital == (minDev->dev).capital)) { printf("deux offres minimales !!!\n"); exit (1); } else { - s = minDev; - minDev = md; + s = md; md = md->suiv; - } del(s); }