#include<stdio.h>
#include<stdlib.h>
#define SIZE 4
struct dailfee
{ char type;
int time11;
int time12;
int time13;
int time21;
int time22;
int time23;
char num[11];
float cost;
}dail1[SIZE],dail2[SIZE];
main()
{
int i;
float totalcost=0;
FILE *fp;
if((fp=fopen("dail_list","wb+"))==NULL)
{printf("cannot open file\n");
getchar();
exit(1);
}
printf("please input data:\n");
for(i=0;i<SIZE;i++)
{ dail1[i].cost=0;
scanf("%c %d %d %d %d %d %d %s",&dail1[i].type,&dail1[i].time11,&dail1[i].time12,&dail1[i].time13,&dail1[i].time21,&dail1[i].time22,&dail1[i].time23,&dail1[i].num);
if(dail1[i].time23-dail1[i].time13==0&&dail1[i].time21-dail1[i].time11>=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21-dail1[i].time11)*0.08*60;
else if(dail1[i].time23-dail1[i].time13>0&&dail1[i].time21-dail1[i].time11>=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21-dail1[i].time11)*0.08*60+0.08;
else if(dail1[i].time23-dail1[i].time13<0&&dail1[i].time21-dail1[i].time11>=0);
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21-dail1[i].time11)*0.08*60-0.08;
else if(dail1[i].time23-dail1[i].time13==0&&dail1[i].time21-dail1[i].time11<=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21+24-dail1[i].time11)*0.08*60;
else if(dail1[i].time23-dail1[i].time13>0&&dail1[i].time21-dail1[i].time11<=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21+24-dail1[i].time11)*0.08*60+0.08;
else(dail1[i].time23-dail1[i].time13<0&&dail1[i].time21-dail1[i].time11<=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21+24-dail1[i].time11)*0.08*60-0.08;
totalcost=totalcost+dail1[i].cost;
}
fwrite(&dail1,sizeof(struct dailfee),4,fp);
rewind(fp);
fread(&dail2,sizeof(struct dailfee),4,fp);
printf("type timein timeout number cost");
printf(" %c %d:%d:%d %d:%d:%d %s %f\n",dail2[i].type,dail2[i].time11,dail2[i].time12,dail2[i].time13,dail2[i].time21,dail2[i].time22,dail2[i].time23,dail2[i].num,dail2[i].cost);
printf("总费用为%f",totalcost);
getchar();
fclose(fp);
}
#include<stdlib.h>
#define SIZE 4
struct dailfee
{ char type;
int time11;
int time12;
int time13;
int time21;
int time22;
int time23;
char num[11];
float cost;
}dail1[SIZE],dail2[SIZE];
main()
{
int i;
float totalcost=0;
FILE *fp;
if((fp=fopen("dail_list","wb+"))==NULL)
{printf("cannot open file\n");
getchar();
exit(1);
}
printf("please input data:\n");
for(i=0;i<SIZE;i++)
{ dail1[i].cost=0;
scanf("%c %d %d %d %d %d %d %s",&dail1[i].type,&dail1[i].time11,&dail1[i].time12,&dail1[i].time13,&dail1[i].time21,&dail1[i].time22,&dail1[i].time23,&dail1[i].num);
if(dail1[i].time23-dail1[i].time13==0&&dail1[i].time21-dail1[i].time11>=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21-dail1[i].time11)*0.08*60;
else if(dail1[i].time23-dail1[i].time13>0&&dail1[i].time21-dail1[i].time11>=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21-dail1[i].time11)*0.08*60+0.08;
else if(dail1[i].time23-dail1[i].time13<0&&dail1[i].time21-dail1[i].time11>=0);
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21-dail1[i].time11)*0.08*60-0.08;
else if(dail1[i].time23-dail1[i].time13==0&&dail1[i].time21-dail1[i].time11<=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21+24-dail1[i].time11)*0.08*60;
else if(dail1[i].time23-dail1[i].time13>0&&dail1[i].time21-dail1[i].time11<=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21+24-dail1[i].time11)*0.08*60+0.08;
else(dail1[i].time23-dail1[i].time13<0&&dail1[i].time21-dail1[i].time11<=0)
dail1[i].cost=(dail1[i].time22-dail1[i].time12)*0.08+(dail1[i].time21+24-dail1[i].time11)*0.08*60-0.08;
totalcost=totalcost+dail1[i].cost;
}
fwrite(&dail1,sizeof(struct dailfee),4,fp);
rewind(fp);
fread(&dail2,sizeof(struct dailfee),4,fp);
printf("type timein timeout number cost");
printf(" %c %d:%d:%d %d:%d:%d %s %f\n",dail2[i].type,dail2[i].time11,dail2[i].time12,dail2[i].time13,dail2[i].time21,dail2[i].time22,dail2[i].time23,dail2[i].num,dail2[i].cost);
printf("总费用为%f",totalcost);
getchar();
fclose(fp);
}