Merge branch 'master' into precedences

pull/1/head
Rémi LAVERGNE 1 year ago
commit 9c71acc720

@ -1,10 +1,20 @@
/**
* @file chargement.c
* @brief Fonctions de chargement des fichiers de données
* \file chargement.c
* \brief Fonctions de chargement des fichiers de données
* \auteurs LAVERGNE Rémi ; DELINAC Inès ; RAYNAUD Camille
* \date 12 janvier 2024
*/
#include "specification1.h"
/**
* \brief Chargement des fichiers
* \param[out] *offre pointeur sur le maillonDevis
* \param[in] fichier nom de l'entreprise
* \return -1/-2 Si on a une erreur dans l'ouverture du fichier ou de l'en-tête
* \return tlog
*/
int chargement(Offre *offre, char fichier[])
{
FILE *flot;
@ -31,6 +41,11 @@ int chargement(Offre *offre, char fichier[])
return tLog;
}
/**
* \brief permet de lire le Devis.
* \param[out] *flot
*/
Offre lireDevis(FILE *flot)
{
//TODO

@ -1,5 +1,20 @@
/**
* \file fonction1.c
* \brief Fonction de codage de contexte de l'information
* \auteurs LAVERGNE Rémi ; DELINAC Inès ; RAYNAUD Camille
* \date 12 janvier 2024
*/
#include "specification1.h"
/**
* \brief Rechercher dans la liste des devis
* \param[in,out] typeTravaux tableau des types de travaux
* \struct[out] *offre pointeur des offres
* \param[in] tLog
* \return offre[i].ldevis Retourne l'offre dans le devis
*/
//? ListeDevis ou ListeDevis* ?
ListeDevis rechListeDevis(char typeTravaux[], Offre *offre, int tLog)
{
@ -14,7 +29,7 @@ ListeDevis rechListeDevis(char typeTravaux[], Offre *offre, int tLog)
/**
* \brief Afficher l'ensemble des devis pour un type de travaux
* \param[out] *l pointeur sur le maillonDevis
* \struct[out] *l pointeur sur le maillonDevis
*/
void Affiche(ListeDevis l)
{
@ -28,7 +43,7 @@ void Affiche(ListeDevis l)
/**
* \brief Afficher l'ensemble des devis pour un type de travaux
* \param[out] *l pointeur sur le maillonDevis
* \struct[out] *l pointeur sur le maillonDevis
*/
void AfficheDevis(ListeDevis l)
{
@ -48,7 +63,7 @@ void AfficheDevis(ListeDevis l)
/**
* \brief Afficher le devis d'une entreprise donnée pour un type de travaux donnée
* \param[out] *l pointeur sur le maillonDevis
* \struct[out] *l pointeur sur le maillonDevis
* \param[in] entr nom de l'entreprise
*/

@ -0,0 +1,112 @@
/**
* \file fonction2.c
* \brief Selection des entreprises en fonction du meilleur devis
* \auteurs LAVERGNE Rémi ; DELINAC Inès ; RAYNAUD Camille
* \date 12 janvier 2024
*/
#include "specification1.h"
/**
* \brief Faire un tri par échange
* \struct[in,out] tab[] tableau de structure de Devis
* \param[in] n
*/
void triEchange (Devis * tab[], int n)
{
int pge;
while(n>1)
{
pge=plusGrand(tab,n);
echanger(tab,pge,n-1);
n=n-1;
}
}
/**
* \brief Comparer deux devis pour trouver le plus grand
* \struct[in,out] tab[] tableau de structure de Devis
* \param[out] *offre pointeur des offres
* \param[in] n
* \return pge Retourne le plus grand entier
*/
//On veut pas le plus grand mais le plus petit! Le cout le moins chère est plus avantageux
int plusGrand(Devis * tab[], int n)
{
int pge=0;
for(int i=1;i<n;i++)
if(comparer(tab[i]->ldevis.devis.cout,tab[pge]->ldevis.devis.cout)>0)
pge=i;
return pge;
}
/**
* \brief Comparer deux devis
* \struct[in] d1 Devis
* \struct[in] d2 Devis
* \return cmp Retourne une valeur pour connaitre qui est le plus rentable
*/
int comparer(Devis d1, Devis d2)
{
int cmp
cmp = d1.cout - d2.cout;
if(cmp==0)
cmp = d2.capital - d1.capital;
return cmp;
}
/**
* \brief Echanger la place des deux devis
* \structin,out] typeTravaux tableau des types de travaux
* \param[out] *offre pointeur des offres
* \param[in] tLog
* \return offre[i].ldevis Retourne l'offre dans le devis
*/
void echanger(Devis * tab[],int i, int j)
{
Devis * aux;
aux = tab[i];
tab[i] = tab[j];
tab[j] = aux;
}
/**
* \brief Rechercher dans la liste des devis
* \param[in,out] typeTravaux tableau des types de travaux
* \param[out] *offre pointeur des offres
* \param[in] tLog
* \return offre[i].ldevis Retourne l'offre dans le devis
*/
void ShowEntrepTache(Offre o, int tlog)
{
for(int i=0;i<tlog;i++)
triEchange(tab[o],tlog);
suppression(o);
AfficheDevis(l->suiv);
tab[i]=tab[i+1];
}
/**
* \brief Rechercher dans la liste des devis
* \param[in,out] typeTravaux tableau des types de travaux
* \param[out] *offre pointeur des offres
* \param[in] tLog
* \return offre[i].ldevis Retourne l'offre dans le devis
*/
void suppression(ListeDevis ldevis)
{
MaillonDevis *m;
if (ldevis == NULL)
{
fprintf("Operation interdite\n");
exit(1);
}
m=ldevis;
while (ldevis->suiv->suiv != NULL)
{
m = ldevis->suiv;
}
free(ldevis);
return m;
}

@ -1,6 +1,8 @@
/**
* @file init.c
* @brief Fonctions d'initialisation de Pile/File/Liste
* \file init.c
* \brief Fonctions d'initialisation de Pile/File/Liste
* \auteurs LAVERGNE Rémi ; DELINAC Inès ; RAYNAUD Camille
* \date 12 janvier 2024
*/
#include "specification1.h"

@ -1,5 +1,18 @@
/**
* \file main.c
* \brief Fonction globale
* \auteurs LAVERGNE Rémi ; DELINAC Inès ; RAYNAUD Camille
* \date 12 janvier 2024
*/
#include "specification1.h"
/**
* \brief Affichage des devis en fonction de spécificité
* \struct[out] *offre pointeur des offres
* \param[in] tLog
*/
void affiche(Offre *offre, int tLog)
{
//TODO Optimiser cet étron de code
@ -34,6 +47,10 @@ void affiche(Offre *offre, int tLog)
}
}
/**
* \brief Fonction global
*/
void global(void)
{
Offre *tabTravaux;

@ -1,3 +1,10 @@
/**
* \file specification1.h
* \brief Mise en place des structures et des fonctions associées
* \auteurs LAVERGNE Rémi ; DELINAC Inès ; RAYNAUD Camille
* \date 12 janvier 2024
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -53,11 +60,16 @@ int chargement(Offre *offre, char fichier[]);
//~~~~~~~~~~~~PARTIE 2~~~~~~~~~~~~
//Afficher l'entreprise qui a la tâche(travaux) retenu
//Afficher l'entreprise par tâche (sachant qu'on fait toute les tâches)
//celle ayant le coût de réalisation le moins cher
//si égalité :
//Celle ayant le plus gros capital
void ShowEntrepTache(ListeDevis l, char trv);
void triEchange (Devis * tab[], int n);
int plusGrand(Devis * tab[], int n);
int comparer(Devis d1, Devis d2);
void echanger(Devis * tab[],int i, int j);
void ShowEntrepTache(Offre o, int tlog);
void suppression(ListeDevis ldevis);
//~~~~~~~~~~~~PARTIE 3~~~~~~~~~~~~

Loading…
Cancel
Save