车票管理系统课程设计报告书
时间:2025-04-06
时间:2025-04-06
车票管理系统课程设计报告书
合肥学院
计算机科学与技术系
课程设计报告
2010~2011学年第二学期
课学学专指
业导
班教生
姓
程名号级师
C++课程设计车票管理系统汪青松100403101010网络工程1班项响琴、徐静
课程设计名称
2011年6月
车票管理系统课程设计报告书
目录
一需求分析......................................................二算法设计......................................................三用户手册......................................................四调试及测试..................................................五小结..............................................................六参考文献......................................................226788
车票管理系统课程设计报告书
一、需求分析
为了便于车站管理部门对汽车班次信息的统计和管理,提高车站部门的工作效率,能够更好的为市民服务,同时也便于旅客了解相关的信息,方便出行,设计一个车票管理系统,该系统对车票信息进行管理和维护。要求:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。(3)查询路线:可按班次号查询,可按终点站查询(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
二、算法设计
1.设计思想:A.
bus
-*head:bus++++++++++++++
input():voidappend():void
voidmodify():voidvoiddel():void
idfind(**p:bus,n:int):bool
endfind(**p:bus,e:string):boolsearch():voidshow():voidorder():voidreorder():voidfload():voidsave():voidmenu():voidmenu_1():void
-------+++++++++++++
id:int
start:stringend:stringts:datetime:doublemax:intorder:int
*next:busbus()~bus()
load(in:ifstream&):voidoutput():void
write(out:ofstream&):voidordert(n:int)voidreordert(n:int):voidjudge():boolgetid():intgetmax():intgethave():intgetend():string
图2link类UML图
bus
图1bus类UML图
车票管理系统课程设计报告书
B.数据结构:自定义数据类型:Structdate:
在bus类实现过程中定义了时间date结构体类型,其中包括hour和minute成员,用来表示车次的发车时间。
C.算法设计:
a.载入函数(链表创建):利用fload进行链表创建时,首先*p=head(head->next为NULL),然后q=newbus;再读入数据信息,p->next=q;q->next=NULL;指针后移p=p->next;b.追加信息:先将整个链表从头开始走到尾,p->next==NULL结束,q=p->next找到最后一个节点时,再调用input函数录入车次信息增加到q,并且q->next=NULL结束;
c.删除信息:
从链表头开始扫描整张表,利用函数idfind判断是否找到车次信息,如果找到则*p=q记下当前找到的节点,然后del函数中利用q=p->next;p->next=q->next;将p->next断掉,然后删除q;d.修改信息:
同上,找到节点后,利用input对该节点信息进行重写;
2.各类中的成员函数:Classbus中的各成员函数
录入车次信息(数据操作):voidinput();
函数形参为空,返回类型为void
主要实现对bus类中的私有数据成员的数据录入功能;从文件中载入信息(数据操作):voidload(ifstream&in);
函数形参为输入流对象,返回值类型为void
从文件中读取数据对bus类中的私有数据成员进行初始化;输出车次信息(数据操作):voidoutput();
将bus类中的私有数据成员按照一定格式输出到显示器上;写入文件中(数据操作):voidwrite(ofstream&out);
函数形参为输出流对象,返回值类型为void将车次信息写入到文本文档中;
车票管理系统课程设计报告书
订票、退票:
voidordert(intn);voidreordert(intn);
函数形参为票的数量,返回类型为void
订、退票函数对私有成员已定票数order进行加减;
判断是否已经发车:booljudge();
函数形参为空,返回类型bool类型
根据车次的发车时间与系统时间进行对比,判读本班车是否已经发车,如果已经发车返回0,如未发车返回1;获取班次:
intgetid(){returnid;};获取额定量:
intgetmax(){returnmax;};获取已定票数:
intgethave(){returnorder;};获取终点站:
stringgetend(){returnend;};Link类中的成员函数
追加信息函数:voidappend();
函数形参为空,返回值为void
根据用户需求可以在车次信息的结尾调用input()新增加车次信息,并根据用户选择是否继续执行添加信息;
修改车次信息函数voidmodify();
函数形参为空,返回值为void
先根据用户提供的车次,然后调用idfind(bus**p,intn)函数在所有车次信息中查找,如果找到该车次信息,则再次调用input()重新为此节点录入车次信息;
删除车次信息函数:voiddel();
函数形参为空,返回值为void
根据用户提供的车次信息,在总信息中删除此车次的信息;根据车次查询函数:
车票管理系统课程设计报告书
boolidfind(bus**p,intn);
函数形参为**p和车次n,返回值为bool类型
由用户给出需要查 …… 此处隐藏:8363字,全部文档内容请下载后查看。喜欢就下载吧 ……