1、简单的汽车站售票系统沈 阳 航 空 工 业 学 院 课程设计 学 号200604061102 班 级 6406103 姓 名 王乐 指导教师 王晓岩 2008年 03月 18日沈阳航空工业学院课程设计任务书机电工程学院 机械设计及其自动化专业 6406103班 学号200604061102 一、课程设计题目:简单的汽车站售票系统二、课程设计工作自2008年3月10日起至2008年3月14日止,共计一周,20学时。三、课程设计内容:每天“沈阳植物园”有5个班次的汽车(假设),具体的数据如下:班次 发车时间 载客量 已售票数01 06:40 50 002 09:30 40 003 13:00 40
2、 004 16:00 40 005 20:00 50 0请你为售票员开发一个小程序,以完成每天的“沈阳植物园”的售票业务。要求如下:能够售票和退票。某个班次已经过了开车时间,则该班次今天不再售票。可以随时显示售票现状,并以文件(myfile.txt)的形式保存当天各个车次的售票情况。四、课程设计要求:程序质量:贯彻模块化的程序设计思想,以主函数调用各个功能模块。用户界面友好,功能明确,操作方便。用户界面中的菜单至少应包括“售票”、“退票”、“显示当前售票情况”、“保存当天数据”、“退出”5项。在代码中给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书和源程序。课
3、程设计说明书的格式和内容参见提供的模板。指导教师:_学生签名:_五、成绩: 六、教师评语: 目录一、需求分析 1二、程序流程图 2三、核心技术的实现说明及相应程序段 3四、个人总结 5五、参考文献 5六、源程序 5一、需求分析通过对任务书内容的详细了解和深入的思考得知,整个程序可以分为三大部分.定义变量,输入数据,输出数据.但是在整个程序的执行过程当中,随处都体现了方便乘客购票、退票、查询售票与车次的思想,并且结合结构体与文件的读写来储存数据,以实现售票的数据化管理. 用户界面友好,功能明确,操作方便。信息表达清楚明确。1. 定义变量:声明结构体,定义变量,为变量赋初值,为下一步工作做好准备。
4、 2输入数据:用户可以按自己意愿输入车次进行查询,进而根据售票情况进行自主的选择够票。 3输出数据:根据用户的需要输出车次、时间、售票情况等数据,以方便用户了解情况。程序结束后还有推出功能,增加了程序的可操控性。二、程序流程图三、核心技术的实现说明及相应程序段下面对程序做以详细介绍:(1)struct student /*定义结构体*/ char banci10; /*各结构体名称*/ char facheshijian20; char zaikeliang20; int maipiao; int yupiao; STN=01,06:40,50,0,50, /*对结构体输入数据*/ 02,09
5、:30,40,0,40, 03,13:00,40,0,40, 04,16:00,40,0,40, 05,20:00,50,0,50 ;(2) void tuipiao() /*退票*/int i,m;char b15;printf(nndan qian qing kuangn);printf(ban ci facheshijian zaikeliang maipiao yupiao n);for(i=0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yu
6、piao);printf(qing shu ru tui piao ban ci:n);scanf(%s,b);printf(qing shu ru tui piao zhang shu:n);scanf(%d,&m);for(i=0;i=0) /*判断售票数*/STi.maipiao=STi.maipiao-m;STi.yupiao=STi.yupiao+m;printf(tui piao cheng gong);printf(nntui piao jie guon);printf(ban ci facheshijian zaikeliang maipiao yupiao n); /*显示售
7、票情况*/for(i=0;iN;i+)printf(%4s %10s %7s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);save(); /*保存*/ else printf(“tui piao shi bai ”);(3)void sell() /*售票*/int i,m;char b15;int i;printf(nnshou piao qing kuang:n);printf(banci facheshijian zaikeliang maipiao yupiao n);for(i=
8、0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);printf(qing shu ru gou mai de ban ci:n); scanf(%s,b);printf(qing shu ru gou mai de piao shu:n);scanf(%d,&m);for(i=0;iN;i+)if(strcmp(STi.banci,b)=0) /*判断班次是否符合*/ STi.maipiao=STi.maipiao+m;STi.yupia
9、o=STi.yupiao-m;printf(gou mai cheng gong);printf(nnshou piao qing kuangn);printf(“nbanci facheshijian zaikeliang maipiao yupaiao n);for(i=0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);/*/save(); elseprintf(“tui piao shi bai”)四、个人总结经过了短短的一周的C语
10、言课程设计,我对C语言有了更进一步的了解。让我学会了许多自己以前不会的知识,懂得了如何用结构话思想来解决实际问题,懂得了将C程序模块的好处。用主函数调用子函数的方法,这样一来就把一个大的程序分成了几个小的程序,这样不仅降低了程序的难度还使程序的编辑思路更加清晰明了。在编制程序的过程中,我也遇到了许多较难解决的问题,例如:文件数据的读取,语法错误的查找,算法错误的查找以及文件的存储等问题。不过在老师的帮助和指导下,让我学到了程序的单步运行,和监视断点等方法来解决一些算法的错误。总的来说,C语言课程设计的综合训练让我体会到了C语言的用处,让我把以前学到的理论知识应用与在实际生活的到了应用。同时培养
11、了我自己思考解决问题的能力,让我得到了很好的锻炼,使我受益匪浅. 五、参考文献 谭浩强C程序设计北京:清华大学出版社,2005六、源程序#include stdio.h#include stdlib.h#include string.h#include conio.h#include time.h#define N 5struct student /*定义结构体*/ char banci10; char facheshijian20; char zaikeliang20; int maipiao; int yupiao; STN=01,06:40,50,0,50, 02,09:30,40,0,
12、40, 03,13:00,40,0,40, 04,16:00,40,0,40, 05,20:00,50,0,50 ;/*声明各函数*/void search(); void save();void sell();void localtimes();void tuipiao();int menu();int menu() /*定义菜单*/ int c; printf(1.cha xun dang qian shou piao qing kuang.n); printf(2.xian shi dang qian shi jian.n); printf(3.mai piao.n); printf(4
13、.tui piao.n); printf(5.cun chu shu ju.n); printf(6.tui chu shou piao xi tong.n); do printf(n qing xuan ze(1-6)ji xu:); scanf(%d,&c); while(c6);return (c);void search() /*查询函数*/ int i;printf(qing shu ru cha xun de ban cin);scanf(%d,&i);i=i-1;printf(nncha xun jie guon);printf(banci facheshijian zaikel
14、iang maipiao yupiao n);printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);void sell() /*售票*/int i,m;char b15;int i;printf(nnshou piao qing kuang:n);printf(banci facheshijian zaikeliang maipiao yupiao n);for(i=0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banc
15、i,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);printf(qing shu ru gou mai de ban ci:n); scanf(%s,b);printf(qing shu ru gou mai de piao shu:n);scanf(%d,&m);for(i=0;iN;i+)if(strcmp(STi.banci,b)=0) /*判断班次是否符合*/ STi.maipiao=STi.maipiao+m;STi.yupiao=STi.yupiao-m;printf(gou mai cheng gong);prin
16、tf(nnshou piao qing kuangn);printf(“nbanci facheshijian zaikeliang maipiao yupaiao n);for(i=0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);/*/save(); elseprintf(“gou maishi bai”) void tuipiao() /*退票*/int i,m;char b15;printf(nndan qian qing kua
17、ngn);printf(ban ci facheshijian zaikeliang maipiao yupiao n);for(i=0;iN;i+)printf(%3s %10s %10s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);printf(qing shu ru tui piao ban ci:n);scanf(%s,b);printf(qing shu ru tui piao zhang shu:n);scanf(%d,&m);for(i=0;i=0) /*判断售票数*/STi
18、.maipiao=STi.maipiao-m;STi.yupiao=STi.yupiao+m;printf(tui piao cheng gong);printf(nntui piao jie guon);printf(ban ci facheshijian zaikeliang maipiao yupiao n); /*显示售票情况*/for(i=0;iN;i+)printf(%4s %10s %7s %8d %8dn,STi.banci,STi.facheshijian,STi.zaikeliang,STi.maipiao,STi.yupiao);save(); /*保存*/ else p
19、rintf(“tui piao shi bai ”);void save() /*存储函数*/ FILE *fp; 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); printf(success to saven); printf( please chose the right number to do next steptn); main()for(;) switch(menu() case 1:search();break; case 2:localtimes();break; case 3:sell(); break; case 4:tuipiao();break; case 5:save();break; case 6:exit(0);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2