航空公司订票系统

合集下载

航空订票系统需求规格说明书

航空订票系统需求规格说明书

TOLO 航空订票系统》需求规格说明书目录3.数据描述3.1 功能操作 (Actio ns )和角色 (Actors ) (10)3.1.1用例清单 (24个) ....................................................... 1.0. 3.1.2角色清单 ............................................................... 1.14.功能需求.3.1.1编写目的 .3 1.2项目背景.31.2.1行业背景 1.2.2客户行业背景 1.2.3项目业务背景 1.3定义1.3.1名词解释和费用执行标准定义 1.3.2术语和缩略词对照表 1.4参考资料2.任务概述 .9. 2.1目标 9. 2.2运行环境 9. 2.3条件与限制 ......................................................................................................................... 9 ............ .1.0..1.14.1功能划分.1.14.2功能描述.14.4.2.1功能划分 1.44.2.2功能描述 1.54.2.3相关界面介绍304.2.4交互列表313.5.5.1最大并发连接数355.2执行效率.355.3日均处理数据量和峰值数据处理速度(记录条数/秒):.3.5.6.运行需求 3.5.6.1 一般限制..................................................................... 35 ............6.2出错处理..................................................................... 36 ............1.1编写目的本需求说明书的目的是明确T-3GABS项目的业务背景、业务范围以及项目定义的专业词汇,通过分析项目的核心功能和系统需求。

航空订票系统设计报告

航空订票系统设计报告

一绪论11.1 课题背景及现状 (1)1.2 开发工具介绍 (1)二需求分析 (2)(一)航空售票系统的数据需求(二)数据字典(三) 主要数据流图三概要设计 (6)四逻辑设计 (7)五详细设计 (7)(一)基本查询语句(二) 程序流图中某些加工实现采用IPO图的方式描述(三)数据库的逻辑结构设计六测试结果 (12)七小结 (17)参考文献 (18)附录(主要源代码) (19)一绪论1.1 课题背景及现状随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断的完善更新航空售票系统,提高航空售票系统的工作效率。

航空公司为方便旅客,需开发一个订票系统。

系统的操作者是有登录密码和用户名的售票员。

系统要实现的基本功能是航班的调整,售票,订票,取票,退票,乘客信息的管理,乘客购票的统计;而系统在以后扩展时还可以实现的功能有:对机组工作人员的管理,预定机票的送票情况管理等。

此系统的开发由我们分模块完成,而我所负责的模块是实现系统的航班调整,售票,订票,退票,取票,航班查询功能。

举一个旅客订票的例子:预定机票的旅客信息,包括姓名、性别、地址、证件号、目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。

旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

航空售票系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点1.2 开发工具介绍本次课程设计应用的开发工具主要是用java语言和SQL Server 2005 。

航空软件之订票系统详细设计说明书

航空软件之订票系统详细设计说明书

航空订票系统详细设计说明书1 .引言详细设计阶段的任务是要设计出程序的“蓝图”,以后程序员讲根据这个蓝图写出实际的程序代码。

因此,详细设计的目标是在逻辑上正确的实现每个模块的功能。

1.1 编写目的详细设计说明书编制的目的是:说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑。

1.2 背景(1)系统的名称:航空订票系统(2)系统提出者:XX航空公司开发者: XX计算机科学与信息学院用户:旅客,航空公司本系统是一个独立的订票系统1.3 定义:数据字典:关于数据的信息的集合,也即是对数据流图中包含的元素的定义觉的集合。

1.4 参考资料《软件工程》王忠群,中国科学技术出版社。

《软件工程课程实验指导书》,安徽工程大学计算机与信息学院。

《软件工程—实践者的研究方法》(美)Roger s.Pressman 著郑人杰马素霞等译机械工业出版社2 程序系统的结构航空订票系统预订票系统取票系统退票系统航空公司调整系统旅客身份信息验证航班信息查询缴预订通知单验证缴余数取票退票资格验证退票身份验证订票客户管理航班机票管理报表打印管理航班信息管理人员用户管理票价管理订票审核管理退票管理增加航班信息删除航班信息查询航班信息修改航班信息机票销2图标售额分生成机票高级管理人员管理人员票价折扣票价类型增加客户信息删除客户信息查询客户信息修改客户信息查航班询预订票取票退票验证用户3 程序1设计说明3.1 程序描述程序设计主要是为了明了概括订票系统的设计思路理念,给人以清晰的结构。

通过分部罗列和说明其作用与其重要性,也有部分补充其其他方面。

程序包括:预订票系统,其功能含有:旅客身份信息验证,航班信息查询,缴预款取票系统,其功能含有:通知单验证,缴余数取票退票系统,其功能含有:退票资格验证,退票航空公司调整系统,其功能含有:航班机票管理,航班信息管理,票价管理。

3.2 功能3.3 性能(1)系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。

航空订票系统发展历程

航空订票系统发展历程

航空订票系统发展历程
航空订票系统的发展历程始于20世纪60年代,当时航空公司开始采用计算机技术来管理和处理航班信息和乘客订票。

这些系统使用基本的计算机程序和数据库来存储航班时间表、座位预订和乘客信息。

随着计算机技术的进步,航空订票系统在20世纪70年代进入了第二阶段。

此时,一些大型航空公司开始使用集中式订票系统,这些系统可以同时为多个航空公司提供订票服务。

这些系统通常由航空公司或第三方公司开发和运营,并称为计算机预订系统(CRS)。

这些系统可以通过计算机终端和电话来接受乘客的订票请求,并自动处理座位预订。

到了20世纪80年代,航空订票系统进一步发展成为全球化的系统。

此时,全球范围内的航空公司开始使用相互连接的计算机系统,以实现航班信息的共享和联合销售。

这些全球预订系统(GDS)可以通过互联网提供订票服务,并通过电子邮件
和短信向乘客发送相关信息。

进入21世纪,随着互联网的普及和移动设备的兴起,航空订
票系统进入了一个新的阶段。

乘客可以通过电脑、手机和平板电脑等多种终端访问航空公司的网站或移动应用程序,并实时查询航班信息、预订航班、选座等。

同时,新的技术和算法也被应用于航空订票系统,以实现更高效的航班排班和座位分配。

目前,航空订票系统已经成为航空公司和乘客之间不可或缺的
连接工具。

随着人工智能和大数据技术的不断发展,航空订票系统还有望进一步提升预订体验和航班管理效率。

航空订票系统

航空订票系统

航空订票系统引言航空订票系统是一种为乘客提供航班查询、航班预订、座位选择、支付等功能的在线平台。

它使乘客可以方便地搜索和比较航班信息,并进行机票预订和支付。

航空订票系统的出现极大地方便了旅客的出行,使航空运输更加高效便捷。

功能特点航班查询航空订票系统通过与航空公司的数据库连接,可以提供全面的航班信息查询功能。

乘客可以根据出发地、目的地、日期等条件进行航班查询,并获得对应的航班列表。

在查询结果中,乘客可以查看航班的起飞时间、到达时间、航班号、航空公司等信息,以便做出合适的选择。

航班预订在航班查询结果中,乘客可以选择心仪的航班,并进行预订。

通过航空订票系统,乘客可以输入乘客信息、联系方式、选择座位等,并生成订单进行确认。

系统会实时检查座位的可用性,以确保乘客选择的座位仍然有效。

座位选择航空订票系统提供座位选择功能,使乘客可以根据自己的喜好选择座位。

系统会显示航班的座位图,乘客可以根据图中示意图选择合适的座位。

座位选择功能可以提高乘客的出行舒适度,满足不同乘客的座位需求。

支付航班预订完成后,乘客需要进行支付才能确保机票的有效性。

航空订票系统与支付接口相连接,可以提供多种支付方式供乘客选择,如信用卡支付、支付宝、微信支付等。

乘客可以根据个人的支付习惯选择合适的支付方式进行支付。

订单管理航空订票系统提供订单管理功能,乘客可以登录系统进行订单查询、修改、取消等操作。

通过订单管理功能,乘客可以实时了解订单状态,及时做出相应的处理。

系统也会提供订单的历史记录,以便乘客查阅。

技术实现前端技术航空订票系统的前端使用HTML、CSS和Javascript等技术实现。

前端页面负责与用户进行交互,展示航班信息、座位选择、支付界面等。

前端界面的设计需要具有良好的用户体验,方便用户操作和浏览。

后端技术航空订票系统的后端使用Java、Python等语言进行开发。

后端负责与前端进行数据交互,连接航空公司的数据库,进行航班查询、座位预订、支付等功能的实现。

航空软件之订票系统详细设计说明书

航空软件之订票系统详细设计说明书

航空软件之订票系统详细设计说明书航空订票系统详细设计说明书1 .引⾔详细设计阶段的任务是要设计出程序的“蓝图”,以后程序员讲根据这个蓝图写出实际的程序代码。

因此,详细设计的⽬标是在逻辑上正确的实现每个模块的功能。

1.1 编写⽬的详细设计说明书编制的⽬的是:说明⼀个软件系统各个层次中的每⼀个程序(每个模块或⼦程序)的设计考虑。

1.2 背景(1)系统的名称:航空订票系统(2)系统提出者:XX航空公司开发者: XX计算机科学与信息学院⽤户:旅客,航空公司本系统是⼀个独⽴的订票系统1.3 定义:数据字典:关于数据的信息的集合,也即是对数据流图中包含的元素的定义觉的集合。

1.4 参考资料《软件⼯程》王忠群,中国科学技术出版社。

《软件⼯程课程实验指导书》,安徽⼯程⼤学计算机与信息学院。

《软件⼯程—实践者的研究⽅法》(美)Roger s.Pressman 著郑⼈杰马素霞等译机械⼯业出版社2 程序系统的结构航空订票系统预订票系统取票系统退票系统航空公司调整系统旅客⾝份信息验证航班信息查询缴预订通知单验证缴余数取票退票资格验证订票客户管理航班机票管理报表打印管理航班信息管理⼈员⽤户管理票价管理订票审核管理退票管理增加航班信息删除航班信信息修改航班信息机票销2图标售额分⽣成机票⾼级管理⼈员管理⼈票价类型增加客户信息删除客户信息查询客户信息修改客户信息查航班询3 程序1设计说明3.1 程序描述程序设计主要是为了明了概括订票系统的设计思路理念,给⼈以清晰的结构。

通过分部罗列和说明其作⽤与其重要性,也有部分补充其其他⽅⾯。

程序包括:预订票系统,其功能含有:旅客⾝份信息验证,航班信息查询,缴预款取票系统,其功能含有:通知单验证,缴余数取票退票系统,其功能含有:退票资格验证,退票航空公司调整系统,其功能含有:航班机票管理,航班信息管理,票价管理。

3.2 功能3.3 性能(1)系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。

航空订票系统需求分析

航空订票系统需求分析

航空订票系统需求分析
航空订票系统是一种通过网络方式供消费者预订机票的电子商务平台。

该系统需要具备以下功能:
(一)用户注册登录功能
用户可以在系统中注册个人账户,进行登录后可以查看个人信息、历史订单、余额等信息。

(二)机票查询预订功能
用户可以在系统中根据航班号、航班日期、起降机场等条件查询航班信息,系统可以实现多种查询方式,如单程、返程等。

一旦查询到符合条件的特定航班,用户可以在系统中完成预订。

(三)支付功能
用户完成航班信息查询并选择合适的机票后,需要在系统中完成支付。

支付方式可以支持信用卡、支付宝、微信等常见电子支付方式。

(四)订单管理功能
用户可以在系统中查询历史订单、离线订单等相关信息,同时还可以修改订单信息,比如更改座位、退改签等操作。

(五)客户服务功能
客户服务平台可支持用户查询导航、上网服务、航站信息等,在紧急情况发生时能够全天候提供帮助。

(六)数据统计与分析功能
系统可以实现机票销售数据的统计与分析,例如实时销售情况、航班亿元占比、热门航线预测等。

(七)安全性功能
飞机票订票系统需要保护用户的个人隐私和支付信息。

该系统还需要具有防止网络攻击、防止无效访问等安全措施。

总之,航空订票系统是一个功能复杂的电子商务平台,涉及多种操作和服务,需要精确、快速地响应用户指令,同时保证用户的信息以及支付安全。

这是实现一个优秀的航空订票系统的重要特点。

航空订票系统(数据库课程设计)

航空订票系统(数据库课程设计)

《数据库设计与开发Ⅱ》课程设计报告航空订票系统学院:班级:学号:姓名:完成时间:目录一.需求分析 (1)1.引言 (1)2.项目概述 (1)3.需求规定 (2)4.运行环境规定 (4)二.系统结构数据设计 (5)三.视图设计 (8)1.E-R图 (8)2.关系模式 (9)3.数据流程图 (10)四.逻辑结构设计 (11)1.数据表描述 (11)2.程序描述 (12)3.功能描述 (13)五.系统设计 (19)1.系统功能分析 (19)2.系统功能模块设计 (19)六.项目总结 (20)1.本项目设计的优点 (20)2.项目实现流程 (20)3.心得体会 (20)第1 页共22 页一、需求分析1.引言编写本套航空订票系统的《软件规格说明书》的目的在于根据软件需求说明书中的任务概述,需求规定等规划设计出一套可执行软件的结构模型。

1.1编写目的(1)便于用户、分析人员和软件设计人员进行理解和交流(2)希望系统的外部项(旅客、旅行社、航空公司)均支持目标软件系统的确认。

根据需求规格说明书中确立的可测试标准进行测试,并得到确认。

(3)控制系统进化过程1.2项目背景随着社会的发展,人民生活水平的不断提高,人们出行的交通工具也跟随社会的发展而发展起来了。

乘飞机出行的人越来越多。

所以这方面的市场非常大。

所以“机票预订系统”的开发是势在必行。

经过对各方面人士对该系统功能的意见的调查,我们在此基础上确定了旅客与各航空公司所需要的“机票预订系统”。

同时我们会不断更新该系统的功能来满足不断发展的市场需求。

1.3项目描述为各旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入到该系统,系统为旅客安排航班。

当旅客交付了预定金后,系统印出取票通知和帐单交款取票,系统核对无误即印出机票给旅客。

此外为了航空公司能够随时掌握各航向飞机的乘载情况,而能够定期进行查询统计,以便适当调整1.4定义软件需求:IEEE软件工程标准词汇表(1997年)中定义软件需求为:(1)用户解决问题或达到目标所需的条件或权能(Capability)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构与算法设计课程设计【设计题目】航空公司订票系统【问题描述】编写一个航空公司订票大厅的一个订票系统,可以在系统中录入并修改各个航班的具体情况,帮助乘客准确的查询各航班的最新信息(包括航班号、航班的起始时间和地点、票价)和各项业务的及时办理(包括订票、退票等)。

该系统用可以用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()//订票函数4.void back()//退票函数不存在该用户存在【界面设计】采用人性化的菜单提示语,让用户很容易的操作;【用户手册】用户只需要在vc环境下就可以操作,具体步骤可见菜单提示就可以顺利操作。

另外,再加入、删除、修改航班信息时必须以管理员的身份进去,所以必须要有密码,在这里初始密码事:xinxi0701.您的使用!!1、程序上机调试报告【语法错误及其排除】两个类的公有函数中,在循环嵌套调用时总是受阻,不能执行。

所以我把两个类都定义为相互的有元类。

这样问题就解决了。

【算法错误及其排除】在订票与退票函数中,要核对用户信息如、ID等,开始是自己定义一个函数进行字符间的比较,在调用时总是出现语法错误,最后想到可以用一个函数库中的函数strcmp(char,char).把问题简单化,而且语法错误也解决了。

2、程序测试结果输入您的姓名、ID、要退票数提示:退票成功进入退票系统【测试数据】说明:测试数据都是输入数据,见输出结果。

【输出结果】【程序性能评价】该程序可以查询航班的信息、修改信息,查询顾客的信息,订票、退票等,界面采用人性化的提示,可以让用户很容易的操作。

另外在修改信息、添加航班信息时必须要以管理员的身份进入即必须要有密码才能进入。

保证了系统的安全。

【性能改进方向】该系统在操作中要是不按照菜单的有关提示操作,而进行非法操作,可能会导致系统的死循环。

在这点该系统还有待改进。

【收获及体会】事实总比想象的难,刚开始编写这个程序的时候思路比较清晰。

可是编写的时候遇到了很多难题,譬如将顾客的信息及航班的信息保存到文件中,不知道用那种方式更简便,最后仔细思考,阅读课本资料,选择了用流的形式输出到文件中,感觉用起来特别方便简洁。

完成了程序的编写后又对该程序进行了大量的修改,调试,使程序更加简明,并添加了不少提示用户操作的语句,使用户使用该系统时更加方便。

对自己的这个程序还是比较满意的,可以说已经超出了自己当初的设想。

从编写这个程序的过程中不但发现了许多自己没学明白的地方,而且锻炼了自己的耐心。

刚调试时有很多错误,我逐个仔细的修改、排除,最终成功的完成了调试。

进过这次实习,我更加深刻的体会到,作任何事情要仔细,要静下心来认真思考,只要努力了,必定会有回报。

3、源程序代码#include<iostream.h>#include<string.h>#include<stdio.h>#include<iomanip.h>#include<stdlib.h>#define N 1000 //宏定义class customer;//申明顾客信息类//---------定义航班信息类----------------class plane{friend class customer;//有元类public:void insert(); //加入航班信息void print(); //输出航班信息void save(); //保存航班信息void read(); //读取航班信息void search(); //查找航班信息void Delete(); //删除航班信息void book(); //订票void back(); //退票void xiugai(); //修改航班信息private:int num;//航班号char start[10];//起点站char arrive[10];//终点站char time[20];//起降时间int plane_num;//机票数量}s[N];//------定义顾客信息类---------------------------class customer{friend class plane;//有元类protected:int id;//号char name[20];//int pshu;//用户订票数量public:void read1();//读取数据void save1();//保存数据}yh[N];int i,j;//全局变量int m=0,y=0;//宏定义一个输出#define PRINT s[i].num<<setw(13)<<s[i].start<<setw(13)<<s[i].arrive<<setw(13)<<s[i].time<<setw(13)<<s[i].pl ane_num<<endl //定义输出格式//-------------主函数------------void main(){plane abc;//定义一个航班类的对象int j;do{cout<<" 管理员密码:xinxi0701 "<<endl;cout<<" "<<endl;cout<<" -----------欢迎进入航空订票菜单------------"<<endl; //主界面cout<<"|============================================|"<<endl;cout<<" | 1.新增航班|"<<endl;cout<<" | 2.浏览航班信息|"<<endl;cout<<" | 3.修改航班信息|"<<endl;cout<<" | 4.查找航班信息|"<<endl;cout<<" | 5.删除航班|"<<endl;cout<<" | 6.订票|"<<endl;cout<<" | 7.退票|"<<endl;cout<<" | 0.退出|"<<endl;cout<<" |=====================================|"<<endl;cout<<"请选择(0~7):";cin>>j;switch(j){case 1:abc. insert();//调用插入函数break;case 2:abc.print();//调用打印函数break;case 3:abc.xiugai();//调用修改函数break;case 4:abc.search();//调用查找函数break;case 5:abc.Delete(); //调用删除函数break;case 6:abc.book();//调用订票函数break;case 7:abc.back();//调用退票函数break;case 0:;break;}}while(j!=0); //判断结束cout<<"使用,再见!\n";}//--------------主函数结束---------------//定义类中各个函数void plane::insert()//打印函数{char f[]="xinxi701"; //设置密码char y;cout<<"请输入密码:";cin>>f; //读取密码if(strcmp(f,"xinxi0701")==0){cout<<"--------------------------------------------------------------------------\n";for(i=0;i<N;i++){cout<<"航班号出发地点到达地点起降时间满载人数"<<endl;cout<<"|-------------------------------------------------|"<<endl;cin>>s[i].num>>s[i].start>>s[i].arrive>>s[i].time>>s[i].plane_num;cout<<"|-------------------------------------------------|"<<endl;m++;cout<<"第"<<m<<"个信息已经输入,是否继续(y/n)?";cin>>y;cout<<endl;if(y=='y')continue;else{save();//将结构体信息存盘cout<<"刚刚存盘的信息是:"<<endl;print();//输出输入的航班信息break;}}}elsecout<<"密码错误,您不能使用此项功能,强制推出!!!"<<endl;}void plane::save()//保存函数{FILE *fp,*fp1;//定义文件指针if((fp=fopen("chen.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//出错提示getchar();return;}if((fp1=fopen("hao.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//出错提示getchar();return;}for(i=0;i<m;i++)if(fwrite(&s[i],sizeof(class plane),1,fp)==0)//向文件写入数据,并判断是否出错cout<<"向文件输入数据失败!"<<endl;fprintf(fp1,"%d",m);fclose(fp);//关闭文件fclose(fp1);//关闭文件}//-------------------------------------------void plane::read()//从文件读取信息{FILE *fp,*fp1;//定义文件指针if((fp=fopen("chen.txt","rb"))==NULL)//打开文件,并判断是否出错{cout<<"出现错误,请检查文件是否存在!!";//出错提示getchar();}if((fp1=fopen("hao.txt","rb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!\n\n";//出错提示getchar();return;}fscanf(fp1,"%d",&m);fclose(fp1);//关闭文件for(i=0;i<m;i++){fread(&s[i],sizeof(plane),1,fp);//从文件中读取信息}fclose(fp);//关闭文件}//-----------------------------------void plane::print()//输出函数{char w[10];read();//调用读取文件函数cout<<"航班号起始站终点站时间机票数\n";for(i=0;i<m;i++){cout<<PRINT;//打印信息}cout<<"******************************************** "<<endl;cout<<"///请按任意键返回主菜单///"<<endl;cin>>w;//控制返回主菜单}//-----------------------------------------void plane::search()//查询函数{char name1[10];char name2[12];char ii[10];int n,no;do{cout<<" 欢迎进入查询菜单"<<endl;//查询方式菜单cout<<" "<<endl;cout<<" 1.按航班号查找\n\n"" 2.按终点站查找\n\n"" 3.按航线查找\n\n"" 0.返回"<<endl;cout<<"请选择(0~3):";cin>>n;if(n==0)break;switch(n){case 1:cout<<"请输入航班号:";cin>>no;//航班号break;case 2:cout<<"请输入终点站名称:";cin>>name2;//读取终点站break;case 3:cout<<"请输入起始站名称:\n";cin>>name1;//读取起始站cout<<"请输入终点站名称:\n";cin>>name2;//终点站break;}read();//调用读取函数for(i=0;i<m;i++){if(strcmp(s[i].arrive,name1)==0||strcmp(s[i].arrive,name2)==0)//按终点站起始站判断输出条件{cout<<"\n查找航班信息成功!"<<endl;cout<<"航班号起始站终点站时间机票数"<<endl;cout<<PRINT;//打印信息break;}if(s[i].num==no)//按航班号判断输出条件{cout<<"\n查找航班信息成功!\n";cout<<"航班号起始站终点站时间机票数"<<endl;cout<<PRINT;//打印信息break;}}no=0;//将航班号赋值为0if(i>m)cout<<"该航班不存在,是否继续查找(y/n)?";cin>>ii;}while(strcmp(ii,"y")==0);//判断结束}//------------------------------------void plane::Delete()//删除函数{char name1[10];char name2[12];char ii[12];char f[]="xinxi701";//设置密码int no,n;cout<<"请输入密码:";cin>>f;//读取密码if(strcmp(f,"xinxi0701")==0) //判断密码是否正确{do{cout<<" 欢迎进入删除菜单"<<endl;//删除方式菜单cout<<" "<<endl;cout<<" *1.按航班号删除\n\n"" *2.按航线删除\n\n"" *0.返回"<<endl;cout<<"请选择(0~2)";cin>>n;//读取删除方式if(n==0)break; //跳出循环switch(n){case 1:cout<<"请输入航班号:";cin>>no;//读取航班号read();//调用读取函数break;//跳出循环case 2:cout<<"请输入起始站名称:";cin>>name1;//读取起始站cout<<"请输入终点站名称:";cin>>name2;//读取终点站read();//调用读取函数break;//跳出循环}for(i=0;i<m;i++){if(s[i].num==no||strcmp(s[i].start,name1)==0&&strcmp(s[i].arrive,name2)==0)//判断输入信息是否存在{s[i]=s[m-1];m--;}}cout<<"没有该信息,是否继续删除(y/n):";cin>>ii; //读取是否继续信息save(); //调用读取函数if(!strcmp(ii,"y")) //判断是否继续删除cout<<"请按任意键返回删除菜单!!";break;}while(n!=1&&n!=2&&n!=3&&n!=4&&n!=0); //判断结束}elsecout<<"密码错误,不能使用此项功能,强行退出!!\n\n";}//------------------------------------------------void plane::book()//订票函数{customer abc;int n;char a[12];do{cout<<"各位用户你好!请你先选择您要乘的航班"<<endl;search();abc.save1();abc.read1();y=y+1;cout<<" 欢迎进入订票系统!!!!"<<endl;cout<<"请输入你的ID号:";cin>>yh[y].id;cout<<"请输入你的:";cin>>yh[y].name ;cout<<"请输入您要订的机票数:";fai: cin>>n;//读取所订机票数if(n<=0)goto fai;yh[y].pshu=n;s[i].plane_num=s[i].plane_num-n;abc.save1();save();//调用保存函数cout<<"订票成功!\n\n";break;cout<<"是否继续(y/n)?";//判断是否继续订票cin>>a;}while(!strcmp(a,"y"));//判断结束}//-------------------------------------void plane::back()//退票函数{customer abc;int n;char a[12];do{cout<<"各位用户你好!请你先选择您要退的航班"<<endl;search();cout<<"请输入你的ID:"<<endl;cin>>abc.id;cout<<"请输入你的:"<<endl;cin>> ;cout<<"请输入您要退的机票数目:"<<endl;cin>>n;//输入所退票数if(n<0) //判断票数是否有效{cout<<"请输入有效的机票数!"<<endl;cin>>n;}abc.read1();for(i=0;i<y;i++){if((yh[i].id=abc.id)==0&&strcmp(yh[i].name,)==0)//按终点站起始站判断输出条件{cout<<"该顾客存在!"<<endl;cout<<"号订票数"<<endl;cout<<yh[i].id<<setw(8)<<yh[i].name<<setw(8)<<yh[i].pshu<<endl;//打印信息break;}}for(;i<y;i++){yh[i].id=yh[i+1].id;strcpy(yh[i].name,yh[i+1].name);yh[i].pshu=yh[i+1].pshu;}abc.save1();s[i].plane_num=s[i].plane_num+n;save(); //调用保存cout<<"退票成功!\n\n";cout<<"是否继续(y/n)?";//判断是否继续退票cin>>a;}while(!strcmp(a,"y"));//判断并跳出循环getchar();}//---------------------------------void plane::xiugai() //修改信息函数{class xiu //定义一个类{public:int no;char name1[12];char name2[12];char time[12];int plane_num;}x[1];char j[10];char f[]="xinxi701";//设置密码int n;cout<<"请输入密码:";cin>>f;//读取密码if(strcmp(f,"xinxi0701")==0)//判断是否出错{read();//调用读取do{cout<< " 欢迎进入修改系统"<<endl;cout<< " *1,按航班号修改"<<endl;cout<< " *2,按航线修改"<<endl;cout<<"请选择(1~2)";cin>>n;//读取修改方式switch(n){case 1:cout<<"请输入航班号:";cin>>x[0].no;//读取航班号break;case 2:cout<<"请输入起始站:";cin>>x[0].name1;//读取起始站cout<<"请输入终点站:";cin>>x[0].name2;//读取终点站break;}for(i=0;i<m;i++){if(strcmp(s[i].arrive,x[0].name1)==0&&strcmp(s[i].arrive,x[0].name2)==0)//判断输出条件{cout<<"航班号起始站终点站时间机票数\n";cout<<PRINT;break;}if(s[i].num==x[0].no)//判断输出条件{cout<<"航班号起始站终点站时间机票数\n";cout<<PRINT;break;}}x[0].no=0; //将结构体中的号为零cout<<"请输入新航班号起始站终点站时间机票数"<<endl;cin>>x[0].no>>x[0].name1>>x[0].name2>>x[0].time>>x[0].plane_num;s[i].num=x[0].no;//替换航班号strcpy(s[i].start,x[0].name1);//替换其始站strcpy(s[i].arrive,x[0].name2);//替换终点站strcpy(s[i].time,x[0].time);//替换时间s[i].plane_num=x[0].plane_num;//替换机票数save();//调用保存cout<<"是否继续(y/n)?";cin>>j;}while(strcmp(j,"y")==0); //判断结束}elsecout<<"密码错误,不能使用此项功能,强行退出!!\n\n";}//--------------------------------------------void customer::read1(){FILE *ff,*ff1;//定义文件指针if((ff=fopen("xinx.txt","rb"))==NULL)//打开文件,并判断是否出错{cout<<"出现错误,请检查文件是否存在.";//打印出错提示getchar();}if((ff1=fopen("shu.txt","rb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//打印出错提示getchar();return;}fscanf(ff1,"%d",&y);fclose(ff1);//关闭文件for(j=0;j<y;j++){fread(&yh[j],sizeof(customer),1,ff);//从文件中读取信息}fclose(ff);//关闭文件}//----------------------------------------`void customer::save1()//保存函数{FILE *ff,*ff1;//定义文件指针if((ff=fopen("xinx.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//出错提示getchar();return;}if((ff1=fopen("shu.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//打印出错提示getchar();return;}for(j=0;j<m;j++)if(fwrite(&yh[j],sizeof(class customer),1,ff)==0)//向文件写入数据,并判断是否出错cout<<"向文件输入数据失败!\n\n";fprintf(ff1,"%d",y);fclose(ff);//关闭文件fclose(ff1);//关闭文件}Word文档。

相关文档
最新文档