Ajout de la fonction de recherche et mise à jour des fonction d'affichage

pull/1/head
Rémi LAVERGNE 1 year ago
parent 953b8e050a
commit b49d71b5e3

@ -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;
}
}
} }
Loading…
Cancel
Save