C语言程序之飞机票订票系统

上传人:壹****1 文档编号:457666807 上传时间:2023-03-05 格式:DOCX 页数:63 大小:846.59KB
返回 下载 相关 举报
C语言程序之飞机票订票系统_第1页
第1页 / 共63页
C语言程序之飞机票订票系统_第2页
第2页 / 共63页
C语言程序之飞机票订票系统_第3页
第3页 / 共63页
C语言程序之飞机票订票系统_第4页
第4页 / 共63页
C语言程序之飞机票订票系统_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《C语言程序之飞机票订票系统》由会员分享,可在线阅读,更多相关《C语言程序之飞机票订票系统(63页珍藏版)》请在金锄头文库上搜索。

1、软件课程设计报告班级:光电0905姓名:彭应钦学号:U200914197目录1 软件设计 31.1 主要功能 31.2 程序模块 41.3 结构体 51.4 文件指针定义 61.5 函数声明 61.6 流程图 71.7 说明 232 软件测试 253 算法改进 334 开发体会 34附录:源代码清单 341 软件设计1.1 主要功能本程序最多支持管理100 个航班信息, 10000 机票信息,管理员可以进行航班信息的输入、单个或全部航班信息的删除、航班信息查询、旅客信息输入、机票信息查询、 机票订购以及机票退订等功能, 其中航班信息查询支持按航班号查询以及按目的地和起飞时间查询两种方式,机票信

2、息查询支持按航班号查询、按旅客姓名查询以及按机票编号查询三种方式。 程序运行开始时要输入管理员密码(默认为 U200914197 ) ,通过后可以自由进行操作,但需要按提示操作。具体功能如下:精品资料1. 菜单 主菜单 航班信息查询方式菜单航班信息维护方式菜单机票信息查询方式菜单2. 文件读取本地航班信息读取本地机票信息读取3. 文件保存本地航班信息保存本地机票信息保存4. 信息输入 航班信息输入 机票信息输入5. 查询 航班信息查询 机票信息查询6. 航班信息维护7. 订票与退票1.2 程序模块机票1. 菜单模块 主菜单 航班信息查询方式菜单 航班信息维护方式菜单信息查询方式菜单2. 文件读

3、取模块本地航班信息读取本地机票信息读取3. 文件保存模块本地航班信息保存本地机票信息保存4. 信息输入模块 航班信息输入 机票信息输入5. 查询模块 航班信息查询 机票信息查询6. 航班信息维护模块7. 订票与退票模块struct FLIGHT/ 航班信息结构1.3 结构体char flight_num10;/ 航班号char start10;/ 出发地char destination10;/ 目的地char takeoff_time8;/ 起飞时刻char arrive_time8;/ 到达时刻unsigned int num;/ 总票数unsigned int left;/ 剩余票数uns

4、igned int price;/ 价格;机票信息结构struct TICKET/ char flight_num10;/ 航班号char ticket_num10;/ 机票编号char start10;/ 出发地char destination10;/ 目的地char takeoff_time8;/ 起飞时刻char arrive_time8;/ 到达时刻char gate_num5;/ 登机口char seat_num10;/ 座位号char name10;/ 姓名char sex4;/ 性别char id_num20;/ 身份证号char phone_num16;/ 联系电话;struc

5、t FLIGHT allM;/航班结构数组struct FLIGHT *pp;/指向航班的结构数组struct TICKET passengerN; /机票信息结构数组struct TICKET *qq;/1.4 文件指针定义FILE *fp_flight_info,*fp_ticket_info;/ 航班信息文件指针,机票信息文件指针1.5 函数声明void flight_info_input();/ 航班信息输入函数void flight_info_delete();/ 单个航班信息删除void flight_info_deleteall();/ 全部航班信息删除void ticket_i

6、nfo_input(struct FLIGHT *p);/ 机票信息输入void ticket_book();/ 机票订购void ticket_cancel();/ 机票退订void fileread1();/读取本地航班信息void fileread2();/读取本地机票信息void filesave1();/保存本地航班信息void filesave2();/保存本地机票信息void search_flight_num();/按航班号查询航班信息void search_destination_time();/按目的地和起飞时间查询航班信息void search_ticket_flight

7、_num();/ 按航班号查询机票信息void search_ticket_name();/按旅客姓名查询机票信息void search_ticket_num();/按机票编号查询机票信息void rootmenu();/ 主菜单void menu1();/航班信息查询方式菜单void menu2();/航班信息维护方式菜单void menu3();/机票信息查询方式菜单1.6 流程图系 统 总 体 结 构精品资料main 函数流程图精品资料开始精品资料23456menu1();主菜单void rootmenu()流程图menu1,menu2,menu3的流程图与主菜单的流程图一样,不再重复。

8、开始指针返回 文件开头初值pp+, flinum+本地文件读取航班信息读取与机票信息读取流程图是一样的,不再重复精品资料本地文件保存精品资料航班信息输入精品资料单个航班信息删除全部航班信息删除与此流程图类似,不再重复精品资料开始否航班信息查询机票信息查询与此类似,不再重复显示提示*打印机票主菜单显示提示机票订购精品资料开始机票退订精品资料1.7 说明此程序中除地名人名性别用中文输入外,其他全用英文输入,时间请用 24 时制且按 09:04 的格式输入(注意冒号为英文下输入) 。为了更流畅地运行程序请按提示操作。 正常的程序退出只能使用主菜单下的保存退出, 否则将丢失信息。 系统的初始密码为U2

9、00914197 。 接下来介绍关于程序中的一些具体实现。 航班信息以及机票信息用的是结构数组存储, 且用结构指针进行传递。 定义了两个外部静态型变量计数航班数以及已售机票数, 又定义了两个文件指针分别指向存储航班信息的文件和存储机票信息的文件。 为了将界面做的比较友好, 做了四个菜单,且主函数中除了验证密码外功能外,其他均是调用函数。航班信息包括航班号、出发地、目的地、起飞时刻、到达时刻、总票数、剩余票数、价格,机票信息包括航班号、 机票编号、 出发地、 目的地、 起飞时刻、 到达时刻、 登机口、 座位号、姓名、性别、身份证号、联系电话,其中航班号、出发地、目的地、起飞时刻、到达时刻、价格均

10、是真实信息,总票数、剩余票数是随手写的,航班信息在显示时均会显示, 且会有一个内部编号以供订票用、 删除用, 这样在其它函数中就不用重复写查询函数,机票编号是用B1 +机票订购次序编号而成,登机口是用 A+航班号后两位而成的(用到了 sprintf 函数) ,座位号是用买票的先后顺序而生成的,且统一按三位的格式显示,由于DOS 屏宽的限制机票信息不显示身份证号码以及联系电话。 菜单选项均用字符识别以避免在使用数字时会不停地显示。 文件读取时是用的 fread 函数的返回值是读取的项数而构成的 for 循环以读出所有信息且不会多读取。 保存函数是直接写信息。 该程序只读一次文件且只写一次文件,所

11、以退出只能用主菜单下的保存退出。航班或机票信息输入时char 型均用gets 函数输入, int 型均用 scanf 函数输入。 所有查询函数均用 strcmp 或者直接比较数值大小来实现, 其中按目的地和起飞时间查询航班信息时, 时间只取前两位, 所以用到 strncmp 函数。 此外, 航班信息删除以及退票均是使用后一个信息替换前一个信息且构成for 循环来实现的。改程序中最大的亮点是可以卖出退订的机票而生成机票号和座位号时可以使用退了的号码而不出错。改程序其实可以继续增加功能, 例如更改密码的功能, 有更加多的查询方式, 以及可以支持不同的输入(如地名用中文、拼音、缩写等) ,目的地还要显示所降落的机场,所坐飞机的机型、舱位等级,支持更多的出发地(默认为武汉) ,还有就是支持不同的日期以及可以根据一个星期的航班信息查询以后任一天的航班信息。2软件测试- C:U5er5Admi nf5tratorXDes 1rtop直应钦 U20091419ADebjgU 2。0 91419道应钦,exe”麻班信息维护餐 册册自3 .息 前一一箕一百 息班班 B.B霜出 退 12 3 4请输入选项!r C:U5er5Admini5trat

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号