收藏 分享(赏)

2023年火车站售票系统C语言课程设计.doc

上传人:13****k 文档编号:486352 上传时间:2023-04-03 格式:DOC 页数:18 大小:179.50KB
下载 相关 举报
2023年火车站售票系统C语言课程设计.doc_第1页
第1页 / 共18页
2023年火车站售票系统C语言课程设计.doc_第2页
第2页 / 共18页
2023年火车站售票系统C语言课程设计.doc_第3页
第3页 / 共18页
2023年火车站售票系统C语言课程设计.doc_第4页
第4页 / 共18页
2023年火车站售票系统C语言课程设计.doc_第5页
第5页 / 共18页
2023年火车站售票系统C语言课程设计.doc_第6页
第6页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、沈 阳 航 空 航 天 大学 课程设计学 号 2023041102031班 级 04110201姓 名 王帅指导教师 郭建新2012年 6 月 21 日沈阳航空航天大学课程设计任务书系:材料科学与工程 专业:材料成型及控制工程 班级:04110201学号:2023041102031题目:火车站售票系统一、课程设计时间20232023第2学期第16周,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:每天“沈阳大连有5次的火车假设,具体的数据如下:班次 发车时间 载客量 已售票数D1 06:40 500 0D2 09:30 600 0A1 13:00 800 0A2 16:00

2、800 0L1 20:00 500 0请你开发一个小程序,以完成每天的:“沈阳大连的售票业务。要求如下:能够售票和退票。某个火车已经过了开车时间,那么该班次不再售票。可以随时显示售票现状,并以文件myfile.test的形式保存当天各个车次的售票情况。三、课程设计要求程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括、“售票、“退票、“显示当前售票情况、“保存当天数据、“退出等项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和

3、学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目 录一、需求分析4二、程序流程图.4三、关键技术分析7四、个人总结10五、参考文献11六、源程序11一、需求分析1售票系统要求存储当天各个车次售票情况,所以程序需要定义结构体变量存储售票情况。系统的整体功能通过记录当天各个车次了解售票情况。编程时采取模块化设计思想,设计主函数,通过主函数中的switch分支选择调用各子函数以实现该系统的各种功能。然后设计相应的子函数来执行系统的各种功能,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。1、 经过对程序设计题目的分析可知,整个程序的设计实现大致分为五

4、个模块,其中每一个模块对应一个函数,他们的功能分别是存储函数save、卖票函数、退票函数、定售总金额、退出。2、 增强了程序的实用性,使系统用户界面友好、功能明确、操作方便,应采取直接用printf函数的方式在界面上输出可供用户选择的菜单。据此应该能够很好的完成要求二、程序流程图1 程序总体结构图输入c C=1? 真 假查询当前售票情况 C=2?真 假定票 C=3?真 假 退票 C=4?真 假保存当前车次售票情况 C=5?真 假退出 图1 程序总体结构图2 函数功能图(1) 退票函数tuipiao(2) 保存信息的函数save(3)卖票函数sell 三、主要界面截图四、关键技术分析核心技术的实

5、现方法和程序段:本函数由六个自定义函数和一个主函数组成,其中 主函数以菜单形式调用其他函数来实现要求的所有功能。主函数分别调用保存函数save、读取函数、卖票函数、退票函数、订票总金额、退出。程序中较为核心的局部,具体分析如下:1 保存函数void save() /x存储函数x/ FILE xfp; int i; if(fp=fopen(myfile.txt,w+)=NULL) printf(cannot open infilen); exit(0); for(i=0;iN;i+) fwrite(&STi,sizeof(ST),1,fp); fclose(fp); printf(n); pri

6、ntf(|xxx存储成功!xxx|n); printf( 请选择相应的数字进行下一步操作!n); 2 查询函数void search() /x查询函数x/ int i,j;printf(请输入要查询的班次n);scanf(%s,&j);for(i=0;iN;i+)if(int(STi.banci)=j)printf(nxxx-查询售票结果-xxxxxxn);printf(班次 发车时间 载客量 已售票数 余票 n);printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yu

7、piao);save();3 售票系统: 定义数组存储从获得的数字,为了能够屡次输入,我们可以构造像for(i=0;iN;i+)来实现我们的要求;如果输入和班次相符可进行 if(strcmp(STi.banci,b)=0) 来继续获得不同的一组数字,直到买票成功,如果买票后,将会显示相关信息来提示买票成功。本函数结束,退出。void sell() /x售票x/int i,c;char a50;int i;printf(nnxxx-沈阳大连 火车售票系统-xxxxxxn);printf(班次 发车时间 载客量 已售票数 余票 n);for(i=0;iN;i+)printf(%3s %10s %1

8、0s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);printf(请输入您要购置的班次(格式如:D1):n); scanf(%s,a);printf(请输入您要购置的票数格式如:10:n);scanf(%d,&c);for(i=0;iN;i+)if(strcmp(STi.banci,a)=0) /x判断班次是否符合x/ STi.maipiao=STi.maipiao+c;STi.yupiao=STi.yupiao-c;printf(xxx-购置成功-xxx:n);printf(xxxxxxx

9、xxx欢送使用xxxxxxxx:n);printf(nnxxx-沈阳大连 火车售票系统-xxxxxxn);printf(班次 发车时间 载客量 已售票数 余票 n);for(i=0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);save();4 退票系统void tuipiao() /x退票x/int i,c;char a50;printf(nnxxx-沈阳大连 火车售票系统-xxxxxxn);printf(班次 发车时间 载客量 已售票

10、数 余票 n);for(i=0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);printf(请输入您要退的班次(格式如:D1):n);scanf(%s,a);printf(请输入您要退的张数(格式如:100):n);scanf(%d,&c);for(i=0;i=0) STi.maipiao=STi.maipiao-c;STi.yupiao=STi.yupiao+c;printf(退票成功!);printf(xxxxxxxxxx欢送使用xxxxxxxx:n);printf(nnxxx-退票结果-xxxxxxn);printf(班次 |发车时间 |载客量 |已售票数 |余票n);for(i=0;iN;i+)printf(%4s %10s %7s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);save();五、个人总结在这五天的C程序课程设计中,我深刻的体会到细心的重要性。C程序设计是一个繁琐,需要投入很多的心思和精力的活。有时它会因为一个标点符号,让所有的心血白费。所以写程序时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 政务民生 > 工作方案

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2