火车票订票系统课程设计报告

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

设计题目:火车订票管理系统班级:

姓名:

学号:

2015年1月4日1.课程设计目的和要求

火车订票管理系统的主要功能包括:

1. 火车线路查询功能,乘客输入终点站名称或输入车次,输出相应的火车线路信息。

2. 订票功能。乘客输入车次和订票数,先查询该车次的余票数,若余票数大于等于订票数,则为乘客办理订票手续,要求乘客输入姓名、身份证号码,计算出总票价,产生一个新结点,将该结点添加到对应车次的链表中,然后修改该车次的余票数。若余票数小于订票数,则输出提示信息“余票数不足,订票失败!”

3. 退票功能。乘客输入车次和身份证号码,在该车次对应的链表中查找该乘客,若找到,询问乘客退票数量,若退票数小订票数,则只需修改结点的订票数;若退票数等于订票数,则将该乘客对应的结点删除,然后修改该车次的余票数;若没找到,则应提示“未找到相应信息”,要求乘客重新输入车次和身份证号码,再进行查找,如果仍未找到,则输出提示信息“输入信息错误,退票失败!”

4. 其他查询功能。

(1) 输入车次,输出该车次的全部订票信息。

(2) 输入车次,输出该车次的订票数和余票数。

(3) 输入终点站名称,输出相关火车线路的信息。

(4) 输入日期(年.月.日),输出发车时间为该天的火车线路的信息。

(5) 输出余票数为0的火车线路的信息。

管理员入口

输入系统信息

火车订票管理系

其他查询

2.系统总体设计

2.1系统功能模块图

乘客入口 火车线路查询

查询票数为零的火车线路信息

查询发车时间为某天的火车线路信息

查询终点站为某地的火车线路信息

查询某车次的订票数和余票数

查询某车次的全部订票信息

2.2数据结构设计

假设有5条火车线路(起点均为济南),每条线路所涉及的信息有:终点站、 车次、发

车时间(年•月•日.时.分)、票价、余票数(假设火车总票数为 300)。

乘客订票信息包括:乘客姓名、乘客身份证号码、订票数,总票价。

本系统要求用结构体数组和链表实现,将火车线路信息存放在结构体数组 中,每条线路对应一个链表,乘客订票就是在链表中插入结点, 乘客退票就是在 链表中删除结点。

链表的结点类型和结构体类型定义如下:

typedef struct node {

char n ame[10];

//

char IDcard[20]; // int TicketNum; // 订票数 float FareSum; // 总票价

struct node *n ext; // 指针成员 }SN;

typedef struct Dtime {

short year; short mon th; short day; short hour; short minu te; }SD;

typedef struct train {

char termi nal[10]; // char seque nce[10]; //

struct Dtime StartTime; // float fare;

//

int SpareTicketNum; // struct

node *head; // }ST;

系统整体结构见图9.3所示

乘客姓名 乘客身份证号码

终点站 车次

发车时间

票价 余票数

指针成员,指向该线路第一个订票乘客

北京 /

王海

K305 370 (1234)

2010.9.15.7:10

3

265.0

795..0

291

/

北京

T507 2010915.15:30

328.5

300 NULL

上海

赵梅

T708 /

370 (1572)

2010.9.18.9:25

1

436.5 436.5

297

/

/

张岩 • 李立 370 (2584)

/

370 (3069)

1

5

265.0

1325.0 /

NULL

图9.3系统结构示意图

全局变量如下:

#defi ne N1 5 ST b[N1]; #defi ne LEN1 sizeof(ST) #defi ne LEN2 sizeof(SN) II 火车线路数

//火车信息结构体数组 II 火车信息结构体数据块大小 II 乘客信息结构体数据块大小

3.系统详细设计

3.1

函数说明 #i nclude #in clude #i nclude #defi ne N1 5 火车线路数

结构体类型的定义

typedef struct node

{

char n ame[20];

char IDcard[20];

int TicketNum;

float FareSum;

struct node *n ext;

}SN;

typedef struct Dtime

{

short year;

short mon th;

short day;

short hour;

short minu te;

}SD;

typedef struct train

{

char termi nal[20];

char seque nce[20]; struct Dtime StartTime;

float fare;

int SpareTicketNum;

struct node *head;

}ST;

ST b[N1];

#defi ne LEN1 sizeof(ST)

#defi ne LEN2 sizeof(SN)

相关文档
最新文档