长途客运售票管理系统的课程设计说明书模板.docx
- 文档编号:18265367
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:31
- 大小:226.62KB
长途客运售票管理系统的课程设计说明书模板.docx
《长途客运售票管理系统的课程设计说明书模板.docx》由会员分享,可在线阅读,更多相关《长途客运售票管理系统的课程设计说明书模板.docx(31页珍藏版)》请在冰点文库上搜索。
长途客运售票管理系统的课程设计说明书模板
长途客运售票管理系统的课程设计说明书模板
.
《C++程序设计》
课程设计说明书
题目长途客运售票管理系统的设计学号
姓名
指导教师
日期2013.12.27
.
.
内蒙古科技大学课程设计任务书
课程名称面向对象程序设计A课程设计
设计题目长途客运售票管理系统的设计
指导教师孙涛时间2013-2014秋学期第17、18周
一、教学要求
1.巩固和加深学生对C++语言课程的基本知识的理解和掌握
2.掌握C++语言编程和程序调试的基本技能
3.利用C++语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C++语言解决实际问题的能力
二、设计资料及参数
用C++设计一个系统,能提供下列服务:
(1)录入车次信息,格式为:
车次开车时间起始终点票价剩余座位
2213108720:
30包头北京
可不定时地增加车次数据。
(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班车已发
出”的提示信息。
(3)查询路线:
可按车次编号查询,可按起始站,终点站查询
(4)售票和退票功能
A:
查询车次编号或站点。
当剩余座位数大于0,并且当前系统时间小于开车时间时才能售票,售票后自动更
新剩余座位数。
B:
退票时,输入退票的车次,当本班车未发出时才能退票,退票后自动更新剩余座位数。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告:
完成系统总结报告以及系统使用说明书
.
.
第1章需求分析.....................................................................................................................................................4第2章总体设计.....................................................................................................................................................4第3章类的设计.....................................................................................................................................................5第4章详细设计.....................................................................................................................................................6第5章测试.............................................................................................................................................................8第6章总结...........................................................................................................................................................14附录:
程序代码.....................................................................................................................................................15
.
.
第1章需求分析
用C++设计一个系统,能提供下列服务:
(1)录入车次信息,格式为:
车次发车时间起始终点硬座票价剩余座位
k26411020020:
30包头北京
可不定时地增加车次数据。
(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。
(3)查询路线:
可按车次编号查询,可按起始站,终点站查询
4)售票和退票功能(
A:
查询车次或站点。
当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。
B:
退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。
第2章总体设计
1.用结构框图表示各个功能之间的关系。
.
.
2.将框图中系统的各个功能用文字详细的描述。
基本功能:
录入——次、始发站、终点站、开车时间(小时、分钟)、票价、剩余票数等信息。
浏览车次——查看所有的录入车次其中开车时间小于当前时间的车次则输出车次已发出。
查询车次——通过搜索车次或站点来快速的查看车辆的信息。
定退票——车时间大于当前系统时间的前提下才可退票并且在票数大于零的前提下才可
定票,票数更新。
文件的存储——存储录入的车次信息以便下次访问。
文件的读取——读取文件内的信息方便操作以上的各项功能;。
第3章类的设计3.1相关数据结构的说明
车次:
变量train定义为字符型。
发车时间:
time结构体。
始发站:
变量star-station字符型。
终点站:
变量end-station字符型。
开车的间:
:
变量time整型、变量time1整型。
票价:
变量ticket-price实型。
剩余票数:
变量remaind_seats整型。
3.2类的设计
定义了一个user类,类中包括以下几部分:
私有段:
私有段:
定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
公有段公有段
依次为输出函数、定票函数、退票函数。
友元函数
.
.
查询函数、浏览函数、文件存储函数、文件读取函数。
定义了一个service类,类中包括以下几部分:
公有继承了user类
私有段:
私有段:
定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
公有段公有段
依次为输入函数、输出函数、定票函数、退票函数。
添加设定信息函数。
友元函数
查询函数、浏览函数、文件存储函数、文件读取函数。
添加输入函数。
3.3全局变量,重要形式参数、局部变量等等,它们的命名及用途解释
g-num:
确定数组对象的个数,也是控制循环的条件。
ticket[j]:
代表具体的某个对象。
A:
bool型,判断使用者身份。
B:
bool型,判断是否退出程序。
t:
long型,获得当前距1970年秒数。
pt:
tm指向类的对象的指针,指向当前时间。
Functionnumber:
整型,选择功能。
第4章详细设计4.1工程视图
说明有几个源代码文件,可以截取工程文件视图表示
4.2类图视图
每个文件包含哪些类和函数,可以截图说明
.
.
4.3主程序流程图
.
.
第5章测试
程序的运行结果截图。
1验证身份
.
.
2管理员登陆
.
.
3录入信息并保存
.
.4浏览
5不是管理员,不能录入信息
.
.5查询子菜单
6查询车次
.
.
7订票
8退票
9退出
.
.
第6章总结
经历过基本几天都在看程序的时间,我发现我懂的太少,要学的太多。
原以为会很轻松,但还是遇到很多问题,以前上课时从未想到过。
对文件的操作我一直都没注意,现在才发现其乐无穷,学习与实践果然是不可分割的。
发现水平还是不够,同学可以编出一个比较漂亮的界面,还可以随意调用文件操作,实在让人赞叹不已。
课程设计旨在锻炼学生的实际动手能力和解决真实问题的能力。
并在其中掌握和熟练所学的知识,并能够运用所学知识解决比较简单的现实模拟问题。
本次课程设计在老师的帮助和自己的努力下终于能够成功运行,使我感到非常高兴以及提高了自己的编程信心,虽然这次课程设计的题目实现比较简单和不实用但毕竟是自己将近两个星期的努力地结果。
在期间我对编程的理念理解又加深了一点,他是我明白好的算法或者是好的逻辑思维对编程的重要性,在.
.
调试期间我自卑过、高兴过、平静过。
可以说是我经历了比较大的情感波动。
当费很大劲才把程序调运行的时候那种感觉实在是太好了。
在本次课程设计活动中,我明显的感觉到自己知识的欠缺和实际动手能的差劲。
尤其是在传值传参的函数调用时更体现的非常明显,感觉自己的书本学的不透、学的不扎实。
有些地方更本就不会,不如说文件的操作,比如说系统时间的获取等以前在上课或作习题时更本就不会考虑的问题在课程设计当中完全暴露出来。
此次实习加强了我的理解,很多以前迷糊的概念得到了明确,亦让我感到计算机语言的强大之处。
一句诗概括此次实践,“山重水复疑无路,柳暗花明又一村”;如今实践已然结束,但是对于计算机语言的学习决不能放松,“雄关漫道真如铁,而今迈
。
现在的世界是信息化的,路漫漫其修远兮,吾将上下而求索。
步从头越”
感谢老师抽出时间的指导,同时亦感谢大家这些天来的支持与帮助。
附录:
程序代码
#include
#include
#include
#include
#include
#include
usingnamespacestd;
constintN=10;
boolA=false,B=true;
longt=time(0);
tm*pt=localtime(&t);
voidmainmenu();
structTime
{
inthour;
intminute;};
.
.
classuser
{friendvoidsave();
friendvoidsure_message();
friendvoidbrowse();
friendvoidticketmenu();
friendvoidsearch_train();
friendvoidsearch_station();protected:
chartrain[10];
Timetime;
charstart_station[20];
charend_station[20];
intticket_price;
intremaind_seats;
public:
voiddisplay()
{
cout< (2)< " < (2)< <<""< <<""< t=: : time(NULL); tm*pt=localtime(&t); if(time.hour cout<<"此班列车已发出"; elseif(time.hour==pt->tm_hour&&time.minute<=pt->tm_min) cout<<"此班列车已发出"; elsecout<<"\t正常"; cout< } voidorder() { if(time.hour cout<<"此班列车已发出,不能订票,退出~"; elseif(time.hour==pt->tm_hour&&time.minute<=pt->tm_min) cout<<"此班列车已发出,不能订票,退出~"; elseif(remaind_seats==0) cout<<"此班列车已没票,不能订票,退出~"< else { remaind_seats=remaind_seats-1; cout< "< endl; . . } } voidDelete() { if(time.hour cout<<"此班列车已发出,不能退票,退出~"; elseif(time.hour==pt->tm_hour&&time.minute<=pt->tm_min) cout<<"此班列车已发出,不能退票,退出~"; else{ remaind_seats=remaind_seats+1; cout< "< endl; } } }; classservice: publicuser { friendvoidinput(); public: voidsetinfo(char*c,inth,intm,char*q,char*z,intp,ints) { strcpy(train,c); time.hour=h; time.minute=m; strcpy(start_station,q); strcpy(end_station,z); ticket_price=p; remaind_seats=s; } }; serviceticket[N]; staticintg_num=-1; voidsave() { ofstreamfile("数据.txt",ios: : out); for(intj=0;j<=g_num;j++) { file< file< file< file< file< . file< file< } file.close(); cout<<"信息已存入文件"< } voidinput() { g_num++; charc[10]; inth; intm; charq[20]; charz[20]; intp; ints; cout<<"车次: ";cin>>c; cout<<"开车时间hour: ";cin>>h; cout<<"开车时间minute: ";cin>>m; cout<<"起始: ";cin>>q; cout<<"终点: ";cin>>z; cout<<"票价: ";cin>>p; cout<<"剩余座位: ";cin>>s; ticket[g_num].setinfo(c,h,m,q,z,p,s); save(); } voidbrowse() { intj; t=time(NULL); tm*pt=localtime(&t); cout<<"当前时间: "< (2)< '; cout< (2)< ';cout< (2)< cout<<"现存车次信息如下: "< cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位\t"<<"状 . . 态\t"< for(j=0;j<=g_num;j++) ticket[j].display();} voidsearch_train() { chartrain[10]; cout<<"输入你要查询的车次: "; cin>>train; cout< for(intj=0;j<=g_num;j++) if(strcmp(train,ticket[j].train)==0) { cout<<"查询结果: "< cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t" <<"剩余座位\t"<<"状态\t"< ticket[j].display();break; } if(j>g_num) cout<<"对不起,没有这趟车次信息~"; } voidsearch_station() { charstation[20]; cout<<"输入你要查询的站点: "; cin>>station; cout< for(intj=0;j<=g_num;j++) if((strcmp(station,ticket[j].start_station)==0)||(strcmp(station,ticket[j].end_station)==0)) { cout<<"查询结果: "< cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位 \t"<<"状态\t"< ticket[j].display();break; } if(j>g_num) cout<<"对不起,没有有关此站点的车次信息~";} voidticketmenu() { longt=time(0); tm*pt=localtime(&t); intfunctionNumber;intj;. . cout<<">>>>>>票务菜单<<<<<< \n"; chartrain[10];charstation[20]; cout<<"可按站点或车次查询订票(1.按站点,2.按车次)"< cout<<"选择你需要的功能: "; cin>>functionNumber;getchar(); for(;functionNumber! =1&&functionNumber! =2;) { cout<<"指令错误~请重新输入~"< cin>>functionNumber; } cout< if(functionNumber==1) { cout<<"输入你要订票或退票的站点: "; cin>>station; cout< for(j=0;j<=g_num;j++) if((strcmp(station,ticket[j].start_station)==0)||(strcmp(station,ticket[j].end_station)==0)) { cout<<"本车次现存信息: "< cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位\t" <<"状态\t"< ticket[j].display();break; } if(j>g_num) cout<<"对不起,没有这趟车次信息~,无法订退票~"; } if(functionNumber==2) { cout<<"输入你要订票或退票的车次: "; cin>>train; cout< for(j=0;j<=g_num;j++) if(strcmp(train,ticket[j].train)==0) { cout<<"本车次现存信息: "< cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位\t" <<"状态\t"< ticket[j].display();break; } if(j>g_num) cout<<"对不起,没有有关此站点的车次信息~无法订退票~";. . } if(ticket[j].time.hour cout<<"此班列车已发出,不能订退票~"; elseif(ticket[j].time.hour==pt->tm_hour&&ticket[j].time.minute<=pt->tm_min) cout<<"此班列车已发出,不能订退票~"; else { cout<<"\n"; cout<<"1.订票\n"; cout<<"2.退票\n"; cout<<"3.返回主菜单\n"; cout<<"\n"; cout<<"选择你需要的功能: "; cin>>functionNumber; for(;functionNumber! =1&&functionNumber! =2&&functionNumber! =3;) { cout<<"指令错误~请重新输入~"<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 长途 客运 售票 管理 系统 课程设计 说明书 模板
![提示](https://static.bingdoc.com/images/bang_tan.gif)