- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1
信息科学与技术学院
程序设计基础课程设计报告
题目名称: 飞机订票系统
学生姓名:
学 号:
专业班级: 计科2班
指导教师:
20 年 6 月 25 日
目 录
TOC \o 1-5 \h \z \u 1 课程设计题目与要求 - 2 -
1.1设计题目: - 2 -
1.2设计要求: - 2 -
2 总体设计 - 3 -
3 详细设计 - 4 -
3.1结构体设计 - 4 -
3.2主模块设计 - 4 -
4 运行结果 - 7 -
5 课程设计总结 - 10 -
1 课程设计题目与要求
1.1设计题目:
飞机订票系统
1.2设计要求:
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。设计一飞机订票系统,使之能提供下列服务:
1、航班信息录入功能(航班信息用文件保存)
包括航班号、起始站、重点站、机票数等;
2、航班信息浏览功能
3、按航班号排序
4、查询航线:按航班号查询
5、承办订票和退票业务(可选项)
2 总体设计
飞机
飞机
订票
系统
系统
初始化
增加
航班
信息
航班
信息
浏览
航班
排序
订票
业务
退票
业务
建立
新数据
文件
从已有的数据文件读取
按航班号从小到大排序
按航班号从大到小排序
查找
航班
信息
按
航班号查找
退出并保存
3 详细设计:
3.1结构体设计
struct air //定义结构体数组
{
int num; //定义航班号
char start[20]; //航班起始站
char over[20]; //航班终点站
char time[10]; //飞行时间
int count; //机票数量
}s[N];
int i,m=0; //定义全局变量,记录下航班信息的数量
char ii[10]; //用来选择是否继续的变量
3.2主模块设计
定义系统初始化函数
模块功能:设立一个初始化函数来得到航班信息。具体设计是第一次运数据文件是否存在
数据文件
是否存在
输入航班信息并建立新数据文件保存下来
从已有的数据文件读取已有的航班信息
Y
初始化
结束
N
void clear() //初始化函数
{
if(access(hangban.dat,0))
build();
else
read();
}
定义建立新数据文件的函数
系统初始化后,没有寻找到数据文件,则进行新建数据文件,此函数的作用就是进行新建文件数据的录入。运用到了文件指针的定义FILE *fp,文件的打开fopen和关闭fclose、成块读写函数中的fwrite;运用for循环进行各组数据的输入,用m++记录下输入的航班数量,并运用if语句判断是否输入下一条航班信息,若不继续则返回主界面。该函数的源代码为:
定义读取文件内航班信息的函数
系统初始化之后,若原始数据文件存在,则进行文件内航班信息的读取,以供接下来程序中的各个函数来使用。在该函数中同样运用到了文件指针FILE *fp、文件的打开fopen和关闭fclose、成块读写函数中的fread、文件结束检测函数feof同时配合while语句控制文件的读取;m++记录下读取到的航班数量等。
定义保存函数
因为在飞机订票系统中涉及到飞机的订票和退票业务,还有按航班号的排序功能,所以我就定义了这个保存函数来保存下每次运行系统后对整个订票系统涉及到的资料的修改。为了简便程序,我就准备将此函数放在整个系统得推出选项中,这样就只在每次退出系统的时候进行一次保存,将此次对文件修改的所有新信息都一次保存下来。这样就实现了整个系统运行时进行一次读取,推出时一次保存的设计,大大简便了文件的调用和读取。保存函数运用到的知识点与读取函数大致相同。此函数的源代码为:
有关文件读取、写入和保存的函数定义完了就开始设计与题目要求直接相关的函数了。
定义订票业务函数
在这个函数中首先调用了search函数查找需要订票的航班。运用if语句实现订票时的多种情况:订票数输入不正确、飞机票数不足等情况。订票成功时运用s[i].count=s[i].count-n;将已被订的机票数减去,以显示新的即时航班信息
定义退票业务函数
与订票函数相类似,只做稍稍修改就行退票成功是用s[i].count=s[i].count+n; 将航班的剩余票数加上去以显示即时航班信息。
定义主函
文档评论(0)