- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间: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 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
{
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]; //火车信息结构体数组
#define LEN1 sizeof(ST) //火车信息结构体数据块大小
#define LEN2 sizeof(SN) //乘客信息结构体数据块大小
3.系统详细设计
3.1 函数说明
#includestdio.h
#includestdlib.h
#includestring.h
#define N1 5 //*************************火车线路数
//**************************************************结构体类型的定义
typedef struct node
{
char name[20];
char IDcard[20];
int TicketNum;
float FareSum;
struct node *next;
}SN;
typede
您可能关注的文档
- 会员招募活动方案.doc
- 会展策划与管理教案.ppt
- 会展风险与安全管理.ppt
- 会展经典案例分析.doc
- 会诊断的智能监控----视频运维管理平台解决....doc
- 绘画兴趣小组活动记录_(1).doc
- 惠林水电站行洪论证已改.doc
- 惠州市第二人民医院病人食堂经营权招标.doc
- 惠州市环境保护监测站流动注射仪和烟气分析仪采购项目.doc
- 惠州市社会治安视频监控系统建设三年规划.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)