




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、课程设计的内容车票管理系统一车站每天有 n 个发车班次,每个班次都有一班次号( 1、2、3 n),固定的发车时间,固定的路线(起始站、终点站) ,大致的行车时间,固定的额定载客量。如班次发车时间起点站终点站行车时间额定载量已定票人数1 8:00郫县广汉 2453026:30郫县成都404037:00郫县成都4020410:00郫县成都402(一)功能要求:用c/c+ 设计一系统,能提供下列服务:(1)录入班次信息 ( 信息用文件保存 ), 可不定时地增加班次数据(2)浏览班次信息 , 可显示出所有班次当前状总 ( 如果当前系统时间超过了某班次的发车时间 , 则显示“此班已发出”的提示信息)
2、 。(3)查询路线:可按班次号查询, 可按终点站查询(4)售票和退票功能A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数二、课程设计的要求与数据1、进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档的能力。三、课程设计应完成的工作1、编写完成相应题目的程序;2、编写课程设计报告 , 课程设计报告的内容
3、应包括以下6 个部分:需求分析:包括设计题目、设计要求以及系统功能需求分析;总体设计:包括系统总体设计框架和系统功能模块图;详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);总结:课程设计完成了哪些功能,有没有什么扩展功能还有哪些地方需要改进课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;附录:主要源程序代码,含必要的注释。3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解决问题、运行程
4、序和回答教师提出的问题。目录第一章目的与要求 .错误 ! 未定义书签。第二章总体设计 .第三章详细设计 .功能模块设计 .数据结构设计 .第四章调试分析 .第五章总 结 .第六章附录 .参考文献 .错误 ! 未定义书签。错误 ! 未定义书签。错误 ! 未定义书签。错误 ! 未定义书签。错误 ! 未定义书签。错误 ! 未定义书签。错误 ! 未定义书签。错误 ! 未定义书签。第一章目的与要求编写目的:便于车站管理部门对汽车班次信息的统计和管理, 提高车站部门的工作效率,能够更好的为市民服务, 同时也便于旅客了解相关的信息,方便出行。要求:能够录入汽车班次信息,如班次号,发车时间,起点站,终点站,行
5、车时间,额载量,已订票人数等。能够浏览班次信息,显示信息总和(如果已发出站的要要显示“已经开出”)。查询路线:可按班次号查询 , 可按终点站查询。售票功能:当查询出已定票人数小于额定载量且当前系统时间小于发车时间才能售票,自动更新已售票人数。退票功能:输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。第二章总体设计1)系统总体设计框架录浏保退入览查班班询售退存出次次路票票信系信信线息统息息按按终班点次站查查询询2)主要功能流程图:录入班次信息功能流程图:按y继续录入班次信浏览班次功能流程图:按按按班次终点站售票系统工作流程图:售班票车次票已已不成售发存功完出在第三章详细设计功能模块
6、设计售票函数while( 选择的是“ Y”) 打印当前时间打印“班次 发车时间起点站 终点站行车时间额定载量已定票人数”for()输出班次信息提示输入车的班次if(当查询出已定票人数小于额定载量且当前系统时间小于发车时间时 ) 提示售票成功!订票人数加 1;IF (额定载量小于订票人数)提示票已售完!;else if(输入的班次号小于零 ) 该车不存在! else if(当前系统时间晚于发车时间)提示车已发出!提示继续售票按Y,按任意键返回主菜单!输入一个字符;退票函数while( 输入的是 Y 的时候 )提示输入要退票的车次;输入一个字符;if(输入的班次号存在和系统时间比发车时间晚) 订票
7、人数 -1 ;提示退票成功!else if(输入的班次号小于零 )提示该班次不存在!;)else if(要退票的那辆车的发车时间早过现在系统时间)提示车已发出不能退票!;提示继续退票请按 (Y), 返回主菜单按任意键;输入一个字符 ;菜单函数打印“车票管理系统” ;打印“系统时间”;打印“录入班次信息” ;打印“查询班次信息” ;打印“售票”;打印“退票”;打印“保存车次信; ;打印“退出系统”;打印“请选择( 0-6 )”;打印“车票管理系统;得到一个字符;返回值;数据结构设计 ( 可选 )struct Timesint hour;structBuses/定义汽车int number;str
8、uct Times time;程序中涉及的数据过多, 本人决定采用两个结构体处理数据。其中时间为一个数据结构体(即结构1),它又是汽车结构体(即结构2)的一个成员元素,这样处理数据容易些。第四章调试分析本人在写代码的过程中觉得难控制的是那个班次数。因为本系统提供了个录入信息功能, 可以不定时的增加班次, 即这个班次数是不确定的。而这个班次数又影响到查询函数,退票函数,售票函数等,另外还影响到一些功能小函数,如比较时间函数等。 经过上网查找资料,我发现有一个巧妙的方法可以解决这个问题,即设定一个静态局部变量(即代码中的H),这样每当班次号改变之后这个H 的值就和它的班次号一样大,这样就可以解决之
9、前提到的问题了。另外,这个系统要有一个保存文件功能,由于本人对文件保存处理不清楚,设计过程中一直搞不明白。最后在网上查到了相关信息才可以弄出。以下是该程序运行的部分结果:主界面 :信息录入图和浏览时刻表:查询售票图 :退票图 :保存信息图 :第五章总结经历近几天的学习和锻炼,这个车票管理系统算是做出来了(不过我承认我是参考网上代码所得,我基本能看懂)。它基本有前面提到过的功能,即录入班次信息,浏览班次信息,售票和退票,保存文件。有一个扩展功能, 即可以退出系统 (代码中的 sys_exit()函数)。不过目前我发现它一个不足之出,就是不能对输入时间的格式起限制作用。如我可以输入 26:30:0
10、0,它系统不会提示说输入错误提示再输入一个正确的时间。还有,就是整个代码条理不够清晰,只是用到一个主函数和调用其他函数, 可读性差!我认为最好是能分模块化处理,分文件处理,这样条理性强, 可读性高,再者修改也容易。不过由于本人水平有限,不能这样处理。经历这近几天的锻炼,我也比较满意自己的表现。在这过程中我查阅了很多书, 学到了很多课堂上没有的东西。 很多知识我之前不知道的现在大部分都知道了,不过理解不够深透 , ,导致在这近几天里碰了不少壁!近几天我觉得编程既是一项费时费力但也是有趣的事。说它费时费力是因为它繁琐, 而有趣是因为我很享受一段段的小程序编成功之后的喜悦,苦尽干来啊。我觉得编程是一
11、件快乐的差事,我想我今后会加把时间学习它,把它学好。第六章附录程序代码:#include#include#include#include#include#include#include#define Max 50.);getchar();intcompare_time(structTimest1,structTimest2)ime,busj.time)k=j;if(k!=i)b=copy(b,busi);busi=copy(busi,busk);busk=copy(busk,b);int number_search(struct Buses bus,int n)umber=n)return i
12、;return -1;int end_search(struct Buses bus,char ends)umber);getchar();while(number_search(bus,busi.number)=0)printf(你输入的班次已存在请重新输入!:);scanf(%d,&busi.number);getchar();printf(请输入时间如 :(20:30:00) :);scanf(%d:%d:%d,&busi.,&busi.,&busi.;getchar();printf(请输入车的起点站 :);scanf(%s,busi.start);getchar();printf(请
13、输入车的终点站 :);scanf(%s,busi.end);getchar();printf(请输入行车时间 :);scanf(%f,&busi.time_cost);getchar();printf(请输入车的额定载量 :);scanf(%d,&busi.carry_number);getchar();busi.booK_number=0;H+;i+;printf(信息录入成功 !n);printf(继续录入请按 (Y), 返回主菜单按任意键 .);flag=getchar();void chaxun(struct Buses bus).);flag=getchar();void shoup
14、iao(struct Buses bus)arry_numberbusn.booK_number&compare_systime(bus n,tnow)printf(nttt售票成功 !n);busn.booK_number+;printf(t班次 发车时间起点站终点站行车时间额定载量已定票人数 );printf(nt-n);print(busn);printf(nt-n);if(busn.carry_number=busn.booK_number)printf(nttt该次车的票已售完!n);else if(n0)printf(nttt该次车不存在 !n);else if(!compare_systime(busn,tnow)printf(nttt该次已发出!n);printf(tt继续售票请按(Y),返回主菜单按任意键.);flag=getchar();void tuipiao(struct Buses b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级上册数学教案 - 可能性 西师大版
- 2025办公租赁合同
- 山东省菏泽市牡丹区胡集镇2023-2024学年三年级下学期语文期中考试试卷(含答案)
- 2025电工设备采购合同协议书范本
- 简易销售家具合同范本
- 汽车装潢转让合同范本
- 竞选培训师岗位
- (二模) 杭州市2025届高三教学质量检测英语试题卷(含答案详解)+听力音频+听力材料
- 付家庄租房合同范本
- 2025年典权设定不动产借款合同范本
- 酒店管理客房服务员适岗培训-送客服务之送别客人
- GB/T 43526-2023用户侧电化学储能系统接入配电网技术规定
- 下肢动脉闭塞护理查房
- 诉讼异地管辖申请书范本 法院
- 2024年杭州市能源集团招聘笔试参考题库含答案解析
- 提高压疮预防措施的落实率
- 车辆租赁服务技术规范书
- 新生儿呼吸窘迫综合征教学护理查房
- 神经发育障碍
- 低血容量性休克急救护理课件
- 冷却塔热力计算书1
评论
0/150
提交评论