- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计题目:火车订票管理系统
班
姓
学
级:
名:
号:
2015 年 1 月 4 日
1.课程设计目的和要求
火车订票管理系统的主要功能包括:
火车线路查询功能,乘客输入终点站名称或输入车次,输出相应的火车 线路信息。
订票功能。乘客输入车次和订票数,先查询该车次的余票数,若余票数 大于等于订票数,则为乘客办理订票手续,要求乘客输入姓名、身份证号码, 计算出总票价,产生一个新结点,将该结点添加到对应车次的链表中,然后修 改该车次的余票数。若余票数小于订票数,则输出提示信息“余票数不足,订 票失败!”。
退票功能。乘客输入车次和身份证号码,在该车次对应的链表中查找该 乘客,若找到,询问乘客退票数量,若退票数小订票数,则只需修改结点的订 票数;若退票数等于订票数,则将该乘客对应的结点删除,然后修改该车次的 余票数;若没找到,则应提示“未找到相应信息”,要求乘客重新输入车次和身 份证号码,再进行查找,如果仍未找到,则输出提示信息“输入信息错误,退 票失败!”。
其他查询功能。
输入车次,输出该车次的全部订票信息。
输入车次,输出该车次的订票数和余票数。
输入终点站名称,输出相关火车线路的信息。
输入日期(年.月.日),输出发车时间为该天的火车线路的信息。 (5) 输出余票数为 0 的火车线路的信息。
火车线路查询订
火车线路查询
订票
退票
乘客入口
其他查询
查询某车次的全部订票信息
查询某车次的订票数和余票数
查询终点站为某地的火车线路信息
查询发车时间为某天的火车线路信息
查询票数为零的火车线路信息
输入系统信息
火车订票管理系
管理员入口
2.系统总体设计
2.1 系统功能模块图
统
2.2 数据结构设计
假设有 5 条火车线路(起点均为济南),每条线路所涉及的信息有:终点站、 车次、发车时间(年.月.日.时.分)、票价、余票数(假设火车总票数为 300)。
乘客订票信息包括:乘客姓名、乘客身份证号码、订票数,总票价。 本系统要求用结构体数组和链表实现,将火车线路信息存放在结构体数组
中,每条线路对应一个链表,乘客订票就是在链表中插入结点,乘客退票就是 在链表中删除结点。
链表的结点类型和结构体类型定义如下:
typedef struct node
{
char name[10];
char IDcard[20];
int TicketNum;
float FareSum;
struct node *next;
}SN;
typedef struct Dtime
{
short year;
short month;
short day;
short hour;
short minute;
}SD;
typedef struct train
{
//乘客姓名
//乘客身份证号码 //订票数
//总票价
//指针成员
795..03700370…2584张岩1325.0NULL370…3069李立436.5370…1572赵梅873.0NULL370…7643孙伟王海3512北京K3052010.9.15.7:10265.0291北京
795..0
370…1234
1
265.0
370…2584
张岩
1325.0
NULL
370…3069
李立
436.5
370…1572
赵梅
873.0
NULL
370…7643
孙伟
王海
3
5
1
2
北京
K305
2010.9.15.7:10
265.0
291
北京
T507
2010.9.15.15:30
328.5
300
NULL
:
:
:
上海
T708
2010.9.18.9:25
436.5
297
char terminal[10];
char sequence[10];
struct Dtime StartTime;
float fare;
int SpareTicketNum;
struct node *head;
}ST;
系统整体结构见图 9.3 所示
//终点站
//车次
//发车时间
//票价
//余票数
//指针成员,指向该线路第一个订票乘客
全局变量如下: #define N1 5
ST b[N1];
图 9.3 系统结构示意图
//火车线路数
//火车信息结构体数组
#define LEN1 sizeof(ST) //火车信息结构体数据块大小
#define LEN2 sizeof(SN) //乘客信息结构体数据块大小
3.系统详细设计
3.1 函数说明
#includestdio.h
#includestdlib.h
#includestring.h
#define N1 5 //*************************火车线路数
//****************
文档评论(0)