航空公司订票系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构与算法设计课程设计
【设计题目】航空公司订票系统
【问题描述】
编写一个咸阳航空公司订票大厅得一个订票系统,可以在系统中录入并修改各个航班得具体情况,帮助乘客准确得查询各航班得最新信息(包括航班号、航班得起始时间与地点、票价)与各项业务得及时办理(包括订票、退票等)。该系统用可以用C++得类编写。
【软件功能】
ﻩﻩ1、输入航班信息并保存到磁盘
ﻩ2、浏览航班信息
3、修改航班信息并保存到磁盘
ﻩ4、查找航班
5、删除航班信息
ﻩ6、订票
ﻩ7、退票
【算法思想】
ﻩﻩ1先定义一个乘客基本信息得类包含乘客得姓名、证件号、订票数量及所乘得航班号(注:每个航班有固定得人数限制,若满额则提示其她可供选择得航班。
2建立一个功能类,包括对航班信息与乘客订票信息得录入及修改得函数,其中订票信息采用单链表得顺序存储方式存储。另外还包括对信息得查询与修改得功能函数,乘客退票得函数.并将最终得改动结果通过i/O流写入磁盘文件保存。
3编写主函数,对编写得航班系统进行全面测试,对用户界面采用人性化得菜单方式。
【类得设计】
定义一个航班得类
ﻩclassplane
{
ﻩfriend class customer;//友元类
public:
ﻩﻩvoid input(); //插入航班信息
void print();//打印航班信息
ﻩvoid save();//保存航班信息
void read();//读取航班信息
voidsearch(); //查找航班信息
ﻩﻩvoid Delete(); //删除航班信息
void book();//订票
ﻩ voidback(); //退票
voidxiugai(); //修改航班信息
private:
ﻩint num;//航班号
ﻩﻩchar start_place[20];//起点站
ﻩchar arrive_place[20];//终点站
ﻩchartime[10];//起降时间
ﻩﻩint count;//机票数量
}];
定义一个顾客信息得类
class customer
{
friend classplane;//友元类
protected:
ﻩIﻩnt id;//身份证号
ﻩchar name[10];//姓名
ﻩﻩintcustomer_num;//订票数量
public:
ﻩvoid read1();//读取数据
void save1();//保存数据
};
【存储结构设计】
ﻩﻩ采用顺序存储结构,利用动态申请空间实现信息得存储。
【模块划分及调用关系】
ﻩﻩ定义了两个类class plane与classcustomer,分别实现顾客及航班得信息操作。在两个类得后面分别定义了类中得各个函数。另外在主函数中分别调用函数,实现各个功能.
【模块流程图】
1、主函数
2、void search()//查询函数
3。
void book()//订票函数 ﻩ ﻩﻩﻩ ﻩﻩﻩ 航班不存在 无效 航班号存在 有效 4、 v oid bac k()//退票函数 不存在 该用户存在 【界面设计】
进入查询航班信息函数
按
航
班
查
找 按终点站查
找 按航线查找
就是否继续, 若就是
进入订票系统 输入姓名、ID 及要订航班得航班号 请输入您要订得票数 若票数有效,显示订票成功 输入您得姓名、ID 、要退票数 提示:退票成功
进入退票系统
采用人性化得菜单提示语,让用户很容易得操作;
【用户手册】
ﻩﻩ用户只需要在vc环境下就可以操作,具体步骤可见菜单提示就可以顺利操作。另外,再加入、删除、修改航班信息时必须以管理员得身份进去,所以必须要有密码,在这里初始密码事:xinxi0701、
谢谢您得使用!!
1、程序上机调试报告
【语法错误及其排除】
ﻩ两个类得公有函数中,在循环嵌套调用时总就是受阻,不能执行。所以我把两个类都定义为相互得有元类。这样问题就解决了。
【算法错误及其排除】
在订票与退票函数中,要核对用户信息如姓名、ID等,开始就是自己定义一个函数进行字符间得比较,在调用时总就是出现语法错误,最后想到可以用一个函数库中得函数strcmp(char,char)、把问题简单化,而且语法错误也解决了。
2、程序测试结果
【测试数据】
说明:测试数据都就是输入数据,见输出结果.
【输出结果】
【程序性能评价】
ﻩﻩ该程序可以查询航班得信息、修改信息,查询顾客得信息,订票、退票等,界面采用人性化得提示,可以让用户很容易得操作。另外在修改信息、添加航班信息时必须要以管理员得身份进入即必须要有密码才能进入。保证了系统得安全.
【性能改进方向】
ﻩﻩ该系统在操作中要就是不按照菜单得有关提示操作,而进行非法操作,可能会导致系统得死循环。在这点该系统还有待改进.
【收获及体会】
事实总比想象得难,刚开始编写这个程序得时候思路比较清晰。可就是编写得时候遇到了很多难题,譬如将顾客得信息及航班得信息保存到文件中,不知道用那种方式更简便,最后仔细思考,阅读课本资料,选择了用流得形式输出到文件中,感觉用起来特别方便简洁。完成了程序得编写后又对该程序进行了大量得修改,调试,使程序更加简明,并添加了不少提示用户操作得语句,使用户使用该系统时更加方便。对自己得这个程序还就是比较满意得,可以说已经超出了自己当初得设想。从编写这个程序得过程中不但发现了许多自己没学明白得地方,而且锻炼了自己得耐心。刚调试时有很多错误,我逐个仔细得修改、排除,最终成功得完成了调试。进过这次实习,我更加深刻得体会到,作任何事情要仔细,要静