|
|
|
@ -5,12 +5,15 @@
|
|
|
|
|
|
|
|
|
|
void displayDevis(Devis d)
|
|
|
|
|
{
|
|
|
|
|
printf("%s\t%s\t%d\t%d\n", d.nomE, d.adresse, d.prix, d.duree);
|
|
|
|
|
printf("%s\t%s\t%d\t%d\t%d\n", d.nomE, d.adresse, d.capital, d.duree, d.prix);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void readDevis(Devis d, Offre *tabTravaux[])
|
|
|
|
|
Devis readDevis(Offre *tabTravaux[]) // A finir
|
|
|
|
|
{
|
|
|
|
|
Devis d;
|
|
|
|
|
FILE *devisFile;
|
|
|
|
|
devisFile = fopen("devis.txt", "r");
|
|
|
|
|
char travaux[16];
|
|
|
|
|
int index;
|
|
|
|
|
scanf("%s", travaux);
|
|
|
|
@ -20,67 +23,104 @@ void readDevis(Devis d, Offre *tabTravaux[])
|
|
|
|
|
printf("Ces travaux ne sont pas prévus !");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
fgets(d.nomE, 32, devisFile);
|
|
|
|
|
d.nomE[strlen(d.nomE)-1] = '\0';
|
|
|
|
|
//Trouver comment avoir la longueur de l'adresse puis la mettre dans le devis !
|
|
|
|
|
fscanf("%d\n%d\n%d", d.capital, d.duree, d.prix);
|
|
|
|
|
return d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//ListeDevis
|
|
|
|
|
|
|
|
|
|
ListeDevis newListeDevis(void)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ListeDevis defiler(ListeDevis l)
|
|
|
|
|
ListeDevis delete(ListeDevis l)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
MaillonDevis *md;
|
|
|
|
|
if (l==NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("Erreur: suppression dans une liste vide");
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
md=l;
|
|
|
|
|
l=l->suiv;
|
|
|
|
|
free(md);
|
|
|
|
|
return l;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ListeDevis enfiler(ListeDevis l)
|
|
|
|
|
ListeDevis insert(ListeDevis l, Devis d)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
MaillonDevis *md;
|
|
|
|
|
md = (MaillonDevis *)malloc(sizeof(MaillonDevis));
|
|
|
|
|
if (md == NULL)
|
|
|
|
|
{
|
|
|
|
|
printf("Erreur allocation mémoire");
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
md->dev=d;
|
|
|
|
|
md->suiv=l;
|
|
|
|
|
return md;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ListeDevis sortListeDevis(ListeDevis l)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
//Tri fusion.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Booleen emptyListe(ListeDevis l)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
return l==NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int lenListeDevis(ListeDevis l)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
int len=0;
|
|
|
|
|
while (l)
|
|
|
|
|
{
|
|
|
|
|
len++;
|
|
|
|
|
l=l->suiv;
|
|
|
|
|
}
|
|
|
|
|
return len;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void displayListeDevis(ListeDevis l)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
while(l)
|
|
|
|
|
{
|
|
|
|
|
displayDevis(l->dev);
|
|
|
|
|
l=l->suiv;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Offre
|
|
|
|
|
|
|
|
|
|
Offre newOffre(void)
|
|
|
|
|
Offre newOffre(char *travauxName)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
Offre o;
|
|
|
|
|
o.travaux=travauxName;
|
|
|
|
|
o.ldevis=newListeDevis();
|
|
|
|
|
return o;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Offre emptyOffre(Offre o)
|
|
|
|
|
Booleen emptyOffre(Offre o)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
return emptyListe(o.ldevis);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void displayOffre(Offre o)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
printf("Travaux: %s", o.travaux);
|
|
|
|
|
displayListeDevis(o.ldevis);
|
|
|
|
|
}
|