学号:
姓名:
完成日期:2010年12月
一、题目内容:
1、题目描述:某航空公司订票信息管理系统
2、功能要求:
(1)录入全部机票的订票信息(包括已定出和未定出),订票编号按顺序生成; (2)显示全部机票的订票信息;
(3)添加一条订票信息;
(4)给定订票编号,显示对应该订票编号的全部信息;
(5)给定客户姓名,显示该客户的全部订票信息;
(6)给定订票编号,修改此编号的订票信息,要求有修改确认;
(7)给定航线编号,显示该航线所有未定出的机票信息;
(8) 给定客户编号或身份证号,删除此客户的订票信息(退订),删除处理后可以到该编号。要求有删除确认;
(9)给定订票编号,删除此编号的订票信息,删除处理后无法到该编号。要求有修改确认;
(10)提供一些统计各类信息的功能(例如:各种类型舱位的订票数量、各种类型舱位机票剩余数量、最高折扣、某一天的机票总销售额等,可以自己发挥);
(11)提供一些按各类信息进行排序的功能(自己发挥)。
3、题目要求:
(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;
(2) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
4、输入要求:
应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
5、输出要求:
(1) 应用程序运行后,要在屏幕上显示一个菜单;
(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
(3)输出的结果要清晰美观,以表格形式上下对齐。
二、用户文档
1、应用程序功能的说明:
本程序可实现以下功能:
1存储客机信息。
(包括:订票编号、是否定出、客户姓名、客户身份证号码、折扣比例、航线编号、航班日期、出发城市、到达城市、舱位类型(经济舱、公务舱、头等舱)、机票价格、结算金额、备注信息等。);
2显示全部机票的订票信息;
3添加一条订票信息;
4给定订票编号,显示对应该订票编号的全部信息;
5给定客户姓名,显示该客户的全部订票信息;
6给定订票编号,修改此编号的订票信息,要求有修改确认;
7给定航线编号,显示该航线所有未定出的机票信息;
8给定客户编号或身份证号,删除此客户的订票信息(退订),删除处理后可以到该编号。要求有删除确认;
9给定订票编号,删除此编号的订票信息,删除处理后无法到该编号。要求有修改确认;
10按折扣从高到低排序;
2、安装、启动方式:
将本程序复制到指定路径下,用WIN-TC,TC2.0或TC3.0打开。
3、界面、交互方式、操作方式:
打开程序后,您将看到以下界面:
键入1选择录入信息:
键入2选择输出信息:
键入3选择添加一条信息:
键入4选择按编号查:
键入5选择按姓名查:
键入6选择按编号修改:
键入7选择查未定出的机票:
键入8选择按身份证号退订:
键入9选择按编号删除:
键入10选择按折扣从大到小排序:
4、输入数据的类型、格式、内容限制:
本程序仅支持数字、字符和英文字母的输入与显示,不支持汉字,英文字母区分大小写。
各项信息及可输入字符数上限:
信息点 | 字符数上限 |
订票编号 | 10 |
是否定出 | 10 |
客户姓名 | 25 |
客户身份证号码 | 45 |
折扣比例 | 10 |
航线编号 | 10 |
航班日期 | 10 |
出发城市 | 10 |
到达城市 | 10 |
舱位类型 | 10 |
机票价格 | 10 |
结算金额 | 10 |
| |
本程序支持的客机上限为:100
5、程序的运行环境
本程序可在安装有Turbo C 3.0,2.0或WIN-TC的PC或其他兼容机上运行。
6、产生的错误提示及原因
提示信息 | 产生原因 |
Input Eorror. | 键入错误编号 |
No information. | 键入错误 |
Wrong NO. | 键入错误编号 |
Wrong flight number. | 键入错误航线编号 |
| |
三、技术文档
1、程序整体结构
2、模块的划分及各模块的功能
本程序共10个模块,包括:主函数、菜单模块、10个功能模块。
其中,菜单模块由两个函数嵌套而成,其余10个功能模块各由一个函数构成。
菜单模块中各函数的用途:
MENU()
输出菜单
DisplayMenu()
选择所要进行的操作
各功能模块(函数)的用途:
input()
通过键盘输入机票的订票信息
output()
显示全部机票的订票信息
add_a_ticket()
添加一条订票信息
search_by_NO()
给定订票编号,显示对应该订票编号的全部信息
search_by_name()
给定客户姓名,显示该客户的全部订票信息
revise_by_NO()
给定订票编号,修改此编号的订票信息
search_surplus_ticket_by_flight_number()
给定航线编号,显示该航线所有未定出的机票信息
delete_by_ID()
给定客户编号或身份证号,删除此客户的订票信息(退订)
delete_by_NO()
给定订票编号,删除此编号的订票信息
sort_by_discount()
按机票折扣从高到低排序
3、对于重要模块(函数)的说明
(1)函数DisplayMenu()的算法
(2)函数input()的算法
(3)函数output()的算法
(4)函数add_a_ticket ()的算法
(5)函数search_by_NO()的算法
(6) 函数search_by_name()的算法
(7)函数revise_by_NO()的算法
(8)函数search_surplus_ticket_by_flight_number()的算法
(9)函数delete_by_ID()的算法
(10)函数delete_by_NO()的算法
(11)函数sort_by_discount()的算法
千岛湖门票4、程序的测试
(1)在菜单中输入“1”,即:选择input功能,请按照程序给出的提示输入以下内容。输入完毕后,请按任意键返回主菜单。
本次需要输入:2人
订票编号 | 阿拉山口天气预报是否定出 | 客户姓名 | 身份证号 | 折扣比例 | 航线编号 | 航班日期 | 出发城市 | 到达城市 | 舱位类型 | 机票价格 | 结算金额 |
1 | NO | X | 4 | 4 | 4 | 1-1 | B | A | R | 1000 | 400 |
2 | 新乡市政府采购网YES | A | 5 | 5 | 4 | 1-2 | A | B | X | 1000 | 500 |
| | | | | | | | | | | |
(2)返回菜单后输入“2”,即:选择output功能。
查看全部输入内容是否输入正确。
然后,按任意键返回主菜单。
(3)返回菜单后输入“3”,即:选择add_a_ticket功能。
按照提示添加两组信息,
订票编号 | 天津吃住玩一体温泉是否定出 | 客户姓名 | 身份证号 | 折扣比例 | 航线编号 | 航班日期 | 出发城市 | 到达城市 | 舱位类型 | 机票价格 | 结算金额 |
3 | NO | B | 6 | 8 | 3 | 1-10 | C | D | R | 1000 | 800 |
4 | NO | C | 7 | 2 | 3 | 1-20 | D | C | X | 1000 | 200 |
| | | | | | | | | | | |
然后,按任意键返回主菜单。
返回菜单后输入“2”,看是否有相应添加内容;
(4)返回菜单后输入“4”,即:选择search_by_NO功能。
输入“1”,此时应显示出编号1相关信息。
然后,按任意键返回主菜单。
(5)返回菜单后输入“5”,即:选择search_by_name功能。
按提示输入客户姓名,如:“A”,此时应显示客户“A”的订票信息信息,
按任意键返回主菜单。
(6)返回菜单后输入“6”,即:选择revise_by_NO功能。
输入所要修改的订票编号“3”,显示原信息列表,提示是否修改。
此时选择“Y”,按提示将信息进行修改。(若输入“N”表示放弃修改)
修改完成后,程序将再次显示该编号下修改后的信息。
订票编号 | 是否定出 | 客户姓名 | 身份证号 | 青海人事考试信息网折扣比例 | 航线编号 | 航班日期 | 出发城市 | 到达城市 | 舱位类型 | 机票价格 | 结算金额 |
3 | YES | D | 7 | 6 | 3 | 1-11 | C | D | X | 1000 | 600 |
| | | | | | | | | | | |
(7)返回菜单后输入“7”,即:选择search_surplus_ticket_by_flight_number功能。
按提示输入要查询的航线编号“4”,此时显示未定出的机票信息。
订票编号 | 是否定出 | 客户姓名 | 身份证号 | 折扣比例 | 航线编号 | 航班日期 | 出发城市 | 到达城市 | 舱位类型 | 机票价格 | 结算金额 |
1 | NO | X | 4 | 4 | 4 | 1-1 | B | A | R | 1000 | 400 |
| | | | | | | | | | | |
按任意键返回主菜单。
(8)返回菜单后输入“8”,即:选择delete_by_ID功能。
按提示输入客户身份证号码,如:“4”,显示该客户订票信息,并提示是否删除。
此时选择“Y”删除该信息。(若输入“N”表示放弃删除)
按任意键返回主菜单。
回到功能2,此时,该客户身份证号码被保留,订票信息被清除,即退票。
(9)返回菜单后输入“9”,即:选择delete_by_NO功能。
按提示输入订票编号,如:“4”,显示该订票信息,并提示是否删除。
此时选择“Y”删除该信息。(若输入“N”表示放弃删除)
按任意键返回主菜单。
三亚最美景点排名 回到功能2,此时,该订票信息被清除。
(10)返回菜单后输入“10”,即:选择sort_by_discount功能。
此时所有机票的折扣按照从大到小的排列顺序,并输出信息。
按任意键返回主菜单。
上述过程无异常,则测试通过。
5、程序开发环境:Turbo C 3.0
6、程序源代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define NUM 100 /*定义符号常量NUM代替100(客机数上限)*/
typedef struct ticket{ /*订票信息的结构类型*/
char NO[10]; /*订票编号*/
char order[10]; /*是否定出*/
char name[25]; /*客户姓名*/
char ID[45]; /*客户身份证号码*/
char discount[10]; /*机票折扣*/
char flight_number[10]; /*航线编号*/
char Take_offtime[10]; /*航班日期*/