火车票售票系统C程序代码及报告
time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); a=gethour(); //获取系统时间 b=getmin(); fseek(fp,0L,SEEK_SET); /*定位指针到文件开始位置*/ fread(&bus,size,1,fp); printf(" 班 次 发车时间 始发站 终点站 行车时间 额定载量 已定票数 发车状态\n"); while(!feof(fp)){ printf("%5ld%8d:%02d%10s%9s%10.1f%10d%9d",bus.Num,bus.Timehour,bus.Timemin,bus.Start,bus.End,bus.Duration,bus.Limit,bus.Sold); if(a>bus.Timehour){ printf(" 已发车\n"); } else if(a==bus.Timehour){ if(b>=bus.Timemin) printf(" 已发车\n"); else printf(" 未发车\n"); } else printf(" 未发车\n"); fread(&bus,size,1,fp); }; }
void Queryline_Num(FILE *fp) /*按班次号查询车次信息*/ { struct bus_info bus;long num; int count1,count2; /*计数器,记录扫描次数和总班次数*/ printf(" 请输入查询班次:"); scanf("%ld",&num); count1=getbuscount(fp); /*获得已经储存的车次总数*/ count2=0; /*count2用作计数器,用于判断是否存在需要查询的班次号*/ fseek(fp,0L,SEEK_SET); fread(&bus,size,1,fp); while(!feof(fp)){ if(num==bus.Num){ printf(" 班 次 发车时间 始发站 终点站 行车时间 额定载量 已定票数\n"); printf("%5ld%8d:%02d%10s%9s%10.1f%10d%9d\n",bus.Num,bus.Timehour,bus.Timemin,bus.Start,bus.End,bus.Duration,bus.Limit,bus.Sold);