铁路售票管理系统完整版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
铁路售票管理系统 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】
《C++程序设计》课程设计说明书
题目铁路售票系统
学号
姓名
指导教师
日期
内蒙古科技大学课程设计任务书
目录
1
2
3
3
第1章需求分析
用C++设计一个系统,能提供下列服务:
(1)录入车次信息,格式为:
可不定时地增加车次数据。
(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。
(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能
A :查询车次或站点。当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。
B :退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。
第2章 总体设计
1.用结构框图表示各个功能之间的关系。
2. 将框图中系统的各个功能用文字详细的描述。
1)初始化:在未添加过列车信息的情况下,管理员进入系统初次录入列车信息。
2)添加:管理员添加列车信息。
3)浏览:浏览列车信息,显示车次、发车时间、起始站、终点站、硬座票价、剩余座位、列车是否发出。
4)查找:查找列车信息(分别为按车次、起始站、终点站)。
5
)订票:订购车票;已发出的列车不能订票。 6)退票:退还车票;已发出的列车不能退票。
第3章 类的设计
3.1 user 类的设计(第一个类)
1.画出类图
2.对类的函数成员的说明
在第一个类中定义了浏览函数、查找函数、订票函数、退票函数函数的首部:
1)浏览函数:
输入了当地时间、车次、列车发出时间、起始站、终点站、剩余车票;
进行了选择对象与输出流操作;
输出了当地时间,不同车次的车次编号、列车发出时间、起始站、终点
站、剩余车票、列车状态;
2)查找函数:
输入了车次(或起始站或终点站)。
进行输入车次(或起始站或终点站)与数据库内的车票信息的匹配。
输出了相匹配的车次的信息。
3)订票函数:
输入了车次(或起始站或终点站)。
进行输入车次(或起始站或终点站)与数据库内的车票信息的匹配。判断是否允许
被购买,然后进行是否购买。刷新车票。
输出车票已订购。
4)退票函数:
输入了车次(或起始站或终点站)。
进行输入车次(或起始站或终点站)与数据库内的车票信息的匹配。判断是否允许
被退票,然后进行是否退票。刷新车票。
输出车票已退还。
3.2service类的设计(第二个类)
1.画出类图
2.对类的函数成员的说明
1)初始化函数:
输入了初次对象的车次、列车发出时间、起始站、终点站、剩余车票数。
进行了车票信息的储存。
结果将车票信息保存在了。
2)增添函数:
输入了不同对象的车次、列车发出时间、起始站、终点站、剩余车票数。
进行了车票信息的储存。
结果将车票信息保存在了。
第4章详细设计
4.1工程视图
4.2类图视图
4.3主程序流程图
3
程序的运行结果截图:
第6章总结
感谢老师的辛苦教学与悉心指导,通过本次课程设计,让我更加深刻的理解到了C++得运用,这门语言的奥妙之处。相信这次实训会让我在今后的学习中受益匪浅。
附录:程序代码
#include<>
#include<>
#include<>um;
cout<<"请输入起始站:"< cin>>ticket[g_num].start; cout<<"请输入终点站:"< cin>>ticket[g_num].end; cout<<"请输入时间(时):"< cin>>ticket[g_num].; cout<<"请输入时间(分):"< cin>>ticket[g_num].; cout<<"请输入票价:"< cin>>ticket[g_num].price; cout<<"请输入车票数:"< cin>>ticket[g_num].count; save (); } void save () { ofstream file("",ios::in); for(int j=0;j<=g_num;j++) { file< file< file< file< file< file< file< } (); cout<<"信息已存入文件"< } void read() um; file>>ticket[g_num].; file>>ticket[g_num].; file>>ticket[g_num].start; file>>ticket[g_num].end; file>>ticket[g_num].price; file>>ticket[g_num].count; }