当前位置:首页 > 车票管理系统课程设计报告
车票管理系统 09.11
{
int a; //记录输入数字 char n; //记录输入字符 bool f=false;
printf(\请输入您要退的班次: \ scanf(\ getchar();
for(i=0;i if((a==train[i].number)&&(canpan())) { printf(\ break; /*当车次号码与输入号码相同,canpan()函数返回1,既发车时间大于当前时间时打印the train is started */ } else if((a==train[i].number)&&(!canpan())) /*车次号码与输入号码相同,canpan()函数返回0,既发车时间小于当前时间*/ { printf(\您确定要退%d:d由%s到%s的车票(y/n):\ train[i].origin_station,train[i].last_station); /*用户确认信息,确认时间,起始站终点站*/ scanf(\ if(n=='y') { printf(\退票成功!!! \\n\ system(\ train[i].sold_ticket=train[i].sold_ticket-1;//退票成功已售票数减一 f=true; } else { printf(\退票失败!!!\\n\ system(\ return ; } break; } } if(!f) printf(\没有此车次信息,请确认!!! \不存在车次信息打印 save(); //保存修改信息到文本 车票管理系统 09.11 system(\} 当满足输入车次与已有车次号码相同,当前时间大于发车时间,进入确认信息,当用户看完确认信息同意后,退票成功,退票成功后,已售车票减一,并记录到文件中,不满足时打印相应提示信息。 10.时间比较模块(canpan()) int canpan() { if((syshour>train[i].ft.hour)||((syshour==train[i].ft.hour)&&(sysminute>train[i].ft.minute))) /*分别比较小时,分钟*/ return 1; else return 0; } 当系统时间小时大于发车时间小时返回1,既系统时间大于发车时间 当系统时间小时等于发车时间小时,且系统时间分钟大于发车时间分钟返回1 其他返回0 11.存储模块(save()) void save() { FILE *fp; if((fp=fopen(filename,\判断文件存在和是否可写 printf(\文件不可写\ for(i=0;i fprintf(fp,\ fprintf(fp,\ train[i].max_number,train[i].sold_ticket); } fprintf(fp,\ fprintf(fp,\ train[i].max_number,train[i].sold_ticket); /*将数组中的数据按格式化写入文件中*/ fclose(fp); //关闭文件 } 存储模块将已更改数据,一般是买卖票信息存储到文件中,这样就使文件中的信息是最新的。 车票管理系统 09.11 12.主函数(main()) void main() { printf(\欢迎使用车票管理系统*****\\n\ system(\ while(1) { mainmenu(); chose(); } } 四.系统测试 测试数据 1 6 00 郫县 广汉 2 45 2 6 30 郫县 成都 0.5 40 3 7 00 郫县 成都 0.5 40 4 10 00 郫县 成都 0.5 40 5 12 20 长沙 北京 10 40 6 15 00 长沙 南京 5 40 7 16 00 广州 北京 3 45 8 17 20 长沙 北京 10 40 9 17 50 武汉 长沙 3 40 10 18 00 长沙 广州 5 50 11 18 20 长沙 深圳 5 50 12 18 30 长沙 广州 5 50 13 18 50 长沙 广州 5 50 14 22 00 长沙 广州 5 50 15 22 20 长沙 广州 5 50 16 10 20 长沙 广州 5 50 17 10 50 长沙 广州 5 50 18 11 00 广州 长沙 5 50 19 12 00 长沙 哈尔滨 10 50 运行系统 按任意键 30 40 20 20 10 40 40 4 5 50 45 40 40 40 20 20 20 20 50 车票管理系统 09.11 首先录入班次信息,测试数据存在h: 输入1 输入文件路径,文件名,y 返回主菜单浏览班次信息,输入2 文件中信息显示正确,车次状态信息显示正确 查询操作,返回主菜单,输入3
共分享92篇相关文档