数据结构大作业-航空公司订票系统

数据结构大作业-航空公司订票系统
数据结构大作业-航空公司订票系统

航空公司订票系统

一、我的认识和设计思路

1.我充分利用数据结构课程设计,利用几种典型数据结构(链表,队列,线性表等结构),结合上学期学习的程序设计语言(C/C++语言),链表是实现存储空间动态管理的链式存储结方式,而队是一种操作受限的线性表。使用大量指针,来实现一个比较完整的应用系统的设计与开发。

2.我通过课程设计一些程序的调试(比如背包问题,病人看病模拟程序,停车场管理程序),通过比较系统的分析、编程和不断调试,进一步理解和掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。基本上达到了复习的要求。

3.我将知识应用于实际的方法,联想到售票系统的使用,也可以提高综合能力。所以我选择了航空订票系统,也可以应用于其他售票系统。

航空空订票系统所涉及的知识:

(1)熟练掌握链表存储结构及其建立过程和常用操作;

(2)熟练掌握队列的建立过程和常用操作;

(3)学会自己调试程序。

4. 通过上网查询和结合实际可知,航空客运订票的业务活动包括:查询航线、客票预订和办理退票等等。设计了一个航空公司订票系统,以使上述业务可以借助计算机来完成。

下面是一些程序功能设想:

1.每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);

2.全部数据可以只放在内存中;

3.系统能实现的操作和功能如下:

a) 查询航线:

根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;

b) 承办订票业务:

根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,

输出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。若需要,可登记排队候补;

c) 退票业务:

根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。

功能系统图:

实现的功能模块说明

(1)显示全部航线的信息;

(2)查询订票客户的信息;

(3)根据客户提供的终点站,调用find()函数进行查找,调用list()函数输出航线信息;

(4)办理订票业务:根据客户提供的航班号进行查询航线信息,若客户订票额超过乘员定票总额,退出,若客户订票额末超过余票量,订票成功并登记信息,在订票乘员名单域中添加客户信息;如果暂时没有票,询问客户是否要排队等侯,如果是,则在等候队列增加该客户的订票信息。

(5)办理退票业务:调用查询函数,根据客户提供的航线进行搜索根据客户提供的姓名到订票客户名单域进行查询。退票成功后,重新将航线名单域指向订票单链表的头指针。根据队列中从出的客户信息判断是否满足要求,如果满足,则将该客户的信息插入到乘客信息链表中。

(6)退出本系统

二、我进行了以下改进:

(1)主函数的表达方式。菜单界面的的改进:

case 5:

drop_out= -1; break;

default:

printf("选择有误\n"); } } }

switch(menu_select()){ case 1:list();break; case 2:prtlink();break;

case 3:search();break; case 4:order();break; case 5:return_tkt();break;

case 6:printf("\n 欢迎使用本系统,再见!\n");exit(0);}

printf("\nPress any key to continue!\n"); getch();//}}

三、详细设计及运行结果

(1)显示已初始化的全部航线信息

(2)浏览已订票客户信息

(3)查询航线

四、改进后的运行结果:(窗口反而变得简单,明了)

1、浏览航线信息:

2、查询航线:

3、办理退票手续:

4办理订票和查询客户信息:

五、总结和体会

总体的思路和过程

我在编译和调试的时候,选择Visual C++6.0,因为实验室的工具有些欠缺,通过上网和同学交流,进行了改进,在自己的计算机上更改了入径之后,该工具比较稳定,在使用调试这个强大工具时才发现上学期的遗留问题,还不是很熟悉。这需要今后进一步的练习。验证了一句话:代码是敲出来的,不是看出来的。

在一周半的时间里,我不断地对程序各模块进行修改、编译、调试、运行,其间遇到很多问题:在编写的时候我只会使用相对较为简单的基础语言,凭借C语言的基础,代替了相对较为复杂的语言,降低了运行效率。其中在程序的主函数switch语句的使用中得到验证。不同的表示会有不同的效果。

源程序会经常出现溢出错误,而且不只一处。比如队空队满的判断,函数定义的数据类型出现了问题,对函数的定义不清楚,字符的不正确定义造成了一些不必要的错误。而我又认识了几种函数应用,比如:(1)getch()和getchar()在使用是功能相同的,但getch()并非标准C中的函数,不存在C语言中,它所在头文件是conio.h。所以在使用的时候要注意程序的可移植性。也只有国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n).用getch();会等待你按下任意键,再继续执行下面的语句;(2)也知道了exit(0)://正常结束程序运行【exit(非0):非正常结束程序运行】(3)函数strcpy(lnew->name,name); 是把name指向的字符串复制给lnew->name中去;strcmp(name,info->ter_name)// 比较字符串name和info->ter_name的大小(4)

测试用例具有一定的广泛性。运行程序时输入了多种不同字符信息,经过多次修改结果达到了预期效果。说明程序具有一定的可靠性和稳定性,可以应用于其他一些系统中。

加深了自己对c语言的规范使用。例如,调用函数时,数组只需要传递数组名即可;字符‘0’和整形的0是不同的文明不可以直接对其画等号。并且在调试的过程中,我也发现使用结构体数组来存储存编译的字符,编译代码时通过结构体数组来实现要优于使用链表。

学习体会

这次的大作业,是我更加认识了数据结构,对调试掌握的也更加熟练了一些,改变了过去只调试不知道如何对照程序语言修改程序的坏习惯,对调试也有了新的认识,理解了调试的目的和意义,意识到了程序语言的规范性以及我们在编程时要耐心,要严谨,同时在写程序时多多加些注释,既增加了程序的可读性,也可以使自己在读程序时更容易,更清楚。可以说在这次实践中我对c 语言又进行了一次重温,对认识了一些函数库,利用互联网,我找出了他们的真正妙处,当然结构是让人很兴奋的。我也觉得原来大作业的意义是让我们真正认识了程序,对程序有了新的感觉。虽然课结束了,可知识永无止境的,相信自己的认识也得到了提高。

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

C语言课程设计报告 指导老师:

C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分;

根据需求分析,该程序可分为以下四大模块: 飞机订票系统 输入模块显示模块查询模块退出模块 (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; (一)主函数 (1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所需的文件;调用菜单函数。 程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 (2)程序: void menu() { int n,w; do { puts("\t\t***********************MENU***************************\n\n"); puts("\t\t\t\t 1.enter new data"); puts("\t\t\t\t 2.Browse all"); puts("\t\t\t\t 3.Search"); puts("\t\t\t\t 4.exit");

数据结构航空客运订票系统

航空客运订票系统 程序要求: 1、问题描述 航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。设计一个航空客运订票系统,以使上述业务可以借助计算机完成。 2、要求 1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括名字、订票量、舱位等级1、2、3)以及等候替补的客户名单; 2)系统实现的功能如下: 通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 存储结构:航线的所有信息存储在一个结构体中,增加,查询,订票,退票等操作按队列的操作来实现。 程序流程图:

详细代码: #include <> #include <> #include <> #include <> #define m 4 查看排队情况 *"; cout<

2017数据库系统概论作业-在线作业

您的本次作业分数为:98分 1.【第01章】公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是()。 A 多对多 B 一对一 C 多对一 D 一对多 正确答案:C 2.【第01章】在数据库的三级模式结构中,描述数据库用户能够看到和使用的局部数据的逻辑结构和特征描述的是指()。 A 模式 B 内模式 C 外模式 D 逻辑模式 正确答案:C 3.【第01章】下列四项中说法不正确的是()。 A 数据库减少了数据冗余 B 数据库中的数据可以共享 C 数据库避免了一切数据的重复 D 数据库具有较高的数据独立性 正确答案:C 4.【第01章】数据库三级模式体系结构的划分,有利于保持数据库的()。 A 数据库独立性

B 数据库安全性 C 结构规范化 D 操作可行性 正确答案:A 5.【第01章】数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。 A DBS包括DB和DBMS B DBMS包括DB和DBS C DB包括DBS和DBMS D DBS就是DB,也就是DBMS 正确答案:A 6.【第01章】下列数据模型中,数据独立性最高的是()。 A 网状数据模型 B 关系数据模型 C 层次数据模型 D 非关系模型 正确答案:B 7.【第01章】常用的数据模型有()。 A 层次模型 B 网状模型 C 关系模型 D 面向对象模型 E 对象关系模型

正确答案:ABCDE 8.【第01章】E-R图用来描述现实世界的概念模型,基本要素包括()。 A 实体型 B 属性 C 联系 D 元组 E 主码 F 记录 正确答案:ABC 9.【第01章】数据模型的组成要素包括()。 A 数据结构 B 数据操作 C 实体 D 完整性约束 E 关系 正确答案:ABD 10.【第01章】与人工管理和文件系统相比,数据库系统的特点主要体现在以下哪些方面? A 数据结构化 B 数据的共享性高,冗余度低,易扩充 C 数据独立性高 D 数据由DBMS统一管理和控制 正确答案:ABCD

飞机订票系统

课程设计报告 课程设计名称数据结构课程设计 专业计算机科学与技术 班级_______________________ 学号_____________________ 姓名_ 指导教师____________________ 成绩 __________________ 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

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

数据结构 课程设计报告 院系:信息管理学院 专业:软件工程 班级:软件Q1141 学号:11150132 姓名:王毅 教师:邓沌华 时间:2013. 4 一、问题描述 题目:飞机订票系统 题目要求: (1)可以录入航班情况 (2)可以查询某个航线的情况(如,输入航班号,查询起降时间, 起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; (3)可以订票,如果该航班已经无票,可以提供相关可选择航班; (4)可以退票,退票后修改相关数据文件;

(5)当航班信息改变可以修改航班数据文件 二、系统分析及设计 1 2、概要设计 主函数中 flight a[15]; //全局航班数组,存储供测试的航班信息,一共15架飞机,航班信 息可以在所有文件中改变 o_customer co; //全局乘客数组存储已经买了票的顾客信息,顾客信息可以在所有文 件中调用、修改 int k = 15; //全局变量,当前的共有航班的辆数,也可被所有文件调用和修改供测试的航班情况如下:

○1按航班号查询航班int number_check() //有此辆航班则返回1,无则返回0 ○2按终点站查询航班int station_check() //有到该站的航班则返回1,无则返回0. ○3订票 int Init(int k);//录入乘客信息,订票成功返回1,否则返回0. order_f() //订票函数 { m = n = 0; m = number_check();//乘客选择航班号方式的查询航班,m = 1方可订票 n = station_check();//乘客选择终点站查询方法查询航班,n = 1,方可订票 if(Init(0) == 0){} //按编号查询,只显示一个编号的信息,票存在,但订票失败就给予其它方案 if(Init(k) == 0){}//按照终点站查询,订票失败时给予相应处理方法} ○4退票 void takeoff(){} //请用户输入他的证件号,避免同名现象造成的影响 //买票的乘客的信息已经存入全局数组中,直接从数组中找出该乘客信息,然后改变相应航班和乘客的信息

数据库设计大作业模板

郑州大学软件学院:11级信息工程专业第学三521小组组长:史军磊 数 据 库 设 计 说 明 书 数据库名称:学籍数据库管理系统 数据库管理系统:SQL server 小组成员:史军磊,宁明祥,乔八惠,孙佳宁,景亚鹏,郭佳文,李志帅 一.系统目标

二.学籍管理信息系统以计算机为工 具,通过对教务管理所需的信息管理, 把管理人员从繁琐的数据计算处理中 解脱出来,使其有更多的精力从事教务 管理政策的研究实施,教学计划的制定 执行和教学质量的监督检查,从而全面 提高教学质量,实现学生基本信息的管 理,学生选课以及成绩统计等功能,最 大限度地为老师和学生提供方便和提 高管理效率。 三.系统功能分析 1 基本信息管理—系统管理员负责对各种信息的录入、修改、删除等操作。 2 学生成绩管理—系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。

3 信息系统统计—学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩记性管理,计算总成绩和平均成绩,统计不合格学生信息和获得奖学金学生的信息,最后再输出所有的信息。 4 毕业生信息管理—系统管理员计算毕业生学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。 5 系统用户管理—系统管理员负责用不同地权限来限制不同用户对系统的使用。

图为学生学籍数据库系统功能模块 三数据需求及业务规则分析: 通过与学籍管理系统数据库用户的交谈、团队的分析、市场需求等方式、获得了管理系统的数据需求。 1 为了保证安全对于每个登陆的用户进行记录,一个用户在不同的诗句可能有多个登录信息。

飞机订票系统的需求分析

飞机订票系统需求分析与概要设计 班级:11软件机电2班 项目组:第三组 指导老师:韦文夏增明老师

一.引言 1.1、编写的目的 为了巩固java认识实习的学习,模拟一个飞机订票系统来实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。 1.2 、背景 本项目作为《认识实践》课程训练项目,将学生分成若干项目开发小组通过飞机订票软件的开发,了解软件的相关标准和编写原则,掌握软件的编写技巧。 开发软件名称:飞机订票系统。 项目提出者:韦文.夏增明老师 项目组长:万振华 项目成员:万振华郭辉任斌叶裕普王飘周则东 用户:所有客户 运行环境:win xp/win 7 开发平台: Eclipse /MyEclipse 8.5 MySQL5.2数据库。 1.3、定义 MySQL: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的结构化查询语言。 二.任务概述 2.1 目标 1.可实现半自动化管理 2.节省人力资源 3. 可实现信息化的管理 4.提高效率和方便使用 2.2 用户特点 管理员:熟练掌握Java语言。熟悉掌握 sql语句的使用。能够熟练得对航班的各种信息进行修改等各种操作。 普通用户:能够熟练地使用桌面程序,有一定的电脑基础。能够通过根据操作的提示对自己所需的功能进行操作。

2.3 假定和约束 普通管理员,只能对库(航班库和客户库)中的信息进行查询操作;超级管理员,可以根据具体需要进行适当的数据管理(增、删、改、更)。 客户只能对航班信息库中的内容进行查询操作,客户进入到页面之后在不进行登录的情况下只能行航班信息查询操作,要预订机票就必须要先注册登录提交自己的基本信息;系统会根据管理员和客户的各种操作做出相应的返回信息进行 三.需求规定 3.1系统功能需求 本系统用于机票预订,包括航班信息查询、机票预订与确认等;主要分为五大功能:查询、订票、改签、退票和管理。 管理员登录到系统进行插入、删除、更新以及查看机票后台数据库操作。 插入:机票的插入可以按照航班号、班期、座位号、起飞地以及抵达地等等插入数据库。 删除:机票可以按照航班号、起始城市等进行删除。 3.1.1客户端系统功能 1.普通用户: 登陆:客户根据自己的密码帐号登陆系统对自己的各种信息进行操作。 查询:乘客可以根据航班号以及目的地查询出票类信息。 订票:乘客可以根据出发日期和航班号预订机票。 改签:当乘客有突发事件或者改变自己的行程计划的时候可以同本系统办理改签业务,乘客进入本系统通过填写相关信息可以重新预定航班。 退票:乘客通过填写身份证、客户姓名以及航班信息等办理退票业务。 2.管理员: 增加航班:根据航班号,出发城市,到达城市,出发时间,到达时间,票价,票数。 取消航班:根据航班号,出发日期。 后台管理:管理员可以根据总部要求去创建航班、取消航班、查看所有订票信息。 下面以结构图来描述机票预定系统的软件总体结构

数据库课程设计-飞机订票系统

数据库课程设计报告题目飞机订票管理系统

目录 第一章概述 (2) 1.1项目背景 (2) 1.2 编写目的 (2) 1.3 开发工具 (3) 1.3.1软件定义 (3) 1.3.2 开发环境 (3) 第二章需求分析 (3) 2.1 问题述 (3) 2.2 ER模型图 (3) 第三章数据库逻辑设计 (4) 3.1 定义数据库表 (4) 数据库表 (4) 第四章软件功能设计 (6) 4.1 软件功能结构图 (6) 4.2软件划分模块 (7) 4.2.1 整体流程: (7) 4.2.2 航班信息查询模块 (8) 4.2.3 顾客查询模块 (10) 4.2.4 订票、退票功能 (12) 4.2.5 财务查询 (17) 第五章界面设计 (17) 第六章结束语 (18)

第一章概述 1.1项目背景 航空业作为运输行业的基础,要提高我国运输行业的整体水平,必须从基础抓起。订票系统是航空业从事生产和管理的基层单位,加强订票系统是航空业基础地位的关键,也是保障航空业业可持续发展的重要基石。 随着现在航空运输业的发展,机票预订系统也成为了航空运输业的软件副产品,目前的管理系统都是与数据库关联,故数据库的管理也成为很热门的研究对象。此项目是以数据库为支撑,java(eclipse)为平台而开发的。 1.2 编写目的 编写此项目的目的是为了进一步了解数据库的储存管理机制以及数据库与其他的语言语言工具之间关联和协作。也可以熟悉项目开发的流程,步骤,为以后编写其他的程序打下基础。 1,了解并掌握数据结构的设计方法,具备初步的独立分析能力; 2,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能 3,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

数据结构课程设计航空订票系统

— 航空客运订票系统的设计与实现 一、设计目的:设计一个航班订票系统,提高对信息管理、信息查找和排序算法 的应用能力。 二、问题的描述:航空客运订票的业务包括查询航线和客票预定的信、客票预 定和办理退票等,设计一个程序以使上述任务借助计算机完成。 三、数据结构的设计: ; 数之间的关系: 函数间关系图如下: , 【

- 函数调用图如上,各个函数模块化设计,函数之间的数据传递少均通过函数间相互调用,把函数之间联系起来,这样函数的重用率高,设计代码的效率更高,用很好的实用性,很好的兼容性。 五、界面设计: Main 函数中通过switch 语句对于所有的模块进行整合。用户通过键盘通过提示输入相关信息。对航班信息的航线查询,通过城市查询航班,订票业务,退票业务,查询已定客户信息。 六、程序设计: 函数流程图: / menu display refund save

find函数refund函数 list函数search函数

increlist函数order 函数 menu函数increqueue函数 display函数

print函数save函数 main函数流程图如上 问题: { 1.问题1 (1)问题描述:输入时字符数组输入不稳定。 (2)解决办法:在反复尝试中还没发现,后来在同学帮助下发现是一些基础问题,对于链表中数组字符的如scanf("%s",&p->name);这样是有问题的.虽然是一个会的人看似很简单的问题,但对于意念中存在看这样问题的人是很严重的。由此要多多与同学交流,特别是编程的思想理念,很是重要。对于个人存在的基本被错误要通过多编程序发现,并及时改正。细节很决定成败。 2.问题2

数据库大作业--图书管理系统

图书管理系统 需求分析 信息需求: 为了加强图书的管理,设计图书管理系统,方便用户借阅、管理员管理,减少管理员的工作量。 1)主要信息需求 1.图书信息:简介、出版日期、出版社、作者、书名、书号 2.读者信息:姓名、性别、读者编号、所在系、联系电话 3.借阅信息:借书日期、还书日期、工作号、书号、是否续借、读者编号4.管理员信息:姓名、性别、电话、工资、工作号 5.管理_书籍信息:工作号、书号、添加时间、是否在馆 6.管理_读者信息:工作号、读者编号、借还确认、违章情况、累计借书2)信息间的主要联系 1.一个读者可以借阅多本书籍(1:m) 2.一本图书可以被一个读者借阅(1:1) 3.一个图书管理员可以管理多个读者(1:n) 4.一个读者信息只能被一个图书管理员管理(1:1) 5.一本图书可以被多个图书管理员管理(1:n) 6.一个图书管理员可以管理多本图书(1:m) 处理需求: 1.借阅功能:可以方便地借阅图书、续借图书、归还图书 2.查询功能:按图书编号查找图书、按图书名称查找图书、按图书作者查找图书、能够按照自己的图书证编号查询自己的状态信息3.读者注册功能:能够对新的读者进行登记,或注销读者的信息 4.图书录入功能:能够将新到的图书信息输入到系统的图书信息库中

5.统计功能:按图书编号统计书籍数量、按图书名称统计数量、按作者统计书籍数量 安全性需求 1.管理员的权限最高,可以查询、修改借阅关系表、管理员_书籍表、管理员_读者表 2.读者,可以查看图书基本信息、个人自己的借阅信息。不可以对其中的信息进行添加、修改等操作。 完整性需求 1.在图书管理信息表中,书号、书名、作者、出版社、出版日期、简介输入信息的时候都有类型、长度要求。书号、书名、作者不能为空,其中 书号为主码 2.在读者信息表中,其中的各类信息都有类型、长度要求。读者编号、读者姓名、读者性别、所在系不能为空,读者编号为主码 3.在管理员信息表中,其中的各类信息都有类型、长度要求。工作号、姓名、性别不能为空,工作号为主码 4.在借阅关系表中,其中的各类信息都有类型、长度要求,且均不可为空。 工作号、书号为外码 5.在管理员_书籍表中,其中的各类信息都有类型、长度要求。工作号、书号不能为空,且为外码 6.在管理员_读者表中,其中的各类信息都有类型、长度要求,均不可为空。 工作号、读者编号为外码

航空订票系统测试(学术参考)

航空机票预订系统软件编码和测试说明书 1引言 1.1编写目的 作为软件工程过称的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于软件设计的质量,但所选用的程序设计语言的特点和编码风格也将对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。 但在开发如此复杂的航空订票系统软件的过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,系统一定会存在差错。测试的目的就是在软件投入生产运行之前,尽可能多的发现并改正软件中的错误。 编码阶段可参考概要设计和详细设计说明书,软件测试以及软件维护阶段也可参考编码和详细设计说明书,以便于了解在概要设计及详细设计的过程中所完成的各模块设计结构,或在测试阶段找出各模块的设计思路和流程。 该文档的读者为用户代表、软件分析人员、开发管理人员和测试人员。 1.2背景 ①名称:机票预订系统 ②委托方:某某航空公司 ③开发方:某某团队 ④组成:编码模块分组,服务器,编码人员,测试人员 ⑤本系统与其他系统的关系如下: 系统的详细 设计 编码测试实现验证 修改

1.3定义 黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑 程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查 程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当 地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结 构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进 行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定 有误,用黑盒测试方法是发现不了的。 白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规 定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部 逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行 测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的 状态一致。 1.4参考资料 (1)张海藩《软件工程导论》(第五版)北京:清华大学出版社。 (2)《机票预订系统需求分析说明书》 (3)《机票预订系统可行性分析说明书》 (4)《机票预订系统概要和详细设计说明书》 2 各模块的实现: 本系统主要用于机票预订,所以提供了以下几个子功能:机票预订,取票通知,查询航班,查询机票,退票,打印机票,各航班的营运统计,以及后台方面的航班的添加,取消航班,机票的生成,以及航班的查询等后台功能。

数据结构课程设计 飞机订票系统分解

摘要 随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化, 其中重要的一项就是航空飞机订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。 本文Microsoft Visual C 6.0作为程序代码的实现软件,进行飞机订票系统的数据结构课程设计。首先,根据课程设计内容进行需求分析,确定主要的功能模块,。然后进行数据结构、各功能模块算法以及它们之间的调用关系的概要设计,做出各信息模块的数据结构表,并给出所用的结构体和结点类型。在此基础上,进行各功能模块的详细算法设计,做出各算法的流程图。最后,对系统进行测试,分为合法数据测试和非法数据测试,并对测试结果截图保存。本系统包含录入航班信息、订票、退票、查询航班信息、查询订票信息、修改航班信息和退出系统7个基本功能,经测试后健壮性良好。 关键词飞机订票系统;数据结构;C语言;单链表

目录 1 问题背景 (1) 2 问题分析 (1) 3 需求分析 (2) 3.1 用户需求分析 (2) 3.2 功能需求分析 (2) 3.3 系统需求分析 (3) 4 逻辑设计 (3) 4.1 数据结构 (3) 4.2 各功能模块间函数调用关系 (5) 4.3 函数说明 (5) 5 详细设计 (7) 5.1 录入航班信息 (7) 5.2 顾客订票模块 (8) 5.3 顾客退票模块 (8) 5.4 查询航班模块 (9) 5.5 查询订单模块 (9) 5.6 修改航班模块 (9) 6 程序调试与测试 (11) 6.1 合法数据测试结果 (11) 6.2 非法数据测试结果 (13) 7 结果分析 (15) 7.1 输入 (15) 7.2 输出 (15) 总结 (16) 参考文献 (16)

数据库第一章作业

第一章数据库系统概述 一. 简答题(回答时尽量简洁,抓住关键点即可,不需要展开) 1.数据库管理系统的基本功能? 基本功能:安全性,完整性,故障恢复,并发控制。 2.数据库系统的三个抽象层次? 视图抽象,概念抽象,物理抽象。 3.对数据库中的数据,最基本的四种操作是什么? 增加,删除,修改,查询。 4.简述数据抽象、数据模型及数据模式的概念,以及它们之间的关系? 数据抽象:指一种数据抽象的过程。 数据模型:使用逻辑概念方式,对对象,对象属性,对象联系等,来组织和表示抽取的数据。 数据模式:抽取的数据用数据模型组织后,得到的结果。 关系:数据模型是数据抽象的工具,数据模式是数据抽象的结果。 5.何谓DBMS、数据库系统、视图? DBMS:数据库管理系统,一个通用软件系统,由一组计算机程序构成 数据库系统:指一个环境,在此环境中,用户的应用系统可以顺利运行。 视图:指一个人看(即“视”)某个物体所得到的图像。 6.数据模型的三个评价标准、三个要素、分类? 三个评价标准:①比较真实描述显示世界。②易为用户所理解。③易于在计算机上实现。 三个要素:①数据结构②数据操作③数据约束 分类:①概念数据模型②逻辑数据模型③物理数据模型 7.传统的三个数据模型是指什么? 层次数据模型,网状数据模型,关系数据模型。 8.数据库语言的作用,一般应包含哪几个子语言? 数据库语言是DBMS提供给用户定义结构,操纵数据和管理DBMS的一个界面。 数据库语言包括数据定义子语言(DDL),数据操纵子语言(DML),数据控制子语言(DCL) 9.SQL语言的使用方式? 一,用户直接在RDBMS控制台上,使用SQL语言中的SQL命令交互,即SQL的交互式使用;二,用户通过开发的应用系统与RDBMS交互。 10.数据字典的作用? 数据字典是DBMS中的一个特殊文件,用于存储数据库的一些说明信息,即元数据。11.数据管理的发展分哪三个阶段?数据库技术的发展经历了哪几代?

网上飞机订票系统 软件工程用例图

系统静态建模 一、实验目的 1. 掌握用例(Use Case)、角色(Actor)、用例图(Use Case Diagram) 的概念。 2.掌握通过用例图和用例描述为系统建立功能模型。 3.掌握通过类图为系统建立对象模型。 二、所用软件 1. Rational Rose 2. Microsoft Word 三、预习内容 1.UML的用例图、类图画法及用例描述的表达方法; 2.系统的分析; 3.Rational Rose的使用方法。 四、实验内容 网上飞机订票系统的业务背景和业务需求如下所述。 1.业务背景: 当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。信息技术和信息产业已经成为经济增长的主要推动力之一,信息化水平也已成为现代水平和综合国力的重要标志。 网上飞机订票与传统窗口购票相比,具有航班信息更新快,查找方便,不受时间、空间限制等优点,受到了越来越多乘客的青睐。采用先进技术, 精品

为顾乘客提供一个功能完善,操作方便,安全快捷的网上飞机订票系统非常重要。 精品

2.业务需求分析: 本网上飞机订票系统用户分两类,分别是乘客,航空公司。 乘客登录进系统后可以进行查询航班、个人信息管理、购票、退票改签、支付; 航空公司登录进系统后可以进行乘客管理、航班管理、订单管理、系统维护。 该系统要求用户界面友好、响应速度快,具有良好的可扩展性。(一)功能模型 1.画出网上飞机订票系统系统的用例图 图1 网上飞机订票系统总用例图 精品

注:网上飞机订票系统用例清单 表格1网上飞机订票系统用例清单 2.画出网上飞机订票系统细化用例图 精品

飞机订票系统设计与实现 (里面附有源代码!)

课程设计题目飞机订票系统 院系******* 专业*************** 姓名****** 学号********* 指导教师*** 2012年7月

1. 需求分析 1.1 问题描述 基于目前人们外出远行频繁,为方便乘客提前买票及优化飞机航空订票服务,需要开发一个飞机订票系统,此程序就是要实现航班情况的录入,查询,订票,退票以及航班的查询和修改等基本功能。本课程设计的题目为:飞机订票系统。 1.2 基本要求 1.2.1 输入的形式和输入值的范围 录入航班信息时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表示已满仓,“0”表示没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表示继续录入航班信息,“0”表示停止录入航班信息)。 客户订票时,需要输入起飞抵达城市,然后选择航班进行查询,选择航班时需要输入航班号,值为字符串。 客户退票时,需要输入姓名,证件号进行退票操作,值为字符串。 查询某个航班的情况时,需要输入航班号,值为字符串;在查询某个航线的情况时,还可以通过输入起飞抵达城市来查询,值为字符串。 查询某个订单时,需要输入订单号,值为整型(int);或者需要输入客户姓名和证件号,值为字符串。 修改航班时,需要输入字符型数据选择进行何种修改操作;增加航班时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表示已满仓,“0”表示没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表示继续录入航班信息,“0”表示停止录入航班信息);删除航班时,需要输入要删除的航班的航班号;修改航班时间时,需要输入要修改的航班的航班号,修改后的航班起飞时间和抵达时间。 1.2.2 输出形式 在所有操作后的输出中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。 录入航班情况时,输出显示添加航班信息是否成功。 客户订票时,当客户输入起飞抵达城市后,输出可供客户选择的航班信息;客户选择了航班后,输入提示信息告知用户订票是否成功。 客户退票时,输出客户退票成功或者无此客户,无法退票。 查询航班时,输出显示对应的航班信息,或者输出提示信息告知没有相应的航班信息。 查询订单时,输出显示对应的订单信息,或者输出提示信息告知没有相应的订单信息。 修改航班时,输出对应的提示的信息,提示操作是否成功。

数据结构课程设计-航空订票系统

数据结构 课程设计报告 设计题目:航空客运订票系统 院系 年级 学生 学号 指导教师 2015年11月26日 目录 一、课程设计目的 3

二、需求分析 3 三、概要设计 1.设计步骤 4 2.系统整体结构图 5 3.功能模块及调用关系说明 5 四、详细设计和源代码 1.实现概要设计中定义数据的存储结构 6 2.查询航线信息功能的算法设计7 3.订票功能的算法设计9 4.退票功能的算法设计12 5.录入功能的算法设计 14 6.总航线预览功能的程序源代码15 五、调试分析 1.各功能的具体实例分析16 2.实验过程中出现的问题及解决方法 20 六、课程设计总结20 七、参考资料21 一、课程设计目的 (1) 熟练使用 C 语言编写程序,解决实际问题; (2) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; (3) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (4) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 航空订票系统: (1)熟练掌握链表存储结构及其建立过程和常用操作; (2)熟练掌握队列的建立过程和常用操作;

(3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析 问题描述:航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 设计任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额; 订票:(订票情况可以存在一个数据文件中,结构自己设定)根据客户提出的要求(日期、航班号、订票数额)查询该航班票额情况,若尚有余额,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需要重新询问客户要求。若需要,可预约登记排队等候。如果该航班已经无票,可以提供相关可选择航班; 退票:根据客户提供的情况(日期、航班、退票数额),为客户办理退票手续,然后查询该航班是否有人预约登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队预约的客户……退票成功后修改相关数据文件。 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 测试数据:由学生任意指定,但报告上要求写出多批数据测试结果。 实现提示:每条航线应包含的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票额、已订票的客户名单(包括姓名、订票额、座位号)和预约登记的客户名单(包括日期、姓名、所需票额)。这最后两项显然是一个线性表和一个队列。 为查找方便、已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预料,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包含上述八个域,其中乘员名单域为指向乘员名单链表的头指针,预约登记客户名单域为分别指向队头和队尾的指针。

数据库大作业图书管理系统

图书管理系统 需求分析 ?信息需求: 为了加强图书的管理,设计图书管理系统,方便用户借阅、管理员管理,减少管理员的工作量。 1)主要信息需求 1.图书信息:简介、出版日期、出版社、作者、书名、书号 2.读者信息:姓名、性别、读者编号、所在系、联系电话 3.借阅信息:借书日期、还书日期、工作号、书号、是否续借、读者编号 4.管理员信息:姓名、性别、电话、工资、工作号 5.管理_书籍信息:工作号、书号、添加时间、是否在馆 6.管理_读者信息:工作号、读者编号、借还确认、违章情况、累计借书 2)信息间的主要联系 1.一个读者可以借阅多本书籍(1:m) 2.一本图书可以被一个读者借阅(1:1) 3.一个图书管理员可以管理多个读者(1:n) 4.一个读者信息只能被一个图书管理员管理(1:1) 5.一本图书可以被多个图书管理员管理(1:n) 6.一个图书管理员可以管理多本图书(1:m) ?处理需求: 1.借阅功能:可以方便地借阅图书、续借图书、归还图书 2.查询功能:按图书编号查找图书、按图书名称查找图书、按图书作者查找图书、能够按照自己的图书证编号查询自己的状态信息 3.读者注册功能:能够对新的读者进行登记,或注销读者的信息 4.图书录入功能:能够将新到的图书信息输入到系统的图书信息库中

5.统计功能:按图书编号统计书籍数量、按图书名称统计数量、按作者统计书籍数量 ?安全性需求 1.管理员的权限最高,可以查询、修改借阅关系表、管理员_书籍表、管理员_读者表 2.读者,可以查看图书基本信息、个人自己的借阅信息。不可以对其中的信息进行添加、修改等操作。 ?完整性需求 1.在图书管理信息表中,书号、书名、作者、出版社、出版日期、简介输入信息的时候都有类型、长度要求。书号、书名、作者不能为空,其中书号为主码2.在读者信息表中,其中的各类信息都有类型、长度要求。读者编号、读者姓名、读者性别、所在系不能为空,读者编号为主码 3.在管理员信息表中,其中的各类信息都有类型、长度要求。工作号、姓名、性别不能为空,工作号为主码 4.在借阅关系表中,其中的各类信息都有类型、长度要求,且均不可为空。 工作号、书号为外码 5.在管理员_书籍表中,其中的各类信息都有类型、长度要求。工作号、书号不能为空,且为外码 6.在管理员_读者表中,其中的各类信息都有类型、长度要求,均不可为空。 工作号、读者编号为外码 ? ?

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

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

飞机订票系统课程设计报告 一、系统分析。 1.1根据飞机订票系统的设计目的,设计内容和设计要求。本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。最终我们决定将整个系统分成7个主要模块。采用结构体这一数据结构来存放教师的信息。首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。为降低操作难度,以及出错率,决定使用全局数组及变量进行操作。 1.2飞机订票系统简易图 二、系统设计 2.1总体设计(主要功能)

本程序包含六大主要模块①添加信息模块;②浏览信息模块; ③信息查询模块;④信息排序模块;⑤订票模块;⑥退票模 块。 整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。宏定义输出格式。采用Y,N的方式进行操作回退或继续操作的选择。 航班信息包括:航班号,起点,终点,票价,数量及订票标志量(隐藏信息)。 输入模块,使用分条输入,以减少错误率并方便操作。 浏览,查询及排序模块,组合成输出模块。多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。 订,退票模块调用查询模块实现其功能。 2.2 软件、硬件环境 软件环境 VC2009 硬件环境处理器 Intel(R) Core(TM) i5-3210M CPU @2.50GHz 2.50GHz;显卡 GTX650。 内存 4.0GB 操作系统 Windows 7 2.3主要数据结构和程序的关系说明 主要数据结构是结构体 struct hbxx //定义结构体数组,航班信息 {

数据结构程序设计飞机订票系统

学号 数据结构课程设计 设计说明书 飞机订票系统 起止日期:2011年12月12日至2011年12月16日 学生姓名 班级 成绩 指导教师(签字) 电子及信息工程系 2011年12月16日

天津城市建设学院 课程设计任务书 2011—2012学年第1学期 电子及信息工程系软件工程专业班级 课程设计名称:数据结构课程设计 设计题目:飞机订票系统 完成期限:自2011年12月12日至2011年12月16日共1周 设计依据、要求及主要内容(可另加附页): 一、设计目的 熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者及被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表; (4)认真编写课程设计报告。 三、设计内容 订票系统 1)问题描述 (1)录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

(2)查询: 可以查询某个航线的情况可以输入起飞抵达城市,查询飞机航班情况; (3)订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 (5)修改航班信息: 当航班信息改变可以修改航班数据文件 2) 基本要求 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能

相关文档
最新文档