#include #include #include typedef struct { char nom[40]; char depart[40]; char arrivee[40]; float kmv; float kma; }deplacement; typedef struct { char nom[40]; char marque[40]; char modele[40]; char type[40]; char moteur[40]; char carburant[40]; float consoville; float consoautoroute; }automobiliste; void calcul(deplacement b) { automobiliste o; char* e ="Essence"; char* g = "Gazole"; float r1,r2,r; float l=99999999; FILE *fa; FILE *fr; float total=0; if ((fa = fopen("/root/Desktop/test/automo.txt", "r"))==NULL)//* changer la location du fichier pour windows {printf("Cannot open file \n");} else { while(fread(&o,sizeof(automobiliste),l,fa)!=0) { if((strcmp(o.nom,b.nom))==0) { r1=rembour(o.consoville,b.kmv); r2=rembour(o.consoautoroute,b.kma); if((strcmp(o.carburant,"Gazole"))==0) { r=(r1+r2)*0.7; if ((fr = fopen("/root/Desktop/test/remb.txt", "a+"))==NULL) {printf("Cannot open file \n");} else { fprintf(fr,"%s",o.nom); fprintf(fr,"\n\t\t\t\t%s",b.depart); fprintf(fr,"\t\t\t\t%s",b.arrivee); fprintf(fr,"\t\t\t\t%d",b.kmv+b.kma); fprintf(fr,"\t\t\t\t%d Euros",r); fprintf(fr,"-------------------------------------------\nTotal\t\t\t\t\t\t%f",total); fputc('\n',fr); fclose(fr); } } if((strcmp(o.carburant,"Essence"))==0) { r=(r1+r2)*1.1; if ((fr = fopen("/root/Desktop/test/remb.txt", "a+"))==NULL) {printf("Cannot open file \n");} else { fprintf(fr,"%s",o.nom); fprintf(fr,"\n\t\t\t\t%s",b.depart); fprintf(fr,"\t\t\t\t%s",b.arrivee); fprintf(fr,"\t\t\t\t%d",b.kmv+b.kma); fprintf(fr,"\t\t\t\t%d Euros",r); fprintf(fr,"-------------------------------------------\nTotal\t\t\t\t\t\t%f",total); fputc('\n',fr); fclose(fr); } } }}} float rembour(int a,int b) { float k; k=(a*b)/100; return k; } int main() { deplacement s; FILE *f; if ((f = fopen("/root/Desktop/test/deplacement.txt", "a+"))==NULL) { printf("Cannot open file \n"); } else printf("Nom automobiliste :"); scanf("%s",&s.nom); fprintf(f,"%s",s.nom); printf("ville de départ :"); scanf("%s",s.depart); fprintf(f,"\t\t\t\t%s",s.depart); printf("ville d'arivée :"); scanf("%s",s.arrivee); fprintf(f,"\t\t\t\t%s",s.arrivee); printf("le Nombre de KM en ville :"); scanf("%f",&s.kmv); fprintf(f,"\t\t%f",s.kmv); printf("le Nombre de KM sur autoroute :"); scanf("%f",&s.kma); fprintf(f,"\t\t%f",s.kma); fputc('\n',f); void calcul(deplacement s); fclose(f); }