1、 高级语言程序设计高级语言程序设计 课程设计报告课程设计报告 题目:题目: 飞机订票系统程序设计飞机订票系统程序设计 专专 业业 : 班班 级级 : 学学 号号 : 姓姓 名名 : 指导教师指导教师 : 日日 期期: : 1 1、程序基本功能要求、程序基本功能要求 本程序首先输入用户名、密码进入系统;从菜单中选择可以输入机票信息 对机票信息进行浏览、修改、查询、退订票等功能并可以通过其内部各类方 式或菜单内选项了解航班更细的信息。 (1)(1)航班信息用文件保存,因而要提供文件的输入输出操作。 (2)(2)航班信息的录入,其中包括了航班信息中的航班号、起始站、终点站、预 售机票数 、已售机票数
2、。 (3)(3)航班信息浏览功能且提供显示操作。 (4)(4)可以查询航线,查询方式有按航班号查询、按起点站查询、按终点站查询 按航线查询、按飞行时间查询五种,可从各个方面进行查询,方便快捷。 (5)(5)承办订票和退票业务,可显示剩余票数和已买票数。当票数被订或被退时 票数会随之变化,统计较为灵活。 (6)(6)提供键盘式选择菜单以实现功能选择。 2 2、总体设计总体设计. . 览、修改、查询以及订票、退票的功能。根据课程设计要求和本组人员的增补, 首先要通过一个用户登录界面进入系统, 其次要制作一个主菜单显示出各个操作 的提示可供用户选择进而一步步地深入操作。 根据主菜单的内容再进一步编制
3、具 体操作的函数,各个功能均用专门编制的函数来完成。因为飞机订票系统含有各 定用刚学不久的结构体数组来存放航班的各项信息, 这就是看到题目后的最初的 思路。 在整个程序中,含有多种类型的头文件,包括了标准输入、输出头文件、字 符串函数处理头文件、动态存储与释放函数头文件;在结构体数组中也对不同类 型的数组进行不同的定义, 例如: int flightno、 int totalticket、 char start10 等;在各类信息的显示操作中,本系统在执行浏览、查询和退订票是充分利用函 数的调用,利用 switch()语句进行,简便实用;在此系统中,函数相互嵌套, 形成了一个完整的系统。 本次
4、设计需要编制初始化、建立数据文件、数据文件保存、增加航班信息、 订票、退票业务等内容。首先需要设立一个初始化函数来得到航班信息。具体设 计是第一次运行程序时自动生成保存航班信息的文件,并输入初始航班信息, 待 第二次开始就可以直接读取该文件获得已有的航班信息并可直接使用。运用了 access 函数判断文件是否存在。系统初始化后,没有寻找到数据文件则进行新 建数据文件。此函数的作用就是进行新建文件数据的录入, 运用到了文件指针的 定义 FILE *fpfopen 和关闭 fclose、成块读写函数中的 fwrite for 循环进行各组数据的输入,用 m+记录下输入的航班数量并运用 if 语句判
5、断是否输入下一条航班信息, 个函数来使用。在该函数中同样运用到了文件指针 FILE *fp、文件的打开 fopen 和关闭 fclose、成块读写函数中的 fread、文件结束检测函数 feof 同时配合 while 语句控制文件的读取,m+记录下读取到的航班数量等。因为在飞机订票 系统中涉及到飞机的订票和退票业务还有按航班号的排序功能, 所以我就定义了 这个保存函数来保存下每次运行系统后对整个订票系统涉及到的资料的修改。 为 了简便 出系统的时候进行一次保存将此次对文件修改的所有新信息都一次保存下来。 这 样就实现了整个系统运行时进行一次读取, 推出时一次保存的设计大大简便了文 件的调用和读
6、取。保存函数运用到的知识点与读取函数大致相同。在这个函数中 首先调用了 search 函数查找需要订票的航班。 运用 if 语句实现订票时的多种情 况 , 订 票 数 输 入 不 正 确 、 飞 机 票 数 不 足 等 情 况。 订 票 成 功 时 运 用 si.totalticket=si.totalticket-n, si.sellticket=si.sellticket+n 将已被订的机票数减去以显示新的即时航班信息。与订票函数相类似 si.totalticket=si.totalticket+n, si.sellticket=si.sellticket-n。 只做稍稍修改就行退票成功是用.。 将航班的剩余票数加上去以显示即时航班信息。 模块分工: 进入系统菜单 、输出航班信息、订票信息由刘妍负责 输入航班信息、保存航班信息、读取航班信息由龚媛负责 查询航班信息、退票信息、修改信息