Ajout de la lecture de Devis

load-save
Rémi LAVERGNE 1 year ago
parent a3e7c573f4
commit fb40312248

@ -5,6 +5,14 @@
#include "specification1.h"
/**
* @brief Charge les données des devis d'un fichier dans l'Offre
* @param offre L'offre dans laquelle stocker les données
* @param fichier Le fichier à lire
* @return int Le nombre de devis chargés (-1 si erreur d'ouverture, -2 si en-tête invalide)
* @see lireDevis()
* @see insererDevis()
*/
int chargement(Offre *offre, char fichier[])
{
FILE *flot;
@ -23,15 +31,36 @@ int chargement(Offre *offre, char fichier[])
return -2;
}
offre = (Offre*)malloc(tLog*sizeof(Offre));
char typeTravaux[30];
//TODO Fonction insererDevis(Devis d, Offre *o, char typeTravaux[])
for(int i = 0; i < tLog; i++)
offre[i] = lireDevis(flot);
{
Devis d;
lireDevis(flot, &d, typeTravaux);
insererDevis(d, offre, typeTravaux);
}
fclose(flot);
return tLog;
}
Offre lireDevis(FILE *flot)
/**
* @brief Lit un seul devis et le stocke dans la structure Devis
* @param flot Le fichier à lire
* @param devis La structure Devis dans laquelle stocker les données
* @param typeTravaux Le type de travaux
* @return void
*/
void lireDevis(FILE *flot, Devis *devis, char *typeTravaux)
{
//TODO
char ligne[102];
fscanf(flot, "%s", typeTravaux);
fgets(devis->entreprise, 28, flot);
fgets(ligne, sizeof(ligne), flot);
sscanf(ligne, "%d %[^0-9] %d %s", &devis->adresse.numero, devis->adresse.rue, &devis->adresse.codePostal, devis->adresse.ville);
fscanf(flot, "%d", &devis->capital);
fscanf(flot, "%d", &devis->duree);
fscanf(flot, "%d", &devis->cout);
}
Loading…
Cancel
Save