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












