车票管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6) 附录:主要源程序代码,含必要的注释。
3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解
决问题、运行程序和回答教师提出的问题。
第一章 目的与要求
编写目的:
便于车站管理部门对汽车班次信息的统计和管理,提高车站部门的工作效率,能够更好的为市民服务,同时也便于旅客了解相关的信息,方便出行。
3 7:00 郫县 成都 0.5 40 20
4 10:00 郫县 成都 0.5 40 2

(一)功能要求:用c/c++设计一系统,能提供下列服务:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
要求:
1.能够录入汽车班次信息,如班次号,发车时间,起点站,终点站,行车时间,额载量,已订票人数等。
2.能够浏览班次信息,显示信息总和(如果已发出站的要要显示“已经开出”)。
ቤተ መጻሕፍቲ ባይዱ3.查询路线:可按班次号查询 ,可按终点站查询。
4.售票功能:当查询出已定票人数小于额定载量且当前系统时间小于发车时间才能售票,自动更新已售票人数。
3、初步掌握开发一个小型实用系统的基本方法;
4、学会调试一个较长程序的基本方法;
5、学会利用流程图或N-S图表示算法;
6、掌握书写程序设计开发文档的能力。
三、课程设计应完成的工作
1、编写完成相应题目的程序;
2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:
1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;
一、课程设计的内容
车票管理系统
一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如
班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数
1 8:00 郫县 广汉 2 45 30
2 6:30 郫县 成都 0.5 40 40
2) 总体设计:包括系统总体设计框架和系统功能模块图;
3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;
4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);
5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;
以下是该程序运行的部分结果:
主界面:
信息录入图和浏览时刻表:
查询售票图:
退票图:
保存信息图:
经历近几天的学习和锻炼,这个车票管理系统算是做出来了(不过我承认我是参考网上代码所得,我基本能看懂)。它基本有前面提到过的功能,即录入班次信息,浏览班次信息,售票和退票,保存文件。有一个扩展功能,即可以退出系统(代码中的sys_exit()函数)。
得到一个字符;
返回值;
}
程序中涉及的数据过多,本人决定采用两个结构体处理数据。其中时间为一个数据结构体(即结构1),它又是汽车结构体(即结构2)的一个成员元素,这样处理数据容易些。
本人在写代码的过程中觉得难控制的是那个班次数。因为本系统提供了个录入信息功能,可以不定时的增加班次,即这个班次数是不确定的。而这个班次数又影响到查询函数,退票函数,售票函数等,另外还影响到一些功能小函数,如比较时间函数等。经过上网查找资料,我发现有一个巧妙的方法可以解决这个问题,即设定一个静态局部变量(即代码中的H),这样每当班次号改变之后这个H的值就和它的班次号一样大,这样就可以解决之前提到的问题了。另外,这个系统要有一个保存文件功能,由于本人对文件保存处理不清楚,设计过程中一直搞不明白。最后在网上查到了相关信息才可以弄出。
}
提示继续售票按Y,按任意键返回主菜单!
输入一个字符;
}
}
3.1.2退票函数
while(输入的是Y的时候)
{
提示输入要退票的车次;
输入一个字符;
}
if(输入的班次号存在和系统时间比发车时间晚)
{订票人数-1;
提示退票成功!
}
else if(输入的班次号小于零)
提示该班次不存在!;

else if(要退票的那辆车的发车时间早过现在系统时间)
{
提示车已发出不能退票!;
提示继续退票请按(Y),返回主菜单按任意键;
输入一个字符;
}
}
3.1.3菜单函数
{
打印“车票管理系统”;
打印“系统时间”;
打印“录入班次信息”;
打印“查询班次信息”;
打印“售票”;
打印“退票”;
打印“保存车次信;";
打印“退出系统”;
打印“请选择(0--6)”;
打印“车票管理系统;
5.退票功能:输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
第二章 总体设计
1)系统总体设计框架
2)主要功能流程图:
录入班次信息功能流程图:
浏览班次功能流程图:
第三章 详细设计
3.1功能模块设计
3.1.1售票函数
while(选择的是“Y”)
{打印当前时间
打印“班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数”
for()
{
输出班次信息

提示输入车的班次
}
if(当查询出已定票人数小于额定载量且当前系统时间小于发车时间时)
{提示售票成功!
订票人数加1;
}
IF(额定载量小于订票人数)
{
提示票已售完!;
}
else if(输入的班次号小于零)
{该车不存在!}
else if(当前系统时间晚于发车时间)
{
提示车已发出!
不过目前我发现它一个不足之出,就是不能对输入时间的格式起限制作用。如我可以输入26:30:00,它系统不会提示说输入错误提示再输入一个正确的时间。还有,就是整个代码条理不够清晰,只是用到一个主函数和调用其他函数,可读性差!我认为最好是能分模块化处理,分文件处理,这样条理性强,可读性高,再者修改也容易。不过由于本人水平有限,不能这样处理。
(3)查询路线:可按班次号查询 ,可按终点站查询
(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
二、课程设计的要求与数据
1、进一步掌握和利用C语言进行程设计的能力;
2、进一步理解和运用结构化程序设计的思想和方法;
相关文档
最新文档