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" #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[]) int chargement(Offre *offre, char fichier[])
{ {
FILE *flot; FILE *flot;
@ -23,15 +31,36 @@ int chargement(Offre *offre, char fichier[])
return -2; 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++) for(int i = 0; i < tLog; i++)
offre[i] = lireDevis(flot); {
Devis d;
lireDevis(flot, &d, typeTravaux);
insererDevis(d, offre, typeTravaux);
}
fclose(flot); fclose(flot);
return tLog; 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