|
|
@ -1,10 +1,21 @@
|
|
|
|
#include "specification1.h"
|
|
|
|
#include "specification1.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//? ListeDevis ou ListeDevis* ?
|
|
|
|
|
|
|
|
ListeDevis rechListeDevis(char typeTravaux[], Offre *offre)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(strcmp(offre->travaux,typeTravaux) == 0)
|
|
|
|
|
|
|
|
return offre->listeDevis;
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
rechListeDevis(typeTravaux, offre->suivant);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//~~~~~~~~~~~~PARTIE 1~~~~~~~~~~~~
|
|
|
|
//~~~~~~~~~~~~PARTIE 1~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
|
|
void affiche(void)
|
|
|
|
void affiche(Offre *offre)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int choix;
|
|
|
|
//TODO Optimiser cet étron de code
|
|
|
|
|
|
|
|
int choix
|
|
|
|
|
|
|
|
char typeTravaux[30], nomEntreprise[30];
|
|
|
|
printf("####################################################\n");
|
|
|
|
printf("####################################################\n");
|
|
|
|
printf("1- Afficher les devis pour un type de travaux.\n");
|
|
|
|
printf("1- Afficher les devis pour un type de travaux.\n");
|
|
|
|
printf("2- Afficher les devis par type pour une entreprise.\n");
|
|
|
|
printf("2- Afficher les devis par type pour une entreprise.\n");
|
|
|
@ -14,13 +25,21 @@ void affiche(void)
|
|
|
|
switch(choix)
|
|
|
|
switch(choix)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case 1:
|
|
|
|
case 1:
|
|
|
|
printf("");
|
|
|
|
printf("Quel type de travaux voulez-vous afficher ?\n");
|
|
|
|
|
|
|
|
scanf("%s",typeTravaux); //! Vérifier que la chaine de caractère ne peut pas disposer pas d'espace
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ListeDevis l = rechListeDevis(typeTravaux, offre);
|
|
|
|
|
|
|
|
AfficheDevis(l);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
case 2:
|
|
|
|
printf("");
|
|
|
|
printf("Quel est le nom de l'entreprise ?\n");
|
|
|
|
|
|
|
|
scanf("%s",nomEntreprise); //! Vérifier que la chaine de caractère ne peut pas disposer pas d'espace
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ListeDevis l = rechListeDevis(typeTravaux, offre);
|
|
|
|
|
|
|
|
AfficheDevisE(l, nomEntreprise);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
printf("Choisissez entre 1 & 2.\n");
|
|
|
|
printf("Vous ne pouvez choisir qu'entre 1 et 2.\n");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -28,25 +47,62 @@ void affiche(void)
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* \brief Afficher l'ensemble des devis pour un type de travaux
|
|
|
|
* \brief Afficher l'ensemble des devis pour un type de travaux
|
|
|
|
* \param[out] *l pointeur sur le maillonDevis
|
|
|
|
* \param[out] *l pointeur sur le maillonDevis
|
|
|
|
* \param[in] t tâche donné par l'utilisateur
|
|
|
|
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
//TODO Retirer le paramètre "t"
|
|
|
|
void AfficheDevis(ListeDevis l)
|
|
|
|
void AfficheDevis(ListeDevis l, char t)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(l == NULL)
|
|
|
|
if(l == NULL)
|
|
|
|
return;
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("Liste vide.\n");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
while(l != NULL)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("Devis n°%d\n",l->devis.numDevis);
|
|
|
|
|
|
|
|
printf("Nom de l'entreprise : %s\n",l->devis.nomEntreprise);
|
|
|
|
|
|
|
|
printf("Type de travaux : %s\n",l->devis.typeTravaux);
|
|
|
|
|
|
|
|
printf("Montant du devis : %d\n",l->devis.montant);
|
|
|
|
|
|
|
|
printf("Date de création : %d/%d/%d\n",l->devis.dateDevis.jour,l->devis.dateDevis.mois,l->devis.dateDevis.annee);
|
|
|
|
|
|
|
|
printf("Date de début des travaux : %d/%d/%d\n",l->devis.dateDebutTravaux.jour,l->devis.dateDebutTravaux.mois,l->devis.dateDebutTravaux.annee);
|
|
|
|
|
|
|
|
printf("Date de fin des travaux : %d/%d/%d\n",l->devis.dateFinTravaux.jour,l->devis.dateFinTravaux.mois,l->devis.dateFinTravaux.annee);
|
|
|
|
|
|
|
|
printf("Etat du devis : %d\n",l->devis.etat);
|
|
|
|
|
|
|
|
printf("Commentaire : %s\n",l->devis.commentaire);
|
|
|
|
|
|
|
|
printf("####################################################\n");
|
|
|
|
|
|
|
|
l = l->suivant;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* \brief Afficher le devis d'une entreprise donnée pour un type de travaux donnée
|
|
|
|
* \brief Afficher le devis d'une entreprise donnée pour un type de travaux donnée
|
|
|
|
* \param[out] *l pointeur sur le maillonDevis
|
|
|
|
* \param[out] *l pointeur sur le maillonDevis
|
|
|
|
* \param[in] t tâche donné par l'utilisateur
|
|
|
|
|
|
|
|
* \param[in] entr nom de l'entreprise
|
|
|
|
* \param[in] entr nom de l'entreprise
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
//TODO Retirer le paramètre "t"
|
|
|
|
//TODO Retirer le paramètre "t"
|
|
|
|
void AfficheDevisE(ListeDevis l, char entr, char t)
|
|
|
|
void AfficheDevisE(ListeDevis l, char entr)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if(l == NULL)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("Liste vide.\n");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
while(l != NULL)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(strcmp(l->devis.nomEntreprise,entr) == 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("Devis n°%d\n",l->devis.numDevis);
|
|
|
|
|
|
|
|
printf("Nom de l'entreprise : %s\n",l->devis.nomEntreprise);
|
|
|
|
|
|
|
|
printf("Type de travaux : %s\n",l->devis.typeTravaux);
|
|
|
|
|
|
|
|
printf("Montant du devis : %d\n",l->devis.montant);
|
|
|
|
|
|
|
|
printf("Date de création : %d/%d/%d\n",l->devis.dateDevis.jour,l->devis.dateDevis.mois,l->devis.dateDevis.annee);
|
|
|
|
|
|
|
|
printf("Date de début des travaux : %d/%d/%d\n",l->devis.dateDebutTravaux.jour,l->devis.dateDebutTravaux.mois,l->devis.dateDebutTravaux.annee);
|
|
|
|
|
|
|
|
printf("Date de fin des travaux : %d/%d/%d\n",l->devis.dateFinTravaux.jour,l->devis.dateFinTravaux.mois,l->devis.dateFinTravaux.annee);
|
|
|
|
|
|
|
|
printf("Etat du devis : %d\n",l->devis.etat);
|
|
|
|
|
|
|
|
printf("Commentaire : %s\n",l->devis.commentaire);
|
|
|
|
|
|
|
|
printf("####################################################\n");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
l = l->suivant;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|