面向对象课程设计《民航订票系统》

上传人:第*** 文档编号:33623903 上传时间:2018-02-16 格式:DOC 页数:30 大小:3.41MB
返回 下载 相关 举报
面向对象课程设计《民航订票系统》_第1页
第1页 / 共30页
面向对象课程设计《民航订票系统》_第2页
第2页 / 共30页
面向对象课程设计《民航订票系统》_第3页
第3页 / 共30页
面向对象课程设计《民航订票系统》_第4页
第4页 / 共30页
面向对象课程设计《民航订票系统》_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《面向对象课程设计《民航订票系统》》由会员分享,可在线阅读,更多相关《面向对象课程设计《民航订票系统》(30页珍藏版)》请在金锄头文库上搜索。

1、1面向对象程序设计课程设计报告题目: 民航订票系统班级:学号: 姓名:指导老师:时间: 15-16周 / 2015年12月7日至2015年12月18日成绩等级:2一、需求分析设计一个民航订票系统,实现如下功能:(1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) ;(2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓) ;可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关提示信息;(4)退票: 可退票,退票后

2、修改相关数据文件;(5)客户资料:有姓名,证件号,订票数量及航班情况,订单要有编号;(6)修改航班信息:当航班信息改变可以修改航班数据文件。二、对每个类的说明,包括数据成员、成员函数的含义与功能本程序中所用到的数据类型有:int ,chat,结构,指针数据结构有链表,其中链表的数据域是结构。结构等数据的定义如下:typedef struct Customer /已定票乘客信息char Name7; /姓名int Amount; /定票数char Rank; /舱位等级int Seat_No; /座位号struct Customer *Next;Customer;typedef struct R

3、eplace /替补乘客信息char Name7; /姓名int Amount; /定票数char Rank; /舱位等级char Seat_No; /座位号struct Replace *Next;Replace,*PReplace; typedef struct Flight /航线信息char Des_Name10; /终点站名char Flight_No6; /航班号char Plane_No6; /飞机号char Week_Day; /飞行周日int Customer_Amount; /乘员定额int Free_Amount; /剩余票数float Price3; /舱位等级的价格R

4、eplace *ReplName; /该航班的候补乘客名单Customer *CustName; /该航班的已定票乘客名单3struct Flight *Next; /指示下一航线结点Flight,*PFlight;int Customer_Count=0; /所有航线的定票乘客总数Flight *Head; /航线头指针Flight *p2; /航线结点指针Customer *Custp1MAX; /各条航线乘客结点指针Replace *Replp1MAX; /各条航线候补结点指针int IsEmpty=1; /是否有定票乘客int IsReplace=1; /是否有候补乘客Customer

5、 *prior; /满足要求的定票乘客的前结点,以作删除操作三、系统框架图密码登陆界面开始航线管理订票系统退票办理乘客管理系统离开航线增设航线查看航线修改返回主菜单订票乘客信息候补乘客信息返回主菜单是否确认离开四、调试分析在调试过程中,由于没有做出界面而是在 DOS 环境下实现的,所以要想得到比较友好的 DOS 界面必须耐心地调整.。在密码登陆时,输入密码出现实心黑圆点也是通过循环语句多次慢慢调试出的。在分析实现时,首先想到的是用链表来存放记录,但每个记录包括的许多信息最好是存放在结构中,故选取以结构为链表信息域的数据结构来实现。改进之处:1用可视化做出界面,让程序实现起来更加好看。2用文件实

6、现数据信息的存取,本题中可以通过改动来增加此项功能。3退票时,若乘客定的是多票,则出现询问其退几张票。五、用户手册编绎连接得到 EXE 文件,运行程序,出现如下密码登陆界面(以 lyh 为密码)4输入 lyh,按下回车接着出现选取 1,按下回车5选取 1,按下回车按提示输入并按回车,最后出现如下界面:6按 Y 或 y 继续录入航班信息,输入 N 或 n 退回。输入 Y 继续输入一些信息.(;输入的航班号若不唯一则出现提示信息,并要求重新输入 )输入 N,回车,返回航线管理子菜单输入 2,回车查看航线信息按下任意键返回航线管理子菜单输入 3 对航线进个修改;输入 4 返回主菜单,输入 2,回车,

7、进入订票办理界面如下:7若输入的航班号有误,则出现如下提示界面:按下 Y,继续按提示一步步输入,直到输入完毕,出现如下界面8由于本人比较懒,所以没有在订票人所定票数为所有时显示”包机” 0.0输入 y,继续定票,输入 N 返回主菜单若余票不足,则出现如下界面:输入 N 出现是否退出“订票办理 ”的提示信息,输入 Y 出现:按提示,输入信息,直至出下如下界面:9输入 Y 继续订票,输入 N 返回主菜单界面输入 4,查看乘客信息,界面如下:输入 1,回车10按下任意键,返回乘客管理子菜单输入 2,回车,查看候补乘客信息:按下任意键返回乘客管理子菜单输入 3 返回主菜单输入 3,回车,进入退票办理界

8、面按提示一步步输入11(本系统只有“一退全光”的效果 -凡提示输入 Y 或 N 时不分大小写2在主菜单及子菜单界面时,若输入的菜单项不存在,则出现(以主界面为例)按下任意键返回主菜单界面,可以继续输入菜单项六、附录#include #include 12#include #include #include #include #define MAX 50#define NULL 0typedef struct Customer /已定票乘客信息char Name7; /姓名int Amount; /定票数char Rank; /舱位等级int Seat_No; /座位号struct Custom

9、er *Next;Customer;typedef struct Replace /替补乘客信息char Name7; /姓名int Amount; /定票数char Rank; /舱位等级char Seat_No; /座位号struct Replace *Next;Replace,*PReplace; typedef struct Flight /航线信息char Des_Name10; /终点站名char Flight_No6; /航班号char Plane_No6; /飞机号char Week_Day; /飞行周日int Customer_Amount; /乘员定额int Free_Am

10、ount; /剩余票数float Price3; /舱位等级的价格Replace *ReplName; /该航班的候补乘客名单Customer *CustName; /该航班的已定票乘客名单struct Flight *Next; /指示下一航线结点Flight,*PFlight;int Customer_Count=0; /所有航线的定票乘客总数Flight *Head; /航线头指针Flight *p2; /航线结点指针Customer *Custp1MAX; /各条航线乘客结点指针Replace *Replp1MAX; /各条航线候补结点指针int IsEmpty=1; /是否有定票乘客

11、int IsReplace=1; /是否有候补乘客Customer *prior; /满足要求的定票乘客的前结点,以作删除操作/-密码登入窗口函数 -13int Code_Verify()char b10; char c10=lyh;/已经进行简单加密char a; int i=0,j,k=1,x;/ system(cls);/ couti;x-)cout4)k=0;/-菜单模板函数 -char ModelMenu(char *s,int Itemcount)int i;char answer;system(cls);coutanswer;return answer;/-主菜单函数 -char

12、 MainMenu()char *MenuItem=航空客运订票系统菜单 ,1. 航 线 管 理 ,2. 订 票 办 理 ,3. 退 票 办 理 ,4. 乘 客 管 理 ,5. 系 统 离 开 ;16return ModelMenu(MenuItem,6);/-是否继续函数 -char Continue() int i;char answer;while(1) coutanswer;if(answer=y|answer=Y)return y;else if(answer=n|answer=N)return n;elsecoutanswer;if(answer=y|answer=Y)return 1;elsereturn 0;/-操作提示函数-void prefix(char *Item)int i; system(cls);17coutFlight_No,key)=0)flag=1;break;p1=p1-Next;/指向下一航班结点return flag;int Find_Line(PFlight L,char *key,PFlight &p2,int &Flight_No)/引用调用int flag=0; /该标志位 0 表示未找到相关信息,反之即找到Flight *p1;p1=L;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

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