没有合适的资源?快使用搜索试试~ 我知道了~
飞机订票系统程序设计-课程设计.doc
0 下载量 120 浏览量
2023-07-08
16:28:43
上传
评论
收藏 431KB DOC 举报
温馨提示
试读
23页
飞机订票系统程序设计-课程设计.doc
资源推荐
资源详情
资源评论
山东工商学院 信电学院
高级语言程序设计课程设计报告
高级语言程序设计
课程设计报告
题目: 飞机订票系统程序设计
山东工商学院 信电学院
高级语言程序设计课程设计报告
1、程序基本功能要求
本程序首先输入用户名、密码进入系统;从菜单中选择可以输入机票信息
对机票信息进行浏览、修改、查询、退订票等功能并可以通过其内部各类方
式或菜单内选项了解航班更细的信息。
(1)航班信息用文件保存,因而要提供文件的输入输出操作。
(2)航班信息的录入,其中包括了航班信息中的航班号、起始站、终点站、预
售机票数 、已售机票数。
(3)航班信息浏览功能且提供显示操作。
(4)可以查询航线,查询方式有按航班号查询、按起点站查询、按终点站查询
按航线查询、按飞行时间查询五种,可从各个方面进行查询,方便快捷。
(5)承办订票和退票业务,可显示剩余票数和已买票数。当票数被订或被退时
票数会随之变化,统计较为灵活。
(6)提供键盘式选择菜单以实现功能选择。
2、总体设计.
编写一个飞机订票系统的程序�使该系统能够实现对航班信息的录入、浏览、
修改、查询以及订票、退票的功能。根据课程设计要求和本组人员的增补,首先
要通过一个用户登录界面进入系统,其次要制作一个主菜单显示出各个操作的提
示可供用户选择进而一步步地深入操作。根据主菜单的内容再进一步编制具体操
作的函数,各个功能均用专门编制的函数来完成。因为飞机订票系统含有各航班
的各项信息�如航班号、航线、飞行时间、机票数目等必要信息�所以就决定用
刚学不久的结构体数组来存放航班的各项信息,这就是看到题目后的最初的思路。
在整个程序中,含有多种类型的头文件,包括了标准输入、输出头文件、字
符串函数处理头文件、动态存储与释放函数头文件;在结构体数组中也对不同类
型的数组进行不同的定义,例如: int flightno、int totalticket、char start[10]
等;在各类信息的显示操作中,本系统在执行浏览、查询和退订票是充分利用函
数的调用,利用 switch()语句进行,简便实用;在此系统中,函数相互嵌套,
形成了一个完整的系统。
本次设计需要编制初始化、建立数据文件、数据文件保存、增加航班信息、
订票、退票业务等内容。首先需要设立一个初始化函数来得到航班信息。具体设
计是第一次运行程序时自动生成保存航班信息的文件,并输入初始航班信息,待
第二次开始就可以直接读取该文件获得已有的航班信息并可直接使用。运用了
access 函数判断文件是否存在。系统初始化后,没有寻找到数据文件则进行新
建数据文件。此函数的作用就是进行新建文件数据的录入,运用到了文件指针的
定义 FILE *fp�文件的打开 fopen 和关闭 fclose、成块读写函数中的 fwrite�
运用 for 循环进行各组数据的输入,用 m++记录下输入的航班数量并运用 if 语
句判断是否输入下一条航班信息,若不继续则返回主界面。系统初始化之后�若
原始数据文件存在�则进行文件内航班信息的读取�以供接下来程序中的各个
函数来使用。在该函数中同样运用到了文件指针 FILE *fp、文件的打开 fopen 和
关闭 fclose、成块读写函数中的 fread、文件结束检测函数 feof 同时配合 while
语句控制文件的读取,m++记录下读取到的航班数量等。因为在飞机订票系统中
涉及到飞机的订票和退票业务还有按航班号的排序功能,所以我就定义了这个保
存函数来保存下每次运行系统后对整个订票系统涉及到的资料的修改。为了简便
山东工商学院 信电学院
高级语言程序设计课程设计报告
程序�我就准备将此函数放在整个系统得推出选项中,这样就只在每次退出系统
的时候进行一次保存将此次对文件修改的所有新信息都一次保存下来。这样就实
现了整个系统运行时进行一次读取,推出时一次保存的设计大大简便了文件的调
用和读取。保存函数运用到的知识点与读取函数大致相同。在这个函数中首先调
用了 search 函数查找需要订票的航班。运用 if 语句实现订票时的多种情况,订
票 数 输 入 不 正 确 、 飞 机 票 数 不 足 等 情 况 。 订 票 成 功 时 运 用
s[i].totalticket=s[i].totalticket-n,s[i].sellticket=s[i].sellticket+n
将 已 被 订 的 机 票 数 减 去 以 显 示 新 的 即 时 航 班 信 息 。 与 订 票 函 数 相 类 似
s[i].totalticket=s[i].totalticket+n,s[i].sellticket=s[i].sellticket-n。
只做稍稍修改就行退票成功是用.。
将航班的剩余票数加上去以显示即时航班信息。
模块分工:
进入系统菜单 、输出航班信息、订票信息由刘妍负责
输入航班信息、保存航班信息、读取航班信息由龚媛负责
查询航班信息、退票信息、修改信息部分由郭勇艳负责
3、详细设计
系统程序结构(流程图)
开始
系 统
初 始
化
修改
航班
信息
航 班
信 息
浏览
查 找
航 班
信息
订 票
业务
退 票
业务
退 出
并 保
存
从 已 有 的
数 据 文 件
读取
按航班号、
起始站、时
间、航线查
找
输 入
的 各
类 信
息
建 立
新 数
据 文
件
山东工商学院 信电学院
高级语言程序设计课程设计报告
录入信息系统流程图
航班信息浏览函数:[流程图]显示信息
文 件 打 开
否
输入信息
是 否 继
续
将信息输出到磁
盘
结束
开始
输出错误信息
开始
文件打开
查找航班信息
是 否 查 找
到
输入信息
是否继续
结束
输 出 错 误 信
息
删除操作
fread(&s[i],sizeof(flight),1,fp
);
利用 fread(&s[i],sizeof(flight),1,fp)读取信息
山东工商学院 信电学院
高级语言程序设计课程设计报告
查询模块:[流程图]
..
开始
文件打开
查询方式
是否继续
结束
输出错误信息
航班号
飞行时间
起 点
站
终 点
站
路线
剩余22页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3607
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaScript《基于自动分析数据并给出营业建议的餐厅管理系统(接入AI) 》+源代码+项目说明及资料
- 355670834783295707ad04e-427f-4cde-9589-e578224a8459.zip
- 动态sql解析引擎,类似mybatis动态sql的功能
- EDA365-Skill-V2.5安装包,支持Allegro17.x版本
- C# 常用单词汇总,常用单词汇总
- 【ERP标准流程-标准流程-库内业务管理】(DOC 14页).doc
- Python《数据库期末作业-餐厅点单系统 》+源代码+设计资料
- 学生成绩管理系统(C++课程设计
- 双指针法判断链表有环-go语言实现
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功