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

合集下载

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】支持航空公司高效率的满足人们空行需求,包括与班机有关的订票,退票,查询等功能。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

飞机订票系统c语言课程设计

飞机订票系统c语言课程设计

飞机订票系统 c语言课程设计一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握飞机订票系统的功能、结构及其相关原理;技能目标要求学生能够运用C语言独立完成飞机订票系统的开发;情感态度价值观目标要求学生培养团队协作意识,增强对计算机编程的兴趣。

通过对课程性质、学生特点和教学要求的分析,我们将目标分解为具体的学习成果。

首先,学生需要理解飞机订票系统的业务流程,掌握C语言的基本语法和编程技巧;其次,学生能够运用所学的知识独立完成飞机订票系统的开发,提高实际操作能力;最后,学生在团队协作过程中培养沟通与协作能力,增强对计算机编程的兴趣和自信心。

二、教学内容本课程的教学内容主要包括飞机订票系统的功能介绍、C语言基础知识、飞机订票系统的模块划分和编程实现。

首先,介绍飞机订票系统的功能,包括用户注册、登录、航班查询、机票预订、支付结算等模块。

其次,讲解C语言的基本语法、数据类型、运算符、控制结构等基础知识。

接着,对飞机订票系统进行模块划分,引导学生了解各模块之间的关系和功能实现。

最后,分别针对各个模块,引导学生运用C语言进行编程实现,完成飞机订票系统的开发。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法。

包括讲授法、讨论法、案例分析法和实验法等。

首先,通过讲授法向学生传授飞机订票系统的相关知识和C语言的基本语法。

其次,采用讨论法引导学生针对飞机订票系统的功能和模块划分进行深入探讨,提高团队协作能力。

然后,运用案例分析法分析实际开发过程中遇到的问题,培养学生解决问题的能力。

最后,通过实验法让学生动手实践,独立完成飞机订票系统的开发,提高实际操作能力。

四、教学资源本课程所需的教学资源包括教材、参考书、多媒体资料和实验设备。

教材方面,我们将选用《C语言程序设计》作为主教材,辅以《飞机订票系统设计与实现》等相关参考书。

多媒体资料包括教学PPT、视频教程等,以丰富教学手段,提高学生的学习兴趣。

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

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

C语言课程设计题目:飞机订票系统专业:。

学号:。

:。

任课教师:。

C语言课程设计报告一、课程设计报告正文(1)课程设计题目的原文;假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。

试设计一民航订票系统,使之能提供下列服务:航班信息录入功能(文件保存)完成航班信息浏览功能;查询航线(至少一种查询方式)。

(2)题目的分析(需求分析);任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中)浏览:航班信息浏览功能需要提供显示操作;查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。

(3)整体设计与模块划分;根据需求分析,该程序可分为以下四大模块:(4)代码设计;包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析等等;二、航班基本信息输入模块航班信息录入函数:航班信息浏览函数:[流程图]显示信息查询模块:分析:基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。

在查询小模块中采用了直接查找的方法。

本模块可以通过多种查询方式进行完善。

这是本程序没有做的地方。

[流程图](一)核心源程序清单和执行结果:a)源程序清单:#include<stdio.h>#include<stdlib.h>#include<io.h>#include<math.h> //标准输入、输出头文件#include<string.h> //包含字符串函数处理头文件#include<process.h> //包含access函数的头文件#define N 1000 //定义最多的航班数#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //宏定义输出格式struct air //定义结构体数组{int num; //定义航班号char start[20]; //航班起始站char over[20]; //终点站char time[10]; //飞行时间int count; //机票数量}s[N];int i,m=0; //定义全局变量char ii[10];void add(); //函数声明增加航班信息函数void print(); //显示航班信息void search(); //查找航班信息void read(); //读取文件void save(); //保存文件void output(); //输出格式void chushihua(); //系统初始化void build(); //建立数据文件void main() //主函数{int j;chushihua(); //系统初始化判断是否存在原始数据文件printf(" O(^_^)O欢迎使用飞机订票系统O(^_^)O \n"); //打印出系统主界面do{printf("===================================================================== =========== ");printf(" 1.增加航班信息\n"" 2.浏览航班信息\n"" 3.查找航班信息(按航班号)\t\t\n"" 0.退出\n");printf("================================================================================ ");printf("请在0-3中选择以回车键结束:");scanf("%d",&j);switch(j){case 1: add(); //调用增加航班函数break;case 2:print(); //调用显示模块break;case 3:search(); //调用查找模块break;case 0: //退出系统save();printf("使用,再见!( ^_^ )/~~ \n ");break;}}while(j!=0); //判断是否调用其他函数}void chushihua() //定义系统初始化函数{if(access("hangban.dat",0)){build();}elseread();}void build() //定义建立数据文件函数{FILE *fp; //定义文件指针if((fp=fopen("hangban.dat","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;}}}void read() //定义读取文件函数{FILE *fp;if((fp=fopen("hangban.dat","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.dat","wb"))==NULL){printf("创建文件失败! ");getchar();return;}for(i=0;i<m;i++) //逐块保存数据fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);}void add() //定义增加航班信息函数{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("%s",ii);}while(!strcmp(ii,"y")); //判断是否继续添加}void output() //定义输出格式函数{printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n"); //信息标题for(i=0;i<m;i++)printf(PRINT);//打印出信息}void print() //定义显示航班信息函数{printf("\n目前我们有如下航班:\n");output(); //调用输出格式函数printf("\n请按回车键返回上层菜单");getchar();getchar();}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"));//判定是否重新查找}1)第一次运行程序(输入初始数据)界面提示输入原始数据:请输入航班号→请输入起始站→请输入终点站→请输入飞行时间→请输入机票数。

航空订票系统课程设计

航空订票系统课程设计

航空订票系统课程设计一、课程目标知识目标:1. 让学生理解航空订票系统的基本概念,掌握其功能模块和工作原理。

2. 使学生掌握数据库查询、数据传递和数据处理的基本方法。

3. 帮助学生了解航空公司的运营策略和机票定价机制。

技能目标:1. 培养学生运用所学知识设计简单的航空订票系统,具备实际操作能力。

2. 培养学生分析问题、解决问题的能力,学会在实际项目中运用数据库技术。

3. 提高学生的团队协作能力,学会在项目中分工合作,共同完成任务。

情感态度价值观目标:1. 激发学生对计算机科学的兴趣,培养其主动学习的热情。

2. 培养学生的责任心,使其认识到严谨、细致的工作态度在项目实施中的重要性。

3. 增强学生的自信心,使其相信通过努力可以掌握复杂的计算机技术。

本课程针对高年级学生,结合航空订票系统课程特点,注重理论与实践相结合,旨在提高学生的实际操作能力和解决问题的能力。

课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,并为后续的教学设计和评估提供依据。

二、教学内容1. 航空订票系统概述:介绍航空订票系统的基本概念、发展历程和功能模块,结合课本第二章内容,让学生对航空订票系统有整体的认识。

2. 数据库查询与处理:讲解数据库的基本原理,以课本第四章内容为基础,教授SQL查询语句、数据传递和数据处理方法,为设计航空订票系统奠定基础。

3. 航空公司运营策略与机票定价机制:分析航空公司的运营策略,结合课本第五章内容,介绍机票定价机制,帮助学生了解行业背景。

4. 航空订票系统设计:根据课本第六章内容,详细讲解航空订票系统的设计方法,包括系统架构、模块划分、功能实现等,指导学生进行实际操作。

5. 实践项目:组织学生分组进行航空订票系统设计实践,结合前述章节内容,完成以下任务:a. 设计并实现一个简单的航空订票系统;b. 编写系统需求分析、设计说明书;c. 进行系统测试,确保系统功能的正确性和稳定性。

6. 教学进度安排:共安排10个课时,具体如下:a. 第1-2课时:航空订票系统概述;b. 第3-4课时:数据库查询与处理;c. 第5-6课时:航空公司运营策略与机票定价机制;d. 第7-8课时:航空订票系统设计;e. 第9-10课时:实践项目指导与展示。

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

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

青岛理工大学C++面向对象课程设计报告院(系):计算机工程学院专业:软件工程学生姓名:班级软件131班学号:题目:飞机订票管理系统设计____起迄日期:_2015。

6.29~2015。

7.10 设计地点:计算机学院机房指导教师:翟正利丁凡完成日期: 2015 年7月 10 日C++面向对象课程设计任务书题目24“飞机订票管理系统设计”1、问题描述:航空客运订票的业务包括:查询航班、客票预订和办理退票等。

试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。

2.功能要求:(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量);(2)作为示意系统,全部数据可以只放在内存中;(3)系统能实现的操作和功能如下:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。

承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补;承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。

修改航班信息:当航班信息改变可以修改航班数据文件.(选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。

3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。

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

飞机订票系统课程设计报告指导老师:班级:学生姓名:学号:完成日期:计算机科学与技术系飞机订票系统课程设计报告一、系统分析。

1.1根据飞机订票系统的设计目的,设计内容和设计要求。

本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。

最终我们决定将整个系统分成7个主要模块。

采用结构体这一数据结构来存放教师的信息。

首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。

为降低操作难度,以及出错率,决定使用全局数组及变量进行操作。

1.2飞机订票系统简易图二、系统设计2.1总体设计(主要功能)本程序包含六大主要模块①添加信息模块;②浏览信息模块;③信息查询模块;④信息排序模块;⑤订票模块;⑥退票模块。

整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。

宏定义输出格式。

采用Y,N的方式进行操作回退或继续操作的选择。

航班信息包括:航班号,起点,终点,票价,数量及订票标志量(隐藏信息)。

输入模块,使用分条输入,以减少错误率并方便操作。

浏览,查询及排序模块,组合成输出模块。

多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。

订,退票模块调用查询模块实现其功能。

2.2 软件、硬件环境软件环境 VC2009硬件环境处理器Intel(R)Core(TM)******************* 2.50GHz;显卡 GTX650。

内存 4.0GB操作系统 Windows 72.3主要数据结构和程序的关系说明主要数据结构是结构体struct hbxx //定义结构体数组,航班信息{int hbh; //定义航班号char qd[20]; //起点站char zd[20]; //终点站float pj; //票价int sl; //机票数量int dcp; //订票标志量}fj[N];2.4界面设计本程序开始运行的界面,共7个选项,简洁而大方。

接下来是添加信息的界面。

采用分条添加,清晰而明朗。

浏览信息的界面,将所有航班信息显示在屏幕上。

查询航班信息界面,根据用户输入的航班号,显示其航班信息。

便于用户使用,查找。

航班排序界面,将所有航班根据航班号进行排序,可由用户选择是由大到小,还是由小到大。

订票界面,由用户输入需要订票的航班号,在进行订票操作。

退票界面。

2.5函数模块设计(函数功能说明和入口参数的说明)void xxtj(); //信息添加的函数void xianshi(); //显示航班信息void chazhao(); //查找航班信息void dingpiao(); //订票业务void tuipiao(); //退票业务void duqu(); //读取文件void baocun(); //保存文件void scgs(); //输出格式函数void paixu(); //航班排序void chushihua(); //系统初始化void jianli(); //建立数据文件void paixu1(); //按航班号从小到大排void paixu2(); //从大到小三、系统实现主要代码//飞机订票系统//头文件#include<stdio.h> //标准输入,输出函数#include<string.h> //包含字符串处理的头文件#include<process.h> //包含access的头文件,用于系统初始化#define N 9999 //定义最大航班数#define PRINT "%d\t\t%s\t\t%s\t\t%.2f\t\t%d\n",fj[i].hbh,fj[i].qd,fj[i].zd,fj[i].pj ,fj[i].sl//宏定义输出格式▲struct hbxx //定义结构体数组,航班信息{int hbh; //定义航班号char qd[20]; //起点站char zd[20]; //终点站float pj; //票价int sl; //机票数量int dcp; //订票标志量}fj[N];int i,m=0; //定义全局变量char pd[10]="y";//函数声明void xxtj(); //信息添加的函数——芦杰void xianshi(); //显示航班信息——祁海鹏void chazhao(); //查找航班信息——祁海鹏void dingpiao(); //订票业务——李平void tuipiao(); //退票业务——李平void duqu(); //读取文件——蔡晓宏void baocun(); //保存文件——蔡晓宏void scgs(); //输出格式函数——祁海鹏void paixu(); //航班排序——李平void chushihua(); //系统初始化——芦杰void jianli(); //建立数据文件——芦杰void paixu1(); //按航班号从小到大排——蔡晓宏void paixu2(); //从大到小——蔡晓宏//主函数void main() //主函数———李平{int j;chushihua(); //系统初始化判断是否存在原始的数据文件printf(" 欢迎使用飞机订票系统\n");//打印出系统主界面do{printf("========================================================= ====================\n""\t\t\t1.添加航班信息。

\n""\t\t\t2.浏览航班信息。

\n""\t\t\t3.查询航班信息。

\n""\t\t\t4.航班信息排序。

\n""\t\t\t5.订票业务。

\n""\t\t\t6.退票业务。

\n""\t\t\t0.退出。

\n""================================================================ ===============\n");printf("请在0-6中选择以回车键结束:");scanf("%d",&j);switch(j){case 1:xxtj();break; //调用信息添加函数case 2:xianshi();break; //调用显示模块case 3:chazhao();break; //调用查找模块case 4:paixu();break; //调用排序函数case 5:dingpiao();break;//调用订票模块case 6:tuipiao();break; //调用退票模块case 0:{baocun();printf("谢谢使用,再见!\n");}break;default:printf("输入有误!\n");break;}}while(j!=0); //判断是否调用其他函数}void chushihua() //定义系统初始化函数——卢杰{if(access("fjdpxt.dat",0)){jianli();}else{duqu();}}void jianli() //定义建立数据文件函数——卢杰{FILE *fp;if((fp=fopen("fjdpxt.dat","wb"))==NULL) //打印文件判断是否出错{printf("创建文件失败!"); //打印出错提示getchar();return;}printf("请依次输出航班信息(以回车键结束):\n"); //打印提示信息printf("-----------------------------------------------------------------------------\n");for(i=0;i<N;i++){printf("请输入航班号:");scanf("%d",&fj[i].hbh);printf("请输入起始站:");scanf("%s",fj[i].qd);printf("请输入终点站:");scanf("%s",fj[i].zd);printf("请输入票价:");scanf("%f",&fj[i].pj);printf("请输入机票数:");scanf("%d",&fj[i].sl);fwrite(&fj[i],sizeof(struct hbxx),1,fp);m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",pd);if(strcmp(pd,"y")!=0) //判断是否继续添加航班信息{fclose(fp); //关闭文件return;}}}void duqu() //定义读取文件函数——蔡晓宏{FILE *fp;if((fp=fopen("fjdpxt.dat","r"))==NULL){printf("创建文件失败!");getchar();return;}i=0;while(!feof(fp)) //判断是否遇到文件结束,fread(&fj[i],sizeof(struct hbxx),1,fp); //逐块读取数据i++;m++; //计算存在的航班数}m--;fclose(fp);}void baocun() //定义保存函数——蔡晓宏{FILE *fp;if((fp=fopen("fjdpxt.dat","wb"))==NULL){printf("创建文件失败!");getchar();return;}for(i=0;i<m;i++) //逐块保存数据fwrite(&fj[i],sizeof(struct hbxx),1,fp);fclose(fp);}void xxtj() //定义添加航班信息函数——卢杰{do{printf("请依次输入您要添加的航班信息(以回车键结束):\n");//打印提示信息printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n ");printf("请输入航班号:");scanf("%d",&fj[m].hbh);printf("请输入起点站:");scanf("%s",fj[m].qd);printf("请输入终点站:");scanf("%s",fj[m].zd);printf("请输入票价:");scanf("%f",&fj[m].pj);printf("请输入机票数:");scanf("%d",&fj[m].sl);m++;printf("添加完毕,是否继续添加?请键入y或者n以回车键结束:");scanf("%s",pd);}while(!strcmp(pd,"y")); //判断是否继续添加}void scgs() //定义输出格式——祁海鹏{printf("航班号\t\t起始站\t\t终点站\t\t价格\t\t机票数\n"); //信息标题for(i=0;i<m;i++)printf(PRINT);//打印出信息}void xianshi() //定义显示航班信息函数——祁海鹏{printf("\n目前我们有如下航班:\n");scgs(); //调用输出格式函数printf("\n请按回车键返回上层菜单");getchar();getchar();}void chazhao() //定义查询函数——祁海鹏{int n;do{printf("\n请输入航班号:");scanf("%d",&n); //输入查询的航班号for(i=0;i<m;i++){if(fj[i].hbh==n) //按航班号判定输出条件{printf("\n您所查找的航班信息为:\n");printf("航班号\t\t起始站\t\t终点站\t\t票价\t\t机票数\n\n");printf(PRINT); //显示信息strcpy(pd,"y");printf("\n查询完毕,按回车键继续");getchar();getchar();return;}}printf("\n对不起,没有您需要的信息!\n");printf("是否重新查找?请键入y或n以回车键结束:");scanf("%s",pd);}while(!strcmp(pd,"y")); //判断是否重新查找}void dingpiao() //定义订票业务函数——李平{char a[10]="y";do{chazhao(); //调用查询模块if(strcmp(pd,"y")){printf("对不起!没有找到您所需要的航班,所以不能订票。

相关文档
最新文档