车票管理系统毕业课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(此文档为word格式,下载后您可任意编辑修改!)

课程设计报告

2011~2012学年第二学期

课程C++课程设计

课程设计名称车票管理系统

学生姓名刘吉喆

学号

专业班级1210

指导教师

2013年9月17日星期二

一、系统的需求分析:

需求分析是一项重要的工作,也是最困难的工作。它指对要解决的问题进行详细的分析,弄清楚

问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。

车票管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。车票管理系统可以实现对车票的科学化、规范化、查询车票情况、定票信息、以及路线信息等。车票管理系统是根据某车站对这票管理的实际情况进行编写的,主要目的是为了方便车站对车票的实际情况进行集中的查询与管理工作,以提高整个车站的工作。

经过电脑及生活的调查研究,根据车辆的运行状态和车站的管理模式,车票管理系统需要管理的东西主要有:车辆的班次,车辆的线路,售票和退票等等。

车辆是一个对外服务的内容,为了乘客的乘车要求,所以系统需要实现售票信息的录入、修改和删除功能。

乘客对剩余车票需要进行选择,系统必须实现相应的查询和输出功能,使乘客择优而乘。

本次课程设计需要实现的是——车票管理系统的链表实现。

主要实现的功能包括:车票信息的录入、修改、删除、剩余车票信息的查询、输出。车票信息可写入文件,也可从文件中读取。车票信息涉及的数据有班次号、发车时间、起点站、终点站、行车时间、额定载量、已定票人数等。

按照需求分析所得,车票管理系统有以下几个功能模块:

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据

(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询 ,可按终点站查询

(4)售票和退票功能

A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。

B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。

(5)退出

在界面状态下,按下“ESC”会退出该系统。返回源程序。

由上述需求分析可得,系统的功能模块图如图1所示。

图1 系统功能模块图

二、系统的设计与实现

根据第一章的需求分析,接下来给出的是系统的设计和实现。

1、类的设计

根据上述需求分析,有车票信息类和链表类。

(1)车票信息类

系统研究车票系统Bus_infor类中成员:Bus_order是班次编号,start[20]是车票信息的起点站,end[20]是车票信息的终点站,all_tickted是总共要发售的票数,tickted是已经被订购的票数,Hour_start,Minute_start是车票的发车时间,GoHour表示行车时间,构造函数Bus_infor(),析构函数~Bus_infor(),录入函数input(),读取函数input(ifstream & is),输出函数output(),写入函数output(ofstream & os),定票函数Order_tickt(int n),获取发车时间函数GetTime_start(),判断当前班次状况函数GetTime(),内联函数,返回额定载量Get_all_tickted() { return all_tickted; },返回已定票人数

Get_tickted(),返回班次号Get_bus_order(),返回终点站的字符串Get_end()const。

车票类的UML图如(图2)所示:

图2 客房类的UML图

(2)链表类

在Bus_link类中,有成员:构造函数Bus_link (),析构函数~Bus_link(),录入车票信息的函数input(),修改车票信息的函数mend(),删除车票信息的函数del(),查找函数find(Bus_infor **p,int num,char *pn),查询车票信息found(),显示车票信息show(),定购车票信息Order(),退还车票信息Unorder(),保存车票信息save(),初始化车票信息begin(),清除函数clear(),关于车票信息about(),主菜单函数mainmenu(),设置系统修改标志void setkey(int k){ key=k; },返回系统修改标志int getkey(){ return key;},头节点head,系统修改标志key,管理员登陆标志password。

链表类的UML图如(图3)所示:

2.界面设计:

分界面:车票信息的查询的设计

提示进入查询界面,选择按班次查找或按终点站查询车票信息。车票信息的查询界面如图所示。

分界面:车票信息的删除的设计

在录入或修改错误的车票信息后,想删除错误的车票信息,按提示按提示输入班次号,程序会显示该班次的信息并提示用户是否确定删除,输入y则删除。删除车票的信息界面如图所示。

修改车票信息的设计

按提示进行车票信息的修改,本系统中只有管理员身份才可以修改车票,显示屏幕如图所示。

分界面:订购车票信息的设计

在管理员身份下按提示在剩余未出发的班次中,输出车票的信息,以判断是否可以订票,已出发的和已定票人数已满的情况下是不能订票的。定购车票信息输出界面如图所示。

分界面:退订车票信息的设计

在管理员身份下按提示在剩余未出发的班次中,输出车票的信息,以判断是否可以退票,已出发的和没人定票的情况下是不能退票的。退定信息输出界面如图所示。

分界面:介绍车票信息的设计

在程序中输出使用说明。介绍信息界面如图所示。

3.关键程序代码的分析:

(1)系统的登录

在主函数中,先输出车票管理系统的欢迎界面。调用一个对象的mainmenu函数来输出主菜单,按照提示选择需要执行功能的序号,由switch判断和选择所需要执行的功能。

选择1:执行车票信息的录入;

选择2:执行车票信息的浏览;

选择3:执行查询车票信息;

选择4:执行车票信息的删除;

选择5:执行车票信息的修改;

相关文档
最新文档