求帝!
c语言吧
全部回复
仅看楼主
level 4
2010年04月07日 17点04分 1
level 4
#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);
}

2010年04月07日 17点04分 2
level 5
Error01(Line 13): 编译器认为cost的类型为double比较好
Error02(Line 18): 编译器认为totalcost的类型为double比较好
Error03(Line33): 多去掉多余分号
Error04(Line39): 缺少if
Warning01:编译器鼓励初学者依靠自己的力量战胜错误!
Warning02:鉴于编译器的夜间工作条例,只修正了语法错误,并未对逻辑错误进行更正,特此说明(关于编译器的夜间工作条例 C Programmer Running Rules in night,请参看http://hi.baidu.com/c%D3%EF%D1%D4%B1%E0%D2%EB%C6%F7/)
2010年04月07日 17点04分 3
1