c语言编写简易车票管理系统

我偷老干妈养你 2019-06-19 05:35:44
运行不出正确结果 //6-车票管理系统 #include<stdio.h> #include<stdlib.h> #define N 4 void record(); //录入信息 void menu(); //菜单 void findsdate(); //查询状态 void findroute(); //查询路线 void book(); //预定车票 void refund(); //退票 struct time { int hour; int minute; }; struct infor //定义汽车信息 { int shift; //汽车的班次 struct time start; //发车时间,输入形式为 08:00 char spoint[20]; //起始站 char dest[20]; //终点站 float hour; //行车时间 int num; //额定数量 int snum; //已售数量 } infor[N-1] ; int main() { printf("\n\n----------------------------------车票管理系统--------------------------------\n"); printf("录入班车信息\n输入信息:\n"); int i; for(i=0;i<N;i++) { scanf("%d%d:%d%s%s%f%d%d",&infor[i].shift,&infor[i].start.hour,&infor[i].start.minute, infor[i].spoint,infor[i].dest,&infor[i].hour, &infor[i].num,&infor[i].snum); // 键盘输入信息 } record(); printf("\n\n选择您要进行的操作: \n"); printf("查询所有班次当前状态----1\n\n"); printf("查询汽车路线------------2\n\n"); printf("购买车票----------------3\n\n"); printf("退订车票----------------4\n\n"); menu(); } void record() //录入信息 { int i; FILE *fp; if((fp=fopen("qichexinxi.dat","wb"))==NULL) { printf("文件不存在\n"); exit(0); } for(i=0;i<N;i++) if(fwrite(&infor[i],sizeof(struct infor),1,fp)!=1) printf("文件出错\n"); fclose(fp) ; } void menu() //菜单选项 { int m; char c; scanf("%d",&m) ; switch(m) { case 1: findsdate(); printf("按任意键退出系统\n"); printf("按 # 返回上一层\n"); printf("请输入: \n"); scanf("%c",&c); if(c=='#') menu(); break; case 2: findroute(); printf("按任意键退出系统\n"); printf("按 # 返回上一层\n"); printf("请输入: \n") ; scanf("%c",&c); if(c=='#') menu(); break; case 3: book(); printf("按任意键退出系统\n"); printf("按 # 返回上一层\n"); printf("请输入: \n"); scanf("%c",&c); if(c=='#') menu(); break; case 4: refund(); printf("按任意键退出系统\n"); printf("按 # 返回上一层\n"); printf("请输入: \n"); scanf("%c",&c); if(c=='#') menu(); break; } } void findsdate()//查询状态 { int i; struct time now; printf("请输入时间:\n"); scanf("%d:%d",&now.hour,&now.minute);//输入系统时间 if(now.hour>23||now.hour<0||now.minute>59||now.minute<0) { printf("输入错误,请输入正确时间\n"); getchar(); getchar(); } else for(i=0;i<N;i++) { if (now.hour<infor[i].start.hour||now.minute<infor[i].start.minute&&now.hour==infor[i].start.hour) printf("汽车%d未发出\n",i); else printf("汽车%d发出\n",i); } menu(); } void findroute() { int i; int j; char c1; printf("请选择查询方式:\n") ; printf("按班次查询------1\n"); printf("按终点站查询----2\n"); scanf("%d",&i); if(i!=1&&i!=2) printf("输入错误,请重新输入\n"); switch(i) { case 1: printf("请输入班次:\n"); scanf("%d",&j); if(j>N) printf("输入错误,请重新输入\n"); else printf("班次%d:/t%d%d:%d%s %s %f%d%d",infor[j-1].shift,infor[j-1].start.hour,infor[j-1].start.minute, infor[j-1].spoint,infor[j-1].dest,infor[j-1].hour, infor[j-1].num,&infor[j-1].snum); break; case 2: for(i=0;i<N;i++) { if(c1==infor[i].dest) printf("班次%d:/t\t%d%d:%d%s%s%f%d%d",i,infor[i-1].shift,infor[i-1].start.hour,infor[i-1].start.minute, infor[i-1].spoint,infor[i-1].dest,infor[i-1].hour, infor[i-1].num,&infor[i-1].snum); else printf("未查询到\n"); } break; } } void book() { int i; struct time now; printf("请输入要订购的车票的班次:"); scanf("%d", &i); printf("i=%d\n", i); if (i < 1 || i > N + 1) { printf("对不起,今天没有这趟车,请明天再来,谢谢使用!\n"); printf("按任意键回主菜单......\n"); getchar(); menu(); } scanf("%d:%d",&now.hour,&now.minute);//输入系统时间 printf("当前时间%d:%d",now.hour,now.minute); if (now.hour<=infor[i-1].start.hour&&now.minute<=infor[i-1].start.minute) { if (infor[i - 1].snum < infor[i - 1].num) { (infor[i - 1].snum)++; printf("你的订票成功,请按时上车,谢谢使用!\n"); } else printf("对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作!\n"); } getchar(); menu(); } void refund() { int i; struct time now; printf("请输入要退购的车票的班次:"); scanf("%d", &i); if (i < 1 || i >N + 1) { printf("对不起,今天没有这趟车,无法完成退票.谢谢使用!\n"); getchar(); menu(); } scanf("%d:%d",&now.hour,&now.minute);//输入系统时间 printf("当前时间%d:%d",now.hour,now.minute); if (now.hour>=infor[i-1].start.hour&&now.minute>=infor[i-1].start.minute) if (infor[i - 1].snum >= 1) { infor[i - 1].snum = infor[i - 1].snum-1; printf("退订车票成功,谢谢使用!\n"); } else printf("对不起,今天的这趟车的票尚未卖出,无法完成退票!\n"); else printf("对不起,今天的这趟车已发出,无法完成退票!\n"); }
...全文
60 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧