飞机订票系统

合集下载

《飞机订票系统》需求分析报告

《飞机订票系统》需求分析报告

信息工程学院
飞机订票系统
软件需求规格说明书
姓名:张继康
学号:2014110551
系统名称:飞机订票系统软件需求分析班级:14软件工程1班
宿州学院
目录
一、引言 (2)
1.1目标 (2)
1.2文档约定 (3)
1.3读者对象和阅读建议 (3)
1.4项目范围 (3)
1.5参考资料 (3)
二、总体描述 (4)
2.1产品前景 (4)
2.2产品特征 (4)
2.3用户及其特征 (5)
2.4运行环境 (5)
2.5设计和实现上的约束 (5)
2.6用户文档 (6)
三、系统特性 (8)
3.1系统特性 (8)
3.2描述和优先级 (9)
3.3激励、响应序列 (9)
3.4功能性需求 (9)
四、外部接口需求 (10)
4.1用户界面 (10)
4.2硬件接口 (11)
4.3软件接口 (11)
4.4通信接口 (12)
五、非功能需求 (12)
5.1性能需求 (12)
5.2防护性需求 (13)
5.3安全性需求 (13)
5.4软件质量属性 (13)
六、其他需求 (13)
附录A;术语表 (13)
附录B;分析模型 (14)
附录C;待确定问题清单 (15)
1。

飞机订票系统测试报告

飞机订票系统测试报告

飞机订票系统测试报告1. 引言本文档旨在介绍飞机订票系统的测试过程和结果。

飞机订票系统是一款用于用户预订航班机票的在线平台。

通过测试,我们旨在确保系统的功能正常、性能稳定,并且用户能够顺利完成预订流程。

2. 测试环境为了对系统进行全面的测试,我们搭建了以下测试环境:•操作系统:Windows 10•浏览器:Google Chrome,Mozilla Firefox•设备:台式电脑,笔记本电脑,手机(Android,iOS)•网络环境:LAN,WLAN,4G网络3. 测试目标我们的测试目标主要包括以下几个方面:•功能测试:确保系统的各项功能正常运作,包括用户注册、登录、查询航班信息、预订机票等。

•兼容性测试:在不同的操作系统、浏览器和设备上测试系统的兼容性,确保用户可以在不同的环境中正常使用系统。

•性能测试:通过模拟多用户同时访问、查询航班和预订机票,测试系统的性能稳定性和响应速度。

•安全性测试:检查系统的安全性,防止潜在的数据泄露和非法访问。

4. 测试步骤为了对系统进行全面的测试,我们按照以下步骤进行测试:4.1 用户注册和登录功能测试1.打开系统主页,点击注册按钮进入注册页面。

2.输入有效的用户名、密码和邮箱地址,点击注册按钮完成注册。

3.使用注册的用户名和密码,尝试登录系统。

4.验证登录是否成功,检查是否能够正常浏览个人信息页面。

4.2 航班查询功能测试1.登录系统后,点击航班查询按钮进入查询页面。

2.输入有效的出发地、目的地和日期,点击查询按钮进行航班搜索。

3.检查系统是否能够正确地显示符合条件的航班信息。

4.选择一条航班信息,尝试获取详细信息。

4.3 机票预订功能测试1.在航班查询结果页面,选择一条符合条件的航班信息。

2.输入乘客信息和联系方式,点击预订按钮进行机票预订。

3.检查系统是否成功生成订单,并显示预订成功的提示信息。

4.登录用户的邮箱,确认是否收到预订成功的邮件通知。

4.4 兼容性测试在不同的操作系统、浏览器和设备上测试系统的兼容性,包括:•操作系统:Windows,macOS,Linux•浏览器:Google Chrome,Mozilla Firefox,Safari•设备:台式电脑,笔记本电脑,手机(Android,iOS)4.5 性能测试1.使用性能测试工具,模拟多用户同时访问系统。

机票预订系统(详细设计说明书

机票预订系统(详细设计说明书

1.1 编写目的 (2)1.2背景 (2)1。

3定义 (2)1.4 参考资料 (3)...................................................................................................................................................................................................3 。

1 程序描述 (4)3.2功能 (5)3 。

3 性能 (5)3。

4 输人项 (5)3.5 输出项 (6)3 。

6 算法 (6)3。

7 流程逻辑 (7)3.8接口 (8)3.9 存储分配 (9)3 。

10 注释设计 (9)3.11 限制条件 (9)3.12 测试计划 (9)3.13 尚未解决的问题 (9)...........................................................................................4 。

1 程序描述 (9)4.2功能 (10)4.3 性能 (10)4 。

4 输人项 (10)4 。

5 输出项 (10)4.6算法 (11)4.7 流程逻辑 (11)4.8 接口 (12)4.9 存储分配 (13)4 。

10 注释设计 (13)4 。

11 限制条件 (13)4 。

12 测试计划 (13)4 。

13 尚未解决的问题 (13)在本机票预定系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明.本阶段已在系统的概要设计的基础上,对机票预定系统做详细设计。

主要解决了实现该系统程序模块具体设计问题。

包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。

航空订票系统分析需求报告

航空订票系统分析需求报告

航空订票系统分析需求报告1252355 1.编写目的及背景1.1编写目的1.本文档旨在从技术、经济、操作等方面综合研究分析机票预订系统的需求和各模块需要实现的具体要求,尽可能多地考虑在往后研发进程中可能出现的问题,为往后的概要设计和详细设计打基础2.便于用户、系统分析人员和程序员对需求进行理解和交流,初步判定目标软件可否知足其原来的期望,并可作为系统分析员设计软件的大体起点;3.确立可测试标准,用于软件开发完成后测试产品。

4.预期的读者和阅读建议:项目领导,项目组成员:须将本文档的全数内容理解清楚。

测试人员:主要阅读本文中详细的需求部份。

客户:需明确所有的需求分析是不是符合自己提出的要求。

1.2背景说明:1.软件系统名称:航空机票预订系统。

2.任务提出者:XX航空公司3.用户:XX航空公司,各大订票点4.实现:XX航空公司计算中心1.3概念结构化语言:将加上的控制结构就成了结构化语言。

数据库:依照数据结构来组织、存储和管理数据的仓库。

旅客信息:旅客提出订票要求时输入的信息,包括姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等。

取票通知:旅客取票凭证。

账单:旅客取票和交易的凭证。

机票:旅客登机凭证。

2任务概述2.1目标1.|开发用意:为方便旅客订票,提高工作效率,在技术、经济可行的条件下开发目标软件。

2.应用目标:接收预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)。

为旅客安排航班。

当旅客交付了预订金后,系统打印出取票通知和帐单给旅客。

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

能够及时对于航班售票情况进行统计。

3.作用范围:xx航空公司所有订票点。

4.目标软件作为航空公司内部管理系统的一部份,与其他软件的关系如下:航空公司管理系统订票管航班员工管设备管管理2.2用户的特点1.利用本软件人员要求有必然计算机基础的人员,系统管理员要求有计算机的专业知识,所有人员都要通过本公司培训.2.管理人员也需经一般培训.3.系统管理员,审计员将进行专业培训,以保证他们将熟练管理本系统.4.目标软件的预期利用频度:二十四小时不按期利用。

飞机订票系统策划书3篇

飞机订票系统策划书3篇

飞机订票系统策划书3篇篇一飞机订票系统策划书一、引言二、系统目标1. 提供在线机票预订功能,方便用户随时随地预订机票。

2. 整合机票信息,提供实时的航班查询、预订和票价比较功能。

3. 支持多种支付方式,确保安全、便捷的支付流程。

4. 提供用户管理功能,方便用户查询订单、修改个人信息等。

5. 具备数据分析和报表功能,帮助航空公司进行市场分析和决策。

三、系统功能模块1. 用户界面模块机票搜索和预订:用户可以通过输入出发地、目的地、出发日期等信息搜索机票,并进行预订。

个人中心:用户可以查询订单、修改个人信息、管理常用联系人等。

客服中心:提供在线客服和常见问题解答,方便用户咨询。

2. 后台管理模块航班管理:航空公司可以管理航班信息、舱位设置、票价调整等。

订单管理:管理员可以查询、处理订单,报表。

用户管理:管理员可以管理用户信息,设置用户权限。

数据分析:系统可以分析用户行为、预订趋势等数据,为航空公司提供决策支持。

3. 支付模块支持多种支付方式,如在线支付、银行转账、信用卡支付等。

与第三方支付平台集成,确保支付安全可靠。

提供支付记录查询功能,方便用户查询支付状态。

4. 数据整合模块与航空公司的票务系统进行数据对接,实时获取航班信息和票价。

整合其他数据源,提供更多的机票信息和推荐。

四、技术选型1. 前端技术:采用 HTML、CSS、JavaScript 等技术,构建用户界面。

2. 后端技术:选择适合的编程语言和框架,如 Python、Django 等。

3. 数据库:使用关系型数据库如 MySQL 或 NoSQL 数据库如 MongoDB 存储数据。

4. 支付接口:与第三方支付平台进行集成。

五、项目时间表1. 需求分析与设计:[时间区间 1]2. 系统开发:[时间区间 2]3. 测试与修复:[时间区间 3]4. 上线与维护:[时间区间 4]六、预算1. 人力成本:[具体金额]2. 技术设备采购:[具体金额]3. 软件开发费用:[具体金额]4. 测试与维护费用:[具体金额]5. 其他费用:[具体金额]总预算:[具体金额]七、风险评估与应对措施1. 技术风险:关注技术发展趋势,及时解决技术难题。

飞机订票系统

飞机订票系统

飞机订票系统学生姓名:兰海军指导老师:易禹摘要本系统主要是为了方便用户飞机订票,能使用户方便快捷的了解各航线信息。

本系统设置了航线创建功能、浏览航班信息和查询航线信息功能、订票退票功能及查看剩余票数功能。

在该系统当中,系统开发平台是Windows XP,程序设计设计语言采用Visual C++,数据库采用Microsoft Access,程序运行平台为Windows XP。

程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以在应用中解决实际问题。

关键词 Access;Visual C++;飞机订票目录1问题描述与分析...................................... 2 2数据结构设计描述 .................................... 3 3软件结构设计(系统功能模块图) ....................... 3 4算法设计思想 ....................................... 3 5调试分析 ........................................... 6 6总结 .............................................. 12 7参考文献 .......................................... 13 8附录(源程序清单) (14)飞机订票系统第 2 页共 30 页1问题描述与分析飞机订票系统要求可以实现如下功能:可以录入航班情况,可以查询某个航线的情况,如输入飞机到达城市,查询飞机航班情况;可以订票、退票。

从问题的描述分析,该飞机定票系统必须具备以下几个功能模块:1) 航线创建功能模块:包括终点站名、航班号、分机号、飞行日期、乘员定额、及余票量,准载人数等信息.。

2) 浏览航班信息功能模块:查看创建的所有航线信息。

飞机订票系统 课程设计 doc

飞机订票系统 课程设计 doc

飞机订票系统课程设计1. 引言飞机订票系统是一种为用户提供在线预订航班、选择座位以及支付机票的系统。

该系统可以方便用户进行航班查询、订票和退票等操作,提供了更便捷的服务,节省了用户的时间和精力。

本文档将详细介绍飞机订票系统的功能需求、系统设计以及实现细节,旨在为系统的开发提供一份可行的设计方案。

2. 需求分析2.1 功能需求系统需要提供以下功能: 1. 用户注册和登录:用户可以通过注册和登录功能完成对个人信息的维护。

2. 航班查询:用户可以根据出发日期、出发地、目的地等条件查询航班信息。

3. 机票预订:用户可以选择心仪的航班并进行预订,选择座位和支付机票费用等操作。

4. 机票退订:用户可以在一定时间范围内申请退票,并按照规定的退票政策进行退款。

5. 个人中心:用户可以在个人中心查看已购买的机票信息、修改个人信息和密码等个人操作。

6. 管理员功能:管理员可以对航班信息进行维护,包括添加、修改和删除航班信息。

2.2 性能需求系统需要满足以下性能需求: 1. 快速响应:系统需要能够在用户请求时迅速响应并返回结果,以提供良好的用户体验。

2. 高并发处理:系统需要能够同时处理多个用户的请求,以应对高并发访问的需求。

3. 数据安全性:系统需要采取有效措施确保用户个人信息的安全性,防止数据泄露和篡改。

3. 系统设计3.1 系统架构该系统采用客户端-服务器架构,客户端负责与用户进行交互,服务器负责处理用户请求并返回相应的结果。

客户端和服务器之间通过网络进行通信。

3.2 数据库设计系统的主要数据存储在数据库中,包括用户信息、航班信息和订单信息等。

数据库设计需满足以下几个方面的需求: 1. 用户信息表:包括用户ID、用户名、密码、邮箱等字段。

2. 航班信息表:包括航班ID、出发日期、起飞时间、出发地、目的地、航班号等字段。

3. 订单信息表:包括订单ID、用户ID、航班ID、座位号、订票时间、支付状态等字段。

3.3 界面设计系统需要提供一系列界面供用户进行操作。

航空订票系统文档

航空订票系统文档

HHHH大学航空订票系统(Airline Reservation System)姓名:AAA(项目经理)BBB、CCC、DDDEEE、FFF专业:软件工程指导老师:GGG目录一、可行性研究报告1、报告编写目的2、项目概述--------------------------------------------------------(主要负责人:EEE)2.1、项目背景2.2、项目意义2.3、项目目标2.4、项目用途3、技术可行性-----------------------------------(主要负责人:FFF)3.1、可行性因素3.2、技术条件3.3、用户使用可行性3.4、系统可行性简要描述3.5、系统可行性处理流程二、项目开发计划----------------------------------(主要负责人:AAA)1、工作内容2、主要参与人员3、产品3.1、软件包3.2、设计文档3.3、软件操作手册3.4、服务4、完成项目的期限5、项目的计划进度表6、实施计划6.1、工作任务的分解与人员的分工三、需求规格说明书--------------------------------(主要负责人:AAA)1、用户需求2、功能性需求2.1、运行环境2.2、系统层次结构图2.2.1、航空机票预订网站2.2.2、航空订票管理系统3、非功能性需求3.1、性能需求3.2、安全性需求3.3、可靠性和可用性需求3.4、出错处理需求3.5、接口需求3.6、约束3.7、逆向需求3.8、将来可能提出的要求4、其他需求四、概要设计说明书--------------------------------(负责人:所有人)1、总体设计1.1、总体结构设计1.2、运行环境设计1.3、功能模块清单设计2、模块(部件)清单设计2.1、公用模块功能分配2.2、专用模块功能分配3、数据结构设计3.1、数据库表名清单3.2、数据库表之间关系说明3.3、数据库表的详细清单4、接口设计五、详细设计说明书--------------------------------(负责人:所有人)1、模块实现设计1.1、公用模块设计1.2、专用模块设计2、接口实现设计六、数据库设计说明书------------------------------(主要负责人:AAA)1、数据库结构设计2、数据库的安全保密性设计3、数据库优化4、数据库源代码七、测试计划--------------------------------------(负责人:所有人)1、单元测试2、功能测试八、测试分析报告----------------------------------(主要负责人:AAA)1、测试计划执行情况2、软件需求测试结论九、项目开发总结报告------------------------------(负责人:所有人)AAABBBCCCDDDEEEFFF十、系统源程序------------------------------------(负责人:所有人)十一、操作手册------------------------------------(负责人:所有人)一、可行性研究报告1、报告编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。

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

课程设计报告课程设计名称数据结构课程设计专业计算机科学与技术班级_______________________学号_____________________姓名_指导教师____________________成绩 __________________2012年 2 月26 日数据结构课程设计——《飞机票票订票管理》目录目录 (ii)第1章软件的需求分析 (3)1. 1软件达到的目的 (3)1. 2软件功能说明 (3)121功能分析说明图 (3)第2章软件概要设计 (4)2.1软件模块的总体设计 (4)2.2软件设计详细内容 (4)2.2.1采用的主要数据结构类型 (4)223主要流程图 (4)第3章设计的详细说明及关键代码分析 (17)3.1设计的详细说明 (17)3.2关键代码分析和说明 (17)3.3测试说明 (18)第4章程序运行 (19)4. 1程序运行 (19)参考文献.....................................总结.......................................第1章软件的需求分析1.1软件达到的目的通过此系统可以实现如下功能1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;4)退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

5)修改航班信息:当航班信息改变可以修改航班数据文件1. 2软件功能说明1.2.1功能分析说明图该软件功能分析说明图如1-1所示:图1-1第2章软件概要设计2.1软件模块的总体设计编写一个飞机订票系统的程序,使该系统能够实现对航班信息的录入、浏览、排 序、查询以及订票、退票的功能。

根据题目要求,首先要制作一个主菜单显示出 各个操作的提示可供用户选择,进而一步步地深入操作。

根据主菜单的内容再进 一步编制具体操作的函数,各个功能均用专门编制的函数来完成。

这就是看到题 目后的最初的思路。

2.2软件设计详细内容 221采用的主要数据结构类型头文件包含、全局变量定义和结构体定义源代码:#include<stdio.h> //标准输入、输出头文件 #include<string.h>//包含字符串函数处理头文件 #in clude<process.h>// 包含 access 函数的头文件 #define N 1000 //定义最多的航班数 #defi nePRINT“ %d\t\t%s\t\t%s\t期 %s\t\%d\n ” ,s[i].nums[i].starts[i]. over,s[i]. time,s[i]. .count//宏定义输出格式//定义结构体数组 //定义航班号 //航班起始站 //航班终点站 //飞行时间 //机票数量}s[N]; int i,m=0; //定义全局变量,记录下航班信息的数量 char ii[10];//用来选择是否继续的变量struct air {int num; charstart[20]; charover[20]; char(2) enter函数流程图如图2-2i++返回王目录menu图2-2 ~(3) input 如图2-3 函数流程图输出:请输入第%d航班输出:输义入起飞―1开始 L 输出:请输入航班用输输入请输入降落输输入请迎y 输出:请输入航班最大载客图2-3(4) browse函数流程图如图2-4i=0开始如图2-5(6) order 如图2-6 函数流程图定义n,w1清屏结束图2-5输入菜单¥义始^ H 定义结构S输出:Choice you 清屏i=01 F键入数字Nj=i+1n <1|| n>4N=0data>tY s=ti[i]NYwNNm!=0)& %10==0 N(7) search_tinie 如图2-7—Y -----分屏显(示lfhr N m++ n=图2-6order()search_e nd Ysearch_timY * NY > Y •++ -++开始丿n=1(8) serch_end 如图2-8 函数流程一 1=0开始输出对应单班信航1N输入调用时间i++图2-7Nm++定义Ym%10==0 飞 ZN入NI口i++NN清屏Ni!=-YNti[i].num >=ti[i]票已售 录工结束s.BePlace==ti[i]BePl a ce&&s.E输入调k =Y 用输出:该趟(9) search 如图2-9输出:NOexist ! (10)book 函数流程图 如图2-10输出:欢迎进入售票窗函数返回值-1图1-9图2-8ti[i]. num //输出:订票成输出:该趟航dPlace==s.E n Ll_返回主菜单mpnu1 函数流程图^开始结束LY定义结构体s(m=0)&&(分屏显示函数返回k 值结束图 2-10(11)back 函数流程图 如图2-11开始NNi++T输出:欢迎进:输入航班代号IDk =i调用k==-1N口输出NOexist--- t i[i].rtum--输出:退票成功(12) save 函数流程图如图2-12 NNN定义W 开始*fp,i输出:filW=owrite\\tick (fp=fopen( Y ot open1=0i++w==1N输 出Closer save「返回主目录如图2-12结束uY(13) load函数流程图3.1设计的详细说明程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。

3.2关键代码分析和说明1)定义系统初始化函数模块功能:设立一个初始化函数来得到航班信息。

具体设计是第一次运行程序时自动生成保存航班信息的文件,并输入初始航班信息,待第二次开始就可以直接读取该文件获得已有的航班信息并可直接使用。

运用了access 函数判断文件是否存在。

该函数源代码为:void chushihua() // 初始化函数{if(access("hangban.dat",0))build();elseread();}2)定义建立新数据文件的函数系统初始化后,没有寻找到数据文件,则进行新建数据文件,此函数的作用就是进行新建文件数据的录入。

运用到了文件指针的定义FILE *fp ,文件的打开fopen 和关闭fclose 、成块读写函数中的fwrite ;运用for 循环进行各组数据的输入,用m++己录下输入的航班数量,并运用if语句判断是否输入下一条航班信息,若不继续则返回主界面。

3)定义读取文件内航班信息的函数系统初始化之后,若原始数据文件存在,则进行文件内航班信息的读取,以供接下来程序中的各个函数来使用。

在该函数中同样运用到了文件指针FILE *fp 、文件的打开fopen 和关闭fclose 、成块读写函数中的fread 、文件结束检测函数feof同时配合while语句控制文件的读取;m++己录下读取到的航班数量等。

4)定义保存函数因为在飞机订票系统中涉及到飞机的订票和退票业务,还有按航班号的排序功能,所以我就定义了这个保存函数来保存下每次运行系统后对整个订票系统涉及到的资料的修改。

为了简便程序,我就准备将此函数放在整个系统得推出选项中,这样就只在每次退出系统的时候进行一次保存,将此次对文件修改的所有新信息都一次保存下来。

这样就实现了整个系统运行时进行一次读取,推出时一次保存的设计,大大简便了文件的调用和读取。

保存函数运用到的知识点与读取函数大致相同。

此函数的源代码为:有关文件读取、写入和保存的函数定义完了就开始设计与题目要求直接相关的函数了。

5)定义订票业务函数在这个函数中首先调用了search 函数查找需要订票的航班。

运用if 语句实现订票时的多种情况:订票数输入不正确、飞机票数不足等情况。

订票成功时运用s[i].count=s[i].count-n; 将已被订的机票数减去,以显示新的即时航班信息6)定义退票业务函数:与订票函数相类似,只做稍稍修改就行退票成功是用s[i].count=s[i].count+n; 将航班的剩余票数加上去以显示即时航班信息。

7)定义主函数主函数主要就是提供系统的主菜单界面供用户选择。

运行主函数时首先调用chushihua 函数判定数据文件是否存在、是否要进行初始航班信息输入;若已存在则进入主界面菜单供用户选择,运用swich 语句对用户的不同选择来调用各功能的函数。

并用do…while语句循环实现能够让用户进行多次的选择。

3.3 测试说明调试过程中曾经遇到过一些问题,但是也不多,遇到过:订票或退票的时候不能将剩余的票数加上和减去。

后来经过详细的检查与对照课本知识点找出了相应的错误点,经过修改加入票数加减语句,再经过与保存函数的配合后实现了题目要求的功能。

调试成功。

第4 章程序运行4.1 程序运行进入程序菜单界面如图4-1图4-1查询航班界面如图4-2图4-2订票过程界面如图4-3图4-3 飞机售票操作界面如图4-4图4-4退票系统界面如图4-5图4-参考文献1.《数据结构 C 语言》严蔚敏清华大学出版社2.《 c 语言程序设计》谭浩强清华大学出版社3.《数据结构》高教出版社4.《数据结构习题》李春保清华大学出版社5.《数据结构习题》严蔚敏清华大学出版社6.《 c 语言与数据结构》王立柱清华大学出版社7.《数据结构( C 语言篇)习题与解析》李春葆清华大学出版社总结经过此次的课程设计,可以很明确的了解到自己哪些知识点掌握的比较好,哪些知识点运用的还不够熟练。

通过此次课程设计也学会综合运用理论知识来分析和解决实际问题的能力、养成严谨的科学态度和良好的程序设计习惯,实现由知识向智能的初步转化;学会遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,并与同组成员共同完成设计、编写、调试和测试应用程序及编写文档的任务。

学生:2012 年2月25日指导教师签字:年月日源代码#include <stdio.h> #include <string.h> #include <stdlib.h> #define N 1000int max;/* 飞机最大乘客人数*/ int price;/* 飞机票价*/ int num;/* 飞机已售票数*/}PLANE;PLANE ti[N];int n;/* 当前的航班数目*/ void menu(); void menu1();void input(int i){printf(" 请输入航班代号:\n"); scanf("%s",ti[i].ID);printf(" 请输入起飞地点:\n"); scanf("%s",ti[i].BePlace);printf(" 请输入降落地点:\n");scanf("%s",ti[i].EnPlace);printf(" 请输入起飞时间:\n");scanf("%s",ti[i].data);printf(" 请输入航班的最大载客人数:\n");scanf("%d",&ti[i].max);printf(" 请输入航班的票价:\n");scanf("%d",&ti[i].price);ti[i].num=0;}void enter(){int i;system( "cls" );printf(" 请输入航班的数目(0-%d)?:",N);scanf("%d",&n); /* 要输入的记录个数*/ printf("\n 请输入数据\n\n");for(i=0;i<n;i++){printf("\n 请输入第%d 航班记录.\n",i+1);} getchar(); menu();Jvoid printf_one(int i) /* 显示一个记录的函input(i ); /*调用输入函数*/typedef struct plane {char ID[10]; /*charBePlace[10];/*char 航班代号*/飞机起飞地点*/飞机降落终点数*/{printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);}void browse(){int i;system( "cls" );puts("\n --------------------------------------------- ");printf("\n\t 航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){printf_one(i); printf("\n");}getchar();getchar();menu();}void order() /* 排序模块( 按平均成绩)*/{int i,j;struct plane s;system( "cls" );for(i=0;i<n;i++) /* 冒泡法排序*/{for(j=i+1;j<n;j++) if(strcmp(ti[i].data,ti[j].data)>0){s=ti[i];ti[i]=ti[j];ti[j]=s;}}browse();void search_time(){int i,m=0;struct plane s; system( "cls" );printf("\n\nEnter the time:");scanf("%s",s.data); /* 输入出发的时间*/ puts("\n------- ");printf("\n\t 航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){{if(strcmp(s.data,ti[i].data)==0)m++;if((m!=0)&&(m%10==0)) /* 目的是分屏显示*/ {printf("\n\nPress any key to contiune . . ."); getchar();puts("\n\n"); }printf_one(i); printf("\n");/* 调用显示一个记录的函数*/}}puts("\n --------------------------------------------- ");getchar(); /* 按任意健*/ getchar();menu1();}void serch_end(){int i,m=0;struct plane s; system( "cls" );printf("\n\nEnter the end Place:");scanf("%s",s.EnPlace); /* 输入要到达的地方*/ puts("\n------- ");printf("\n\t 航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++) {if(strcmp(ti[i].EnPlace,s.EnPlace)==0) {m++;if((m!=0)&&(m%10==0)) /* 目的是分屏显示 */ {printf("\n\nPress any key to contiune . . ."); getchar(); puts("\n\n");} printf_one(i); printf("\n"); /* 调用显示一个记录的函数 */}}puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1. 按照时间排序 ");puts("\t\t\t\t2. 按照时间查找航班 "); puts("\t\t\t\t3. 按照地点查找航班 "); puts("\t\t\t\t4.返回主菜单 ");printf("Choice your number(1-4): [ ]\b\b"); scanf("%d",&n);if(n<1||n>4) /* 对选择的数字 作判断 */ {w1=1;printf("your choice is not between 1 and 4,Please input again:"); getchar();getchar(); }else w1=0; } while(w1==1);puts("\n ------ ------- ");getchar();getchar(); menu1();}void menu1() {int n,w1; do { system( "cls" )/*按任意健 *//* 清屏 */ 飞机售票操作 !\n\n"); puts("\n\n\t\t* *********************************************\n");/* 选择功能*/switch(n){case 1:order();break;case 2:search_time();break;case 3:serch_end();break;case 4:menu();break;}}int search() /* 查找模块*/{int i,k;struct plane s;k=-1;system( "cls" );printf("\n\n 请输入要订票的起飞地点:");scanf("%s",s.BePlace); /* 输入要到达的地方*/ printf("\n\n 请输入要订票的降落地点:");scanf("%s",s.EnPlace);printf("\n\n 请输入要订票的起飞时间:"); scanf("%s",s.data); /* 输入出发{的时间*/ for(i=0;i<n;i++) /* 查找要修改的数据*/if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.data,ti[i].data)==0){k=i; /* 找到要修改的记录*/printf_one(k);break; /* 调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf(" 欢迎进入售票窗口!\n");i=search();if(i!=-1){if(ti[i].num>=ti[i].max){printf("\n 该趟航班票已售完!}else{ti[i].num++;printf("\n 订票成功!\n");}}elseprintf(" 该航班不存在!\n"); getchar();getchar(); /* menu();}void back(){int i,k=-1;struct plane s;system( "cls" ); printf(" 欢迎进入退票窗口!\n"); printf("\n\n 输入航班代号:");scanf("%s",s.ID); /*for(i=0;i<n;i++) /*{if(strcmp(s.ID,ti[i].ID)==0){k=i; /*printf_one(k);break; /*输入要到达的地方*/查找要修改的数据*/找到要修改的记录*/ 调用显示一个记录的函数*/ );按任意健*/}}if(k==-1)printf("\n\nNO exist!"); else {ti[i].num--;printf("\n 退票成功 !\n"); }getchar();/* getchar(); /*menu();}void save() {int w=1; FILE *fp; int i;system( "cls" );我的文档 桌面 \\ticket.txt","wt"))==NULL)/* 以输出打开方式 , 在此前的记录被覆盖 */ {printf("\nCannot open file\n"); return ; for(i=0;i<n;i++)if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1){printf("file write error\n"); w=0;}if(w==1) {printf("file save ok!\n");fclose(fp); getchar(); getchar(); menu();}void load() {FILE *fp; int i,w; w=1;按任意健*/按任意健/* /*printf("Choice your number(1-8): [ ]\b\b"); scanf("%d",&n); if(n<1||n>8) 作判断 */{ w1=1;system( "cls" );我的文档 桌面 \\ticket.txt","rt"))==NULL){ printf("\nCan not open file\n"); w=0; return;}n=0; for(i=0;!feof(fp);i++) {fread(&ti[i],sizeof(struct plane),1,fp); n++;}n=n-1;fclose(fp); if(w==1) printf("Load file ok!"); getchar(); getchar(); menu(); }void menu() {int n,w1; do {system( "cls" ); /* 清屏 */ /*puts("\t\t\t\t 飞机售票管理系统 !\n\n");清屏*/puts("\t\t*********************MENU*********************\n\n"); puts("\t\t\t \t1. puts("\t\t\t \t2. puts("\t\t\t \t3. puts("\t\t\t \t4.puts("\t\t\t输入新航班 ") 查询"); 航班操作 "); 订票"); 退票"); 保存"); 载入"); 退出"); puts("\n\n\t\t**********************************************\n");/* 对选择的数字printf("your choice is not between 1 and 8,Please input enter to choice again:");getchar();getchar();}else w1=0;} while(w1==1);/* 选择功能*/ switch(n) { case 1:enter();break; /* 输入模块*/ case 2:browse();break; /* 浏览模块*/case 3:menu1();break; /* 查找模块*/case 4:book();break; /* 订票模块*/case 5:back();break; /* 退票模块*/case 6:save();break; /* 保存模块*/case 7:load();break; /* 加载模块*/case 8:exit(0);}}void main(){menu();}。

相关文档
最新文档