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

合集下载

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++面向对象课程设计报告院(系):计算机工程学院专业:软件工程学生姓名:班级软件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. 让学生掌握飞机订票系统的基本概念、功能模块及其操作流程。

2. 使学生了解数据库在飞机订票系统中的作用,学会使用SQL语句进行基本的数据查询和操作。

3. 帮助学生理解航班查询、座位选择、支付流程等关键环节的技术实现。

技能目标:1. 培养学生运用所学知识,设计并实现一个简单的飞机订票系统。

2. 提高学生分析问题、解决问题的能力,使其能够根据用户需求进行系统功能的优化和调整。

3. 培养学生团队协作、沟通表达的能力,能够就设计方案进行有效的讨论和改进。

情感态度价值观目标:1. 培养学生对计算机科学技术的兴趣和热情,提高其学习积极性。

2. 培养学生严谨、认真的学习态度,养成良好的编程习惯。

3. 引导学生关注信息技术在现实生活中的应用,认识到科技对社会发展的推动作用。

课程性质:本课程为信息技术课程,结合实际案例,教授飞机订票系统的设计与实现。

学生特点:学生具备一定的计算机操作能力和编程基础,对实际应用具有较强的兴趣。

教学要求:结合课本知识,注重实践操作,培养学生的实际操作能力和团队协作能力。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。

在教学过程中,注重分解课程目标,确保学生能够达到预期学习成果。

二、教学内容1. 飞机订票系统概述- 了解飞机订票系统的基本概念、发展历程及应用场景。

- 分析系统的主要功能模块,如用户模块、航班模块、订单模块等。

2. 数据库基础- 学习数据库的基本概念,掌握SQL语句的使用。

- 结合飞机订票系统,设计数据库表结构,实现数据存储和查询。

3. 系统设计与实现- 分析飞机订票系统的需求,设计系统功能模块。

- 学习界面设计、业务逻辑处理及数据库操作等关键技术。

- 根据用户需求,编写程序实现航班查询、座位选择、支付流程等功能。

4. 系统测试与优化- 了解系统测试的基本方法,对飞机订票系统进行功能测试和性能测试。

机票预订系统系统设计报告

机票预订系统系统设计报告1. 引言机票预订系统是现代航空业务中不可或缺的重要组成部分。

随着航空旅行的普及,人们对于机票预订系统的需求越来越多。

本报告旨在设计一个高效、可靠并且用户友好的机票预订系统。

2. 系统设计目标- 提供用户友好的界面:系统应该提供简洁明了、易于使用的界面,以方便用户进行机票查询、选择和预订操作。

- 快速响应及准确性:系统应能够在用户提交查询或预订请求后迅速返回结果,并保持数据的准确性。

- 灵活多样的功能:系统应提供灵活多样的功能,比如机票查询、价格比较、航班时间表、航空公司评价等。

- 高性能和扩展性:系统应具备高性能的特点,能够支持大量用户的并发访问;同时应能够方便地进行扩展,以适应不断增长的用户需求。

3. 系统设计架构3.1 前端设计机票预订系统的前端界面应该具备友好的用户体验,界面设计应简洁明了,符合用户习惯。

常见的前端技术如HTML、CSS和JavaScript等可以用来实现前端界面设计。

3.2 后端设计后端设计主要包括数据库设计和业务逻辑设计。

3.2.1 数据库设计数据库设计是机票预订系统的核心部分。

数据库应该包含必要的表以保存航班信息、用户信息、订单信息等。

可以使用关系型数据库如MySQL 或非关系型数据库如MongoDB等来存储数据。

3.2.2 业务逻辑设计业务逻辑设计应包括用户注册、登录、机票查询、价格比较、预订订单等基本功能的设计。

在设计过程中应考虑到用户需求的多样性和系统的可扩展性。

3.3 系统架构设计系统可以采用三层架构设计,将前端、后端和数据库相分离。

前端负责用户界面交互,后端处理业务逻辑,数据库存储数据。

采用这样的架构有利于系统的扩展和维护。

4. 系统功能实现在机票预订系统中应该实现以下功能:- 用户注册和登录功能:用户可以注册一个账号并进行登录以使用系统的各项功能。

- 机票查询功能:用户可以根据出发地、目的地和日期等条件进行机票查询。

- 价格比较功能:系统应能够自动比较不同航空公司的机票价格,并给出最低价格。

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

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

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

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

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

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

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

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

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

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

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

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

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及以上系统。

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

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

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

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

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

第二章概要设计2.1总体设计2.2数据类型设计(或数据结构设计)struct air //定义结构体数组{int num;char start[20];char over[20];char time[10];int count;}s[N];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");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);}2.航班显示菜单:void output() //定义输出格式函数{printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n");for(i=0;i<m;i++)printf(PRINT);//打印出信息}第三章详细设计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:退票业务当输入不合法数据时会有下列情况:软件存在的问题:在数据初始化的时候未对数据按照一定的顺序存放,如果航线信息较多时将影响系统功能解决办法:输入多个航班是使用功能六对航班进行排序即可。

相关文档
最新文档