飞机订票系统课程设计报告讲解

合集下载

课程设计报告-民航订票系统

课程设计报告-民航订票系统

民航订票系统一、设计目的与内容1.设计目的熟练掌握数据的存储表示和基本操作的实现,能够利用存储设计算法解决简单的航空订票问题。

2.设计内容:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;•订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;输出:可以按照航班号为顺序输出订票信息。

二、算法的基本思想算法的主要思路是:1.首先对界面的设计,可以对操作的人员来说简单上手。

对系统的应用都能进行相应的操作。

(1)设置管理员的功能。

(2)设置客户的功能(3)管理员的主要操作界面(4)客户的主要操作界面(5)结束2.类dingpiao用来显示客户订票的事件;基本思路如下:(1)客户提交自己的详细信息。

(2)管理员处理相应的内容并给票给客户。

(3)订票结束3.类tuipiao将处客户的退票的信息,释放存储空间,基本思路如下:(1)客户提交自己的详细信息。

(2)管理员把客户的票取出,(3)结束三、E-R图系统流程图该系统的数据流程图如图3-3:客户端启登陆No有效数据?yes四、测试数据程序运行实例如下: 1 主界面的进入:将response 对象写往客户解析request 对象将结果显示在客出票航班查询 修改密码输入查询条件验证有效?Noyes已查航班? No输入乘客信息验证有效?Noyes输入新密码验证有 效Noyes封装requset 对象将request 对象写向服务分拣请求调用调用调用调用出票请求 查询航班请求 修改密码请求 登陆请求 封装response 对象2 管理员的相应功能3 用户的相应功能4管理员录入订票信息5客户注册模块6 客户添加信息模块10 客户订票界面11 客户退票界面五、源程序及系统文件使用说明1用java写的飞机订票系统的主界面可以直观的观察操作的界面,所应用的代码如下所示:package FlightManagementSystem;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Welcome extends JFrame implements ActionListener{/****/private static final long serialVersionUID = 1L;public static final String Flight = null;//声明JButton组件对象JButton jbutton1,jbutton2,jbutton3,jbutton4;public Welcome(){super("欢迎进入民航订票系统!");//设置内容面板的布局模式为:流动布局getContentPane().setLayout(new FlowLayout());jbutton1=new JButton("管理系统");jbutton2=new JButton("客户系统");jbutton4=new JButton(" 退出系统 ");getContentPane().add(jbutton1);getContentPane().add(jbutton2);getContentPane().add(jbutton4);this.setBounds(300,200,240,120);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);//注册监听器jbutton1.addActionListener(this);jbutton2.addActionListener(this);jbutton4.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==jbutton1){@SuppressWarnings("unused")LoginOfManager s=new LoginOfManager();this.dispose();}if(e.getSource()==jbutton2){try {new Login();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}this.dispose();}if(e.getSource()==jbutton4){System.exit(0);}}public void airportInformation(){System.out.println("谢谢光临!");}public static void main(String[] args){@SuppressWarnings("unused")Welcome welcome=new Welcome();}}2 管理员的操作界面也是简单易懂,利于上手。

C++课程设计报告飞机订票管理系统

C++课程设计报告飞机订票管理系统

C++课程设计报告飞机订票管理系统一、设计背景和目的随着航空业的不断发展,飞机订票系统逐渐成为人们旅游和出行的必须工具。

为了提高飞机订票系统的效率和便捷性,开发一款好用的飞机订票管理系统显得尤为重要。

本次课程设计即以C++为编程语言,设计一款简单实用的飞机订票管理系统。

二、系统功能1、用户注册/登录用户初次使用系统需要先进行注册,填写相关信息,包括用户名、密码等,并进行确认。

之后系统将给用户分配一个专用ID。

已经注册的用户可以通过输入用户名和密码进行登录。

2、航班查询用户登录系统后,可以通过系统查询到航班信息,并可以进行筛选和排序,便于用户选择最优航班。

3、机票订购用户选择航班后,可以进行机票订购操作。

订票后,系统将保留座位,并且将相应信息存入系统数据库。

机票订购成功后,系统将显示用户订票的详细信息。

4、支付系统用户在订票后需要进行支付操作,支付成功后机票订购成功。

5、订单管理系统管理员可以对用户订票信息进行管理,并且可以对订单信息进行统计和分析,改善系统运营效率。

三、技术框架和编程实现本系统采用C++语言进行编写,使用了面向对象的编程思想,包括以下类:1、User类该类实现了用户的注册和登录功能。

其中包含属性有用户名、密码等,包含方法有注册、登录等。

2、Flight类该类实现了航班信息的查询和排序功能。

其中包含属性有航班号、起飞时间、到达时间等,包含方法有查询、排序等。

3、Ticket类该类实现了机票订购和支付功能。

其中包含属性有座位号、价格等,包含方法有订购、支付等。

4、Order类该类实现了订单管理和统计功能。

其中包含属性有订单号、用户ID、航班号和票价等,包含方法有查询、删除、统计等。

以上四个类的成员变量和成员函数实现都需要在不同的源文件里面实现,最后通过主函数进行调用和启动。

四、系统运行和测试本系统可以通过Visual Studio等C++编程环境进行调试和运行。

在本地测试中,我们可以输入不同的用户名和密码,可以查询不同的航班,并进行筛选和排序,可以订购机票并支付,也可以通过系统管理员身份对用户订单进行管理和统计。

飞机售票系统课程设计报告

飞机售票系统课程设计报告

飞机售票系统课程设计报告一、课程目标知识目标:1. 让学生理解飞机售票系统的基本概念、功能及工作原理。

2. 让学生掌握飞机售票系统中涉及的航空公司、航班、座位、票价等基本知识点。

3. 让学生了解飞机售票系统在实际应用中的数据处理和存储方法。

技能目标:1. 培养学生运用所学知识分析和设计飞机售票系统的能力。

2. 培养学生使用编程语言或工具实现飞机售票系统基本功能的能力。

3. 培养学生通过实际操作,掌握飞机售票系统的使用方法。

情感态度价值观目标:1. 培养学生对计算机科学和技术领域的兴趣,激发他们探索航空业信息化的热情。

2. 培养学生具备团队协作精神,学会与他人共同解决问题。

3. 培养学生关注社会发展,认识到信息技术在航空业中的重要作用。

课程性质分析:本课程为信息技术或计算机科学与技术相关课程的实践环节,旨在让学生将所学理论知识运用到实际项目中,提高他们的实践能力。

学生特点分析:学生为高中年级学生,具备一定的计算机操作和编程基础,对新鲜事物充满好奇心,善于团队合作。

教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的动手能力。

2. 注重培养学生的创新意识和解决问题的能力。

3. 强调团队协作,提高学生的沟通与协作能力。

二、教学内容1. 基本概念:介绍飞机售票系统的定义、功能、发展历程及在航空业中的重要性。

关联教材章节:第一章 计算机售票系统概述2. 系统架构:讲解飞机售票系统的整体架构,包括客户端、服务器端、数据库等组成部分。

关联教材章节:第二章 售票系统架构与设计3. 数据库设计:学习飞机售票系统中涉及的表结构设计,如航班信息、座位信息、旅客信息等。

关联教材章节:第三章 数据库设计4. 功能模块:详细介绍飞机售票系统的各个功能模块,如查询航班、预订机票、支付、退改签等。

关联教材章节:第四章 售票系统功能模块设计5. 编程实践:指导学生使用编程语言(如Python、Java等)或工具(如Visual Basic、Access等)实现飞机售票系统的基本功能。

C++课程设计报告:飞机订票系统

C++课程设计报告:飞机订票系统

摘要随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务,需要我们认真去完成。

本文采用C/C++作为前台开发工具,VC6.0作为程序代码的实现,旨在实现对现有飞机订票系统中遇到的各种情况进行良好的改进,是作为嵌入式系统应用于机场的良好软件。

目录目录 (3)第一章算法思想 (4)1.1 系统需求分析 (4)1.2 系统总体设计 (4)1.2.1 系统设计目标 (4)1.2.2 开发设计思想 (4)1.2.3 系统功能模块设计 (5)1.3 算法思想描述 (6)第二章算法实现.............................................................................................. ..102.1 数据结构 (10)2.2 程序模块 (10)2.3 各模块之间的调用关系 (11)2.4 源程序代码 (11)第三章测试与分析 (20)3.1 测试数据选择 (20)3.2 测试结果分析 (20)总结 (21)心得体会 (21)参考文献 (22)第一章算法思想1.1 系统需求分析随着经济全球化的推进以及企业激烈的竞争,各大机场订票系统已经越来越不能适应人们日常出行的局面,所以我们现在需要一个检索迅速、查找方便、易修改功能齐全方便的系统来适应我们的需求。

问题的提出:为了减少人工工作量,提高工作效率,使机场管理员的工作更加有效的进行。

1.2系统总体设计1.21系统设计目标本文研究开发的航空订票系统用于完成航空订票工作,有以下三个方面的目标:【1】支持航空管理公司更加便捷的管理【2】支持航空公司高效率的满足人们空行需求,包括与班机有关的订票,退票,查询等功能。

c飞机订票系统课程设计

c飞机订票系统课程设计

c飞机订票系统课程设计一、课程目标知识目标:1. 让学生理解飞机订票系统的基本原理和功能模块,掌握相关概念和术语;2. 使学生掌握数据库查询、数据输入输出、界面设计等基本编程技能;3. 帮助学生了解我国民航业的发展现状和飞机订票系统的实际应用。

技能目标:1. 培养学生运用所学知识设计和开发一个简单的飞机订票系统;2. 培养学生分析和解决实际问题的能力,提高团队协作和沟通能力;3. 培养学生运用计算机技术进行信息处理和创新能力。

情感态度价值观目标:1. 培养学生对计算机科学和民航业的兴趣,激发学习热情;2. 培养学生关注社会热点问题,增强社会责任感和使命感;3. 培养学生尊重知识产权,遵循法律法规,树立正确的价值观。

课程性质:本课程为实践性较强的学科课程,结合编程、数据库和民航知识,旨在培养学生的实际操作能力和解决问题的能力。

学生特点:学生具备一定的计算机编程基础和民航知识背景,对新鲜事物充满好奇,具备较强的动手能力和团队协作精神。

教学要求:教师应注重理论与实践相结合,充分调动学生的积极性,引导学生主动探究,注重培养学生的创新能力和实践能力。

在教学过程中,关注学生的个体差异,给予个性化指导,确保课程目标的实现。

通过课程学习,使学生能够达到预定的学习成果,为后续相关课程的学习打下坚实基础。

二、教学内容1. 理论知识:- 计算机网络基础:介绍网络通信原理,TCP/IP协议,网络编程基础;- 数据库原理:讲解数据库的基本概念,关系型数据库的设计与应用;- 民航知识:介绍民航业的发展,飞机票务系统的业务流程及功能需求。

2. 实践操作:- 界面设计:学习使用相关工具进行界面设计,制作飞机订票系统的用户界面;- 数据库操作:掌握SQL语句,实现对数据库的增删改查操作;- 编程实现:运用所学编程语言,实现飞机订票系统的核心功能。

3. 教学大纲:- 第一周:计算机网络基础,数据库原理;- 第二周:民航知识,界面设计;- 第三周:数据库操作,编程实现;- 第四周:综合实践,项目调试与优化。

飞机订票系统课程设计报告人才管理与系统完善

飞机订票系统课程设计报告人才管理与系统完善

飞机订票系统课程设计报告人才管理与系统完善关于飞机订票系统的课程设计报告的一些思路和建议。

一、选题背景和意义现代化的交通运输系统为人们的生产、生活以及经济发展带来了巨大的便利,而机票订购作为交通运输系统的重要组成部分,也越来越得到人们关注。

因此,设计一个高效、安全、可靠、方便的飞机订票系统,对于提高机票预定及购票效率,实现国内民航市场的信息化和现代化,具有非常重要的意义。

二、课程设计的主要内容和目标1. 系统需求分析:系统开发前需要对需求进行详尽的分析和规划,包括界面设计、系统数据库的设计等。

2. 数据库设计:包括数据库建模、定义数据结构、定义实体及其属性等。

3. 系统架构设计:这是整个系统的核心部分,设计需根据功能划分的模块进行构建,并确定各种关键的模块之间的交互关系,比如订单管理、票务管理、会员管理、支付管理等。

4. 系统开发与实现:基于需求分析、数据库设计以及系统架构设计,进行测试、编码、调试等,实现整个系统。

5. 系统完善:包括性能优化、安全性加固、兼容性问题的解决等。

三、在系统设计过程中需要考虑的因素1. 用户体验:系统操作应当简单、明了、易于理解,从而方便用户进行操作,提高用户的使用体验并减少操作出错的可能性。

2. 安全性:系统应当设备多种安全措施,防范用户信息泄漏或被黑客攻击,包括数据加密、用户认证、审计等。

3. 可维护性:系统中应当考虑到技术的更新换代,因此在设计时需要进行规范化开发,模块化设计。

4. 兼容性:系统应能在多种操作系统和浏览器上运行,面向多个设备进行开发,以便让更多的用户能够使用该系统。

总之,飞机订票系统的课程设计需要考虑到各种实际因素,系统设计应具有安全性、可维护性、用户体验良好的特点,同时也需要在实际中寻找更好的完善方法。

C语言课程设计报告飞机订票系统

C语言课程设计报告飞机订票系统

C语言课程设计报告飞机订票系统摘要本文是关于C语言课程设计报告飞机订票系统,它具有灵活的菜单,可以让用户轻松查看有关航班信息的详细信息,并用于购买操作。

本文旨在概述程序的全部运行流程,运用相关编程技术来实现订票系统。

关键词:C 语言课程设计,飞机订票系统,编程技术1 引言随着科技的不断发展,传统的人工订票系统已经不能满足人们的复杂需求,订票系统需要采用新技术来改进,以适应现代用户的需求。

为了建立一个高效的订票系统,我们开发了一个飞机订票系统。

它具有基于菜单式界面的灵活性,可以有效地实现飞机航班信息的查询,购票和航班信息的管理。

本报告着重介绍了构筑飞机订票系统的过程,旨在介绍编程技术以及每个模块的函数、功能实现,并概述程序的全部运行流程。

2 技术框架编写本程序的主要语言是C,采用层次功能模块结构设计,分为用户界面,数据管理,查询服务,支付服务和关系维护四个主要模块。

(1)用户界面用户界面模块主要实现功能是提供用户访问的菜单界面,用户可以在输入信息后,访问系统并根据输入信息获取反馈,进行下一步操作。

(2)数据管理数据管理包含数据结构和文件管理模块,它用来存储和管理航班信息、乘客信息等有关数据,数据在使用后可以及时写入文件。

(3)查询服务查询服务模块提供用户查询航班信息所必需的功能,根据用户输入的查询条件,提供精确的查询结果。

(4)支付服务支付服务模块用来实现订票系统和外围支付系统或服务的接口,以进行订票支付操作,以保证系统订票的安全性。

(5)关系维护关系维护模块主要负责订票系统的关系维护,保证数据的一致性,以及相联的航班和乘客信息之间的一致性。

3 设计实现(1)用户界面模块用户界面模块主要是用户与系统的交互界面,用C语言的标准输入输出实现,通过“while-switch”语句实现对不同功能的跳转。

(2)数据管理模块数据管理模块采用数组和二维字符串实现,能够有效地存储和进行订票,查询,修改和删除数据。

飞机订票系统课程设计报告讲解

飞机订票系统课程设计报告讲解

内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——飞机订票系统学生姓名:XXX学号:XXXX专业:计算机科学与技术班级:计2014-2指导教师:XXXX日期: 2015 年 1 月 9日内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书I内蒙古科技大学课程设计说明书目录内蒙古科技大学课程设计任务书 (I)目录.........................................................................................................I I 第一章需求分析 (3)1.1引言 (3)1.2任务概述 (4)1.3数据描述 (4)1.4功能需求 (4)1.5性能需求 (4)1.6运行需求 (4)1.7任务计划 (5)第二章概要设计 (6)2.1总体设计 (6)2.2数据类型设计(或数据结构设计) (6)2.3接口设计 (7)2.4运行界面设计 (7)第三章详细设计 (10)3.1输入模块设计 (10)3.2输出模块设计 (11)3.3查找模块设计 (12)3.4排序模块设计 (14)3.5保存及读取模块设计 (15)第四章测试分析 (17)4.1测试程序执行情况 (17)4.2测试结果及出现的问题和解决的方法 (17)第五章课程设计总结 (22)附录:程序代码 (23)参考文献 (35)鸣谢·······················································································错误!未定义书签。

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

内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——飞机订票系统学生姓名:XXX学号:XXXX专业:计算机科学与技术班级:计2014-2指导教师:XXXX日期: 2015 年 1 月 9日内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书I内蒙古科技大学课程设计说明书目录内蒙古科技大学课程设计任务书 (I)目录.........................................................................................................I I 第一章需求分析 (3)1.1引言 (3)1.2任务概述 (4)1.3数据描述 (4)1.4功能需求 (4)1.5性能需求 (4)1.6运行需求 (4)1.7任务计划 (5)第二章概要设计 (6)2.1总体设计 (6)2.2数据类型设计(或数据结构设计) (6)2.3接口设计 (7)2.4运行界面设计 (7)第三章详细设计 (10)3.1输入模块设计 (10)3.2输出模块设计 (11)3.3查找模块设计 (12)3.4排序模块设计 (14)3.5保存及读取模块设计 (15)第四章测试分析 (17)4.1测试程序执行情况 (17)4.2测试结果及出现的问题和解决的方法 (17)第五章课程设计总结 (22)附录:程序代码 (23)参考文献 (35)鸣谢·······················································································错误!未定义书签。

II内蒙古科技大学课程设计说明书第一章需求分析1.1引言随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。

订票系统在现实生活中应用很广泛,通过这个系统可以使订票、退票等变得简便。

与传统的人工用纸、笔来记录办理订票、退票等相比,使用这个系统也会增加工作效率随着科学技术的不断发展,计算机科学日渐成熟,其强大功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。

采用计算机进行信息化管理已成为衡量各个国家科学化和现代化的重要标志,而交通方式的全面自动化、信息化则是其中重要的组成部分,在很大程度上影响着企业的经济效益和社会效益。

因此,本文所研究的航空订票系统具有一定的使用价值和现实意义。

随着科技与经济的发展,越来越多的人选择乘飞机,这跟我国的经济增长有很大关系,人们在追求快节奏的生活方式,所以做飞机无疑成了首选。

而且随着网络的盛行,航空订票系统就显得尤为重要,这个系统主要是为了方便大家,让大家能够快速、清晰、准确地了解航班信息,而不至于像以前那样排队等候,从而避免耽搁乘客大量的等待时间。

完成此系统,需要综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发。

通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。

学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。

3内蒙古科技大学课程设计说明书1.2任务概述假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。

试设计一民航订票系统,使之能提供下列服务:❖航班信息录入功能(航班信息用文件保存)--输入❖航班信息浏览功能--输出❖查询航线:(至少两种查询方式)--算法●按航班号查●按终点站查询❖承办订票和退票业务1.3数据描述航班管理系统有如下数据:(1班号(2.机票数(3.时间(4.起点站(5.终点站(6.航线1.4功能需求1.新建文件,读取文件,保存到文件2.添加3.修改4.查找5.删除1.5性能需求开发环境:PC机,windows系统使用软件:制作程序:Microsoft Visual C++ 6.0硬件要求:1M以上扩充内存,10M以上的显示内存1.6运行需求本文所采用的开发环境主要是基于VC6.0和基于面向对象程序设计的c++。

VC是个平台开工具。

该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS 平台下的功能,软件环境:内置MS-DOS5.或者windows98及4内蒙古科技大学课程设计说明书以上系统。

且有中文平台,如:UCDOS等。

1.7任务计划(1)每条航线所涉及带的信息有:终点站名、航班号、飞行日期、余票量。

(2)输出形式为:==========================1.航班信息录入2.航班信息浏览3.查询航线(按航班号)4.查询航线(按终点站)5.查询航线(按起点站)6.航班排序(按航班号)7.订票业务8.退票业务0.退出==========================(3)系统能实现的操作功能如下:①查询航线:根据旅客提出的终点站名输出下列信息:航班号、起点站、终点站、星期几飞行、余票额;②承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班的票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于订票额,则需重新询问客户要求。

若需要,可登记排队候补;③承办退票业务:根据客户提供的情况为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的需求,则为他办理订票手续,否则,依次询问其他排队候补客户。

测试实例:例子某客户输入订票信息:北京到上海,星期一,所需票数3张;系统输出:航班号余票该客户选择航班号为1000的航班;则该航班余票变为37张。

5内蒙古科技大学课程设计说明书第二章概要设计2.1总体设计2.2数据类型设计(或数据结构设计)struct air //定义结构体数组{int num;char start[20];char over[20];char time[10];int count;}s[N];6内蒙古科技大学课程设计说明书2.3接口设计表2.1:函数列表2.4运行界面设计1运行主菜单:printf("==========================\n");printf("1.航班信息录入\n""2.航班信息浏览\n""3.查询航线(按航班号)\n""4.查询航线(按终点站)\n""5.查询航线(按起点站)\n""6.航班排序(按航班号)\n""7.订票业务\n""8.退票业务\n""0.退出\n");printf("==========================\n");7内蒙古科技大学课程设计说明书printf("请在0-8中选择以回车键结束:");界面如下:1子主菜单:printf("请依次输入航班信息(以回车键结束):\n");printf("----------------------------\n");for(i=0;i<N;i++){printf("请输入航班号: ");scanf("%d",&s[i].num);printf("请输入起始站: ");scanf("%s",s[i].start);printf("请输入终点站: ");scanf("%s",s[i].over);printf("请输入时间(星期几): ");scanf("%s",s[i].time);printf("请输入机票数: ");scanf("%d",&s[i].count);fwrite(&s[i],sizeof(struct air),1,fp);m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);8内蒙古科技大学课程设计说明书}2.航班显示菜单:void output() //定义输出格式函数{printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n");for(i=0;i<m;i++)printf(PRINT);//打印出信息}9第三章详细设计3.1输入模块设计输入模块1:void build() //定义建立数据文件函数{FILE *fp; //定义文件指针if((fp=fopen("hangban.txt","wb"))==NULL) //打开文件并判定是否出错{printf("创建文件失败! ");getchar();return;}printf("请依次输入航班信息(以回车键结束):\n");printf("----------------------------\n");for(i=0;i<N;i++){printf("请输入航班号: ");scanf("%d",&s[i].num);printf("请输入起始站: ");scanf("%s",s[i].start);printf("请输入终点站: ");scanf("%s",s[i].over);printf("请输入时间(星期几): ");scanf("%s",s[i].time);printf("请输入机票数: ");scanf("%d",&s[i].count);fwrite(&s[i],sizeof(struct air),1,fp);m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);if(strcmp(ii,"y")!=0) //判断是否继续添加航班信息{fclose(fp); //关闭文件return;}}}输入模块2:void add() //定义增加航班信息函数{char ch;do{printf("请依次输入您要增加的航班信息(以回车键结束): \n"); //打印提示信息printf("----------------------------\n");printf("请输入航班号: ");scanf("%d",&s[m].num);printf("请输入起始站: ");scanf("%s",s[m].start);printf("请输入终点站: ");scanf("%s",s[m].over);printf("请输入时间: ");scanf("%s",s[m].time);printf("请输入机票数: ");scanf("%d",&s[m].count);m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf(" %c",&ch); //%前有一个空格}while(ch=='y'||ch=='Y'); //判断是否继续添加}3.2输出模块设计输出模块1:输出格式函数void output(){printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n");for(i=0;i<m;i++)printf(PRINT);//打印出信息}输出模块2:显示航班信息函数void print(){printf("\n目前我们有如下航班:\n");output(); //调用输出格式函数printf("\n请按回车键返回上层菜单");getchar();}3.3 查找模块设计查找模块(按航班号查询):查询函数void search(){int n;do{printf("\n请输入航班号:");scanf("%d",&n); //输入查询的航班号for(i=0;i<m;i++){if(s[i].num==n) //按航班号判定输出条件{printf("\n您所查找的航班信息为:\n ");printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n");printf(PRINT); //显示信息printf("\n查询完毕,按回车键继续");getchar();getchar();return;}}printf("\n对不起,没有您需要的信息!\n ");printf("是否重新查找?请键入y或n以回车键结束");scanf("%s",ii);}while(!strcmp(ii,"y"));//判定是否重新查找}查找模块(按终点站查询):void search2() //定义查询函数{char c[20];do{printf("\n请输入终点站:");scanf("%s",c); //输入查询的终点站for(i=0;i<m;i++){if(strcmp(s[i].over,c)==0) //按终点站判定输出条件{printf("\n您所查找的航班信息为:\n ");printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n");printf(PRINT); //显示信息printf("\n查询完毕,按回车键继续");getchar();getchar();return;}}printf(" 对不起,没有您需要的信息!\n ");printf("是否重新查找?请键入y或n以回车键结束");scanf("%s",ii);}while(!strcmp(ii,"y"));//判定是否重新查找}查找模块(按起点站查询):void search3() //定义查询函数{char c[20];do{printf("\n请输入起点站:");scanf("%s",c); //输入查询的起点站for(i=0;i<m;i++){if(strcmp(s[i].start,c)==0) //按终点站判定输出条件{printf("\n您所查找的航班信息为:\n ");printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n");printf(PRINT); //显示信息printf("\n查询完毕,按回车键继续");getchar();getchar();return;}}printf(" 对不起,没有您需要的信息!\n ");printf("是否重新查找?请键入y或n以回车键结束");scanf("%s",ii);}while(!strcmp(ii,"y"));//判定是否重新查找}3.4排序模块设计排序模块:void paixu() //定义排序函数{int n;printf("\n***************************\n ");printf("1.按航班号从小到大排序\n"" 2.按航班号从大到小排序\n");printf("***************************\n ");printf("请在1-2中选择以回车键结束:");scanf("%d",&n);switch(n){case 1:paixu1();//调用从小到大排序函数break;case 2:paixu2();//调用从大到小排序函数break;}printf("排序后的航班信息为:\n");output(); //显示排序后航班信息printf("\n请按回车键返回上层菜单");getchar();}从小到大排序函数void paixu1(){int k,j;struct air t;for(i=0;i<m;i++) //选择法排序{k=i;for(j=i+1;j<m;j++)if(s[k].num>s[j].num)k=j;if(i!=k){t=s[k];s[k]=s[i];s[i]=t;}}}从大到小排序函数:void paixu2()int k,j;struct air t;for(i=0;i<m;i++){k=i;for(j=i+1;j<m;j++)if(s[k].num<s[j].num)k=j;if(i!=k){t=s[k];s[k]=s[i];s[i]=t;}}}3.5保存及读取模块设计读取文件函数:void read(){FILE *fp;if((fp=fopen("hangban.txt","r"))==NULL){printf("创建文件失败! ");getchar();return;}i=0;while(!feof(fp)){fread(&s[i],sizeof(struct air),1,fp); //逐块读取数据i++;m++; //计算存在航班数}m--;fclose(fp);}void save() //定义保存函数{FILE *fp;if((fp=fopen("hangban.txt","wb"))==NULL){printf("创建文件失败! ");getchar();return;}for(i=0;i<m;i++) //逐块保存数据fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);}保存函数void save(){FILE *fp;if((fp=fopen("hangban.txt","wb"))==NULL){printf("创建文件失败! ");getchar();return;}for(i=0;i<m;i++) //逐块保存数据fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);}第四章测试分析4.1测试程序执行情况测试数据:航班号起始站终点站时间机票数370 北京上海星期二500747 天津广州星期一600757 包头南京星期五400 4.2测试结果及出现的问题和解决的方法1:软件运行界面在0—8中可选取需要的功能2:航班信息录入3:航班信息的浏览4:查询航线(按航班号)5:查询航线(按终点站)6:查询航线(按起点站)7:订票业务8:退票业务当输入不合法数据时会有下列情况:软件存在的问题:在数据初始化的时候未对数据按照一定的顺序存放,如果航线信息较多时将影响系统功能解决办法:输入多个航班是使用功能六对航班进行排序即可。

相关文档
最新文档