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

上传人:飞*** 文档编号:25003946 上传时间:2017-12-10 格式:DOC 页数:29 大小:274.73KB
返回 下载 相关 举报
火车票订票系统课程设计报告_第1页
第1页 / 共29页
火车票订票系统课程设计报告_第2页
第2页 / 共29页
火车票订票系统课程设计报告_第3页
第3页 / 共29页
火车票订票系统课程设计报告_第4页
第4页 / 共29页
火车票订票系统课程设计报告_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《火车票订票系统课程设计报告》由会员分享,可在线阅读,更多相关《火车票订票系统课程设计报告(29页珍藏版)》请在金锄头文库上搜索。

1、设计题目:火车订票管理系统班 级:姓 名:学 号:2015 年 1 月 4 日 1.课程设计目的和要求火车订票管理系统的主要功能包括:1. 火车线路查询功能,乘客输入终点站名称或输入车次,输出相应的火车线路信息。2. 订票功能。乘客输入车次和订票数,先查询该车次的余票数,若余票数大于等于订票数,则为乘客办理订票手续,要求乘客输入姓名、身份证号码,计算出总票价,产生一个新结点,将该结点添加到对应车次的链表中,然后修改该车次的余票数。若余票数小于订票数,则输出提示信息“余票数不足,订票失败!”。3. 退票功能。乘客输入车次和身份证号码,在该车次对应的链表中查找该乘客,若找到,询问乘客退票数量,若退

2、票数小订票数,则只需修改结点的订票数;若退票数等于订票数,则将该乘客对应的结点删除,然后修改该车次的余票数;若没找到,则应提示“未找到相应信息” ,要求乘客重新输入车次和身份证号码,再进行查找,如果仍未找到,则输出提示信息“输入信息错误,退票失败!”。 4. 其他查询功能。(1) 输入车次,输出该车次的全部订票信息。(2) 输入车次,输出该车次的订票数和余票数。(3) 输入终点站名称,输出相关火车线路的信息。(4) 输入日期(年.月.日) ,输出发车时间为该天的火车线路的信息。(5) 输出余票数为 0的火车线路的信息。2.系统总体设计2.1 系统功能模块图火车线路查询 订票 退票火车订票管理系

3、统管理员入口乘客入口输入系统信息其他查询查询某车次的全部订票信息 查询某车次的订票数和余票数 查询终点站为某地的火车线路信息 查询发车时间为某天的火车线路信息 查询票数为零的火车线路信息2.2 数据结构设计假设有 5条火车线路(起点均为济南) ,每条线路所涉及的信息有:终点站、车次、发车时间(年.月.日.时.分) 、票价、余票数(假设火车总票数为 300) 。乘客订票信息包括:乘客姓名、乘客身份证号码、订票数,总票价。 本系统要求用结构体数组和链表实现,将火车线路信息存放在结构体数组中,每条线路对应一个链表,乘客订票就是在链表中插入结点,乘客退票就是在链表中删除结点。链表的结点类型和结构体类型

4、定义如下:typedef struct node char name10; /乘客姓名char IDcard20; /乘客身份证号码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 terminal10; /终点站char sequence10; /车次struct Dtime StartTime; /发

5、车时间float fare; /票价int SpareTicketNum; /余票数struct node *head; /指针成员,指向该线路第一个订票乘客ST;系统整体结构见图 9.3 所示 北 京 K305 201.9.1.7:10 265.0 91 北 京 T507 201.9.1.5:30 328. 0 NUL : : 上 海 T708 201.9.1.9:25 436.5 297 3 795.0 3701234 王 海 1 265.0 3702584 张 岩 5 1325.0 3703069 李 立 NUL 1 436.5 3701572 赵 梅 2 873.0 3707643 孙

6、 伟 NUL 图 9.3 系 统 结 构 示 意 图 全局变量如下:#define N1 5 /火车线路数ST bN1; /火车信息结构体数组#define LEN1 sizeof(ST)/火车信息结构体数据块大小#define LEN2 sizeof(SN) /乘客信息结构体数据块大小3系统详细设计3.1 函数说明 #include#include#include#define N1 5 /*火车线路数/*结构体类型的定义typedef struct nodechar name20;char IDcard20;int TicketNum;float FareSum;struct node *

7、next;SN;typedef struct Dtimeshort year;short month;short day;short hour;short minute;SD;typedef struct trainchar terminal20;char sequence20;struct Dtime StartTime;float fare;int SpareTicketNum;struct node *head;ST;ST bN1;#define LEN1 sizeof(ST)#define LEN2 sizeof(SN)/*函数声明int Menu1(void); /*火车订票管理系统

8、界面int Menu2(void); /*其他查询功能界面int Menu3(void); /*第一界面void creat1(void); /*管理员录入信息SN* creat2(float k); /*录入乘客信息void find0(void); /*查询void dingpiao(void); /*订票void tuipiao(void); /*退票void find1(void); /*查找功能 1void find2(void); /*查找功能 2void find3(void); /*查找功能 3void find4(void); /*查找功能 4void shuchu(void

9、); /*输出 0 票数线路功能void LIST(SN *head); /*输出链表void READ(void); /*将数据读出生成文件void WRITE(void); /*将链表写入文件/*主函数int main()int a,b,c;char m20;b=Menu3();switch(b)case 0:printf(nt 谢谢使用,再见!n);exit(0);case 1:printf(n 请输入密码:);scanf(%s,m);if(strcmp(m,666)=0) creat1();else printf(n 密码输入错误!nn);break;case 2:while(1)c=

10、Menu1();switch(c)case 1:find0();break;case 2:dingpiao();break;case 3:tuipiao();break;case 4:a=Menu2();switch(a) case 1:find1();break;case 2:find2();break;case 3:find3();break;case 4:find4();break;case 5:shuchu();break;case 6:break;case 0:printf(nt 谢谢使用,再见!n);exit(0);default:printf(nt 您的按键有误,请重新选择!n)

11、;break;case 0:printf(nt 谢谢使用,再见!n);exit(0);default:printf(nt 您的按键有误,请重新选择!n);/*各函数定义int Menu1(void)int sel;printf(n);printf(t-n);printf(t* *n);printf(t* 欢迎进入火车订票管理系统 *n);printf(t* *n);printf(t-n);printf(n); printf(t 请选择您要使用的功能: nn);printf(t 1.火车路线查询 n);printf(t 2.订票n);printf(t 3.退票n);printf(t 4.其他查询n);printf(t 0.退出系统nn);printf(t 请选择按键 04n);scanf(%d,return(sel);int Menu2(void)int sel;printf(n);printf(t-n);printf(t* *n);printf(t* 欢迎进入火车订票管理系统 *n);printf(t* *n);printf(t-n

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号