飞机订票系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计名称数据结构课程设计
专业计算机科学与技术
班级
学号
姓名
指导教师
成绩
2012年2月26日
数据结构课程设计
——《飞机票票订票管理》
目录
目录 (ii)
第1章软件的需求分析 (3)
1.1软件达到的目的 (3)
1.2 软件功能说明 (3)
1.2.1 功能分析说明图 (3)
第2章软件概要设计 (4)
2.1 软件模块的总体设计 (4)
2.2 软件设计详细内容 (4)
2.2.1 采用的主要数据结构类型 (4)
2.2.3 主要流程图 (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 软件设计详细内容
2.2.1 采用的主要数据结构类型
头文件包含、全局变量定义和结构体定义源代码:
#include
#include
#include
#define N 1000 //定义最多的航班数
#define PRINT “%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 //宏定义输出格式
struct air //定义结构体数组
{int num; //定义航班号
char start[20]; //航班起始站
char over[20]; //航班终点站
char time[10]; //飞行时间
int count; //机票数量
}s[N];
int i,m=0; //定义全局变量,记录下航班信息的数量
char ii[10]; //用来选择是否继续的变量
2.3
(1)menu
如图2-1
(2)enter 函数流程图
如图2-2
(3)input
如图2-3
(4)browse 如图2-4
(5)menu1
如图
(6)如图
(7)如图
(8)如图
如图
(11)back 如图2-11
(12)save
(13)
3.1 设计的详细说明
程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现
的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。
3.2 关键代码分析和说明
1) 定义系统初始化
函数
模块功能:设立一个初始化函数来得到航班信息。具体设计是第一次运行程序时自动生成保
存航班信息的文件,并输入初始航班信息,待第二次开始就可以直接读取该文件获得已有的航班信息并可直接使用。运用了access函数判断文件是否存在。该函数源代码为:
void chushihua() //初始化函数
{
if(access("hangban.dat",0))
build();
else
read();
}
2)定义建立新数据文件的函数
系统初始化后,没有寻找到数据文件,则进行新建数据文件,此函数的作用就是进行新建文件数据的录入。运用到了文件指针的定义FILE *fp,文件的打开fopen和关闭fclose、成块读写函数中的fwrite;运用for循环进行各组数据的输入,用m++记录下输入的航班数量,并运用if语句判断是否输入下一条航班信息,若不继续则返回主界面。
3)定义读取文件内航班信息的函数
系统初始化之后,若原始数据文件存在,则进行文件内航班信息的读取,以供接下来程序中的各个函数来使用。在该函数中同样运用到了文件指针FILE *fp、文件的打开fopen和关闭fclose、成块读写函数中的fread、文件结束检测函数feof同时配合while语句控制文件的读取;m++记录下读取到的航班数量等。
4)定义保存函数
因为在飞机订票系统中涉及到飞机的订票和退票业务,还有按航班号的排序功能,所以我就定义了这个保存函数来保存下每次运行系统后对整个订票系统涉及到的资料的修改。为了简便程序,我就准备将此函数放在整个系统得推出选项中,这样就只在每次退出系统的时候进行一次保存,将此次对文件修改的所有新信息都一次保存下来。这样就实现了整个系统运行时进行一次读取,推出时一次保存的设计,大大简便了文件的调用和读取。保存函数运用到的知识点与读取函数大致相同。此函数的源代码为: