diff --git a/files/devis.txt b/files/devis.txt index 73c8857..9d13031 100644 --- a/files/devis.txt +++ b/files/devis.txt @@ -47,4 +47,46 @@ SGP finition 4, Rue de Chignat – 63000 – Clermont-Ferrand 100 10 -5000 \ No newline at end of file +5000 +Murs +ConstructionSolide +15, Rue du Bâtiment – 63000 – Clermont-Ferrand +1000000 +90 +80000 +Fondation +ArtDuCarreau +25, Rue de la Pose – 63100 – Clermont-Ferrand +300000 +30 +18000 +Finitions +BoisArtisanal +5, Rue du Bois – 63200 – Riom +200000 +25 +12000 +Finitions +ParfaitFini +10, Rue de l'Esthétique – 63110 – Beaumont +150000 +20 +10000 +Plomberie +PropreService +7, Rue de la Propreté – 63050 – Cournon +50000 +10 +5000 +Electricite +ContrôleExpert +12, Rue du Contrôle – 63400 – Chamalières +80000 +15 +8000 +Finitions +RéussiteFinale +18, Rue de la Réussite – 63300 – Thiers +120000 +25 +15000 \ No newline at end of file diff --git a/includes/structures.h b/includes/structures.h index e35356b..db93ccd 100644 --- a/includes/structures.h +++ b/includes/structures.h @@ -1,4 +1,4 @@ -// on ne nous a pas donner de longueur pour la chaine de char de nomE +// on ne nous a pas donner de longueure pour la chaine de char de nomE // il faudrait utiliser la meme methode que pour adresse typedef struct @@ -47,9 +47,3 @@ typedef struct char travauxPrec[30]; char travauxSucc[30]; } Precedence; - -typedef struct fileAtt -{ - Tache *tac; //Demander si on peut pointeur -> moins lourd - struct fileAtt *nxt; -} ListeAttente; \ No newline at end of file diff --git a/srcs/charge.c b/srcs/charge.c index 3487234..5508bda 100644 --- a/srcs/charge.c +++ b/srcs/charge.c @@ -1,5 +1,32 @@ #include "../includes/main.h" +// l'initialisation est temporaire, je ne savais pas comment tu voulais la faire + +// initialisation des travaux +Offre *initTabTravaux(void) +{ + Offre *tabTravaux; + + tabTravaux = (Offre *)malloc(TMAXTRAV* sizeof(Offre)); + if (!tabTravaux) + { + printf("\033[0;31mErreur: \033[0mmalloc tableau tabTravaux\n"); + exit(1); + } + + // Initialisation de chaque élément du tableau + tabTravaux[0] = newOffre("Electricite"); + tabTravaux[1] = newOffre("Finitions"); + tabTravaux[2] = newOffre("Fondation"); + tabTravaux[3] = newOffre("Murs"); + tabTravaux[4] = newOffre("Peinture"); + tabTravaux[5] = newOffre("Plomberie"); + tabTravaux[6] = newOffre("Sols"); + tabTravaux[7] = newOffre("Structure"); + + return (tabTravaux); +} + /*---------------devis---------------*/ // Chargement d'une chaine de caracteres depuis un fichier @@ -64,33 +91,6 @@ Devis loadDevis(FILE *devisFile, Offre *tabTravaux) return (d); } -// l'initialisation est temporaire, je ne savais pas comment tu voulais la faire -> à partir du file - -// initialisation des travaux -Offre *initTabTravaux(void) -{ - Offre *tabTravaux; - - tabTravaux = (Offre *)malloc(TMAXTRAV * sizeof(Offre)); - if (!tabTravaux) - { - printf("\033[0;31mErreur: \033[0mmalloc tableau tabTravaux\n"); - exit(1); - } - - // Initialisation de chaque élément du tableau - tabTravaux[0] = newOffre("Electricite"); - tabTravaux[1] = newOffre("Finitions"); - tabTravaux[2] = newOffre("Fondation"); - tabTravaux[3] = newOffre("Murs"); - tabTravaux[4] = newOffre("Peinture"); - tabTravaux[5] = newOffre("Plomberie"); - tabTravaux[6] = newOffre("Sols"); - tabTravaux[7] = newOffre("Structure"); - - return (tabTravaux); -} - // Chagement des ofrres depuis le fichier devis.txt Offre *loadOffre(void) { @@ -178,4 +178,4 @@ Precedence *loadPrec(int *tmax, int *tlog) } fclose(prec); return tabP; -} \ No newline at end of file +} diff --git a/srcs/main.c b/srcs/main.c index 039e3fb..110a8ef 100644 --- a/srcs/main.c +++ b/srcs/main.c @@ -8,6 +8,7 @@ int main() for (int i = 0; i < TMAXTRAV; i++) { + triFusionListeDevis(&tabTravaux[i].ldevis, lenListeDevis(tabTravaux[i].ldevis)); displayOffre(&tabTravaux[i]); printf("\n"); } diff --git a/srcs/sort.c b/srcs/sort.c index ed4be32..cc073db 100644 --- a/srcs/sort.c +++ b/srcs/sort.c @@ -1,5 +1,3 @@ - - #include "../includes/main.h" /*-------------recherches-------------*/ @@ -24,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[]) diff --git a/srcs/structures.c b/srcs/structures.c index edbecab..a969402 100644 --- a/srcs/structures.c +++ b/srcs/structures.c @@ -150,6 +150,3 @@ void displayListeDevis(ListeDevis l) l=l->suiv; } } - -// Partie 4 (à trier) -