火车票订票系统课程设计报告.doc
《火车票订票系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《火车票订票系统课程设计报告.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、设计题目:火车订票管理系统班 级:姓 名:学 号:2015年1月4日1.课程设计目的和要求火车订票管理系统的主要功能包括:1. 火车线路查询功能,乘客输入终点站名称或输入车次,输出相应的火车线路信息。2. 订票功能。乘客输入车次和订票数,先查询该车次的余票数,若余票数大于等于订票数,则为乘客办理订票手续,要求乘客输入姓名、身份证号码,计算出总票价,产生一个新结点,将该结点添加到对应车次的链表中,然后修改该车次的余票数。若余票数小于订票数,则输出提示信息“余票数不足,订票失败!”。3. 退票功能。乘客输入车次和身份证号码,在该车次对应的链表中查找该乘客,若找到,询问乘客退票数量,若退票数小订票数
2、,则只需修改结点的订票数;若退票数等于订票数,则将该乘客对应的结点删除,然后修改该车次的余票数;若没找到,则应提示“未找到相应信息”,要求乘客重新输入车次和身份证号码,再进行查找,如果仍未找到,则输出提示信息“输入信息错误,退票失败!”。4. 其他查询功能。(1) 输入车次,输出该车次的全部订票信息。(2) 输入车次,输出该车次的订票数和余票数。(3) 输入终点站名称,输出相关火车线路的信息。(4) 输入日期(年.月.日),输出发车时间为该天的火车线路的信息。(5) 输出余票数为0的火车线路的信息。2.系统总体设计2.1 系统功能模块图火车线路查询订票退票火车订票管理系统管理员入口乘客入口输入
3、系统信息其他查询查询某车次的全部订票信息查询某车次的订票数和余票数查询终点站为某地的火车线路信息查询发车时间为某天的火车线路信息查询票数为零的火车线路信息2.2 数据结构设计假设有5条火车线路(起点均为济南),每条线路所涉及的信息有:终点站、车次、发车时间(年.月.日.时.分)、票价、余票数(假设火车总票数为300)。乘客订票信息包括:乘客姓名、乘客身份证号码、订票数,总票价。 本系统要求用结构体数组和链表实现,将火车线路信息存放在结构体数组中,每条线路对应一个链表,乘客订票就是在链表中插入结点,乘客退票就是在链表中删除结点。链表的结点类型和结构体类型定义如下:typedef struct n
4、odechar 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 trainchar terminal10; /终点站char sequence10; /车次struct Dtime StartTime; /发车时间float fare; /票价
5、int SpareTicketNum; /余票数struct node *head; /指针成员,指向该线路第一个订票乘客ST;系统整体结构见图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 node char name20; char
6、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 terminal20; char sequence20; struct Dtime StartTime; float fare; int SpareTicketNum; struct node *head;ST;ST bN1;#define LEN1 si
7、zeof(ST)#define LEN2 sizeof(SN)/*函数声明int Menu1(void); /*火车订票管理系统界面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 f
8、ind3(void); /*查找功能3void find4(void); /*查找功能4void shuchu(void); /*输出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,
9、666)=0) creat1(); else printf(n密码输入错误!nn); break; case 2: while(1) c=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; ca
10、se 6:break; case 0:printf(nt谢谢使用,再见!n);exit(0); default:printf(nt您的按键有误,请重新选择!n); 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); prin
11、tf(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,&sel); return(sel);int Menu2(void) int sel; printf(n); printf(t-n); printf(t* *n); printf(t* 欢迎进入火车订票管理系统 *n); printf(t* *n); printf(t-n); printf(n); printf(
12、t请选择您要使用的功能:nn); printf(t 1.输入车次,查询该车次的全部订票信息n); printf(t 2.输入车次,查询该车次的订票数和余票数n); printf(t 3.输入终点站名称,查询相关火车线路的信息n); printf(t 4.输入日期(年月日),查询发车时间为该天的火车线路的信息n); printf(t 5.查询余票数为0的火车线路信息n); printf(t 6.返回上一界面n); printf(t 0.退出系统nn); printf(t 请选择按键06n); scanf(%d,&sel); return(sel);int Menu3(void) int sel;
13、 printf(n); printf(t-n); printf(t* *n); printf(t* 欢迎进入火车订票管理系统 *n); printf(t* *n); printf(t-n); printf(n); printf(t 1.管理员入口n); printf(t 2.乘客入口n); printf(t 0.退出系统nn); printf(t 请选择按键02n); scanf(%d,&sel); return(sel);void creat1() SN *p1; int i,j; for(i=0;iN1;i+) printf(nn); printf(请输入火车终点站:); scanf(%s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火车票 订票 系统 课程设计 报告
限制150内