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"
//? 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~~~~~~~~~~~~
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("1- Afficher les devis pour un type de travaux.\n");
printf("2- Afficher les devis par type pour une entreprise.\n");
@ -14,13 +25,21 @@ void affiche(void)
switch(choix)
{
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;
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;
default:
printf("Choisissez entre 1 & 2.\n");
printf("Vous ne pouvez choisir qu'entre 1 et 2.\n");
break;
}
}
@ -28,25 +47,62 @@ void affiche(void)
/**
* \brief Afficher l'ensemble des devis pour un type de travaux
* \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, char t)
void AfficheDevis(ListeDevis l)
{
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
* \param[out] *l pointeur sur le maillonDevis
* \param[in] t tâche donné par l'utilisateur
* \param[in] entr nom de l'entreprise
*/
//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