(完整word版)飞机订票系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验题目:订票系统
实验目的:
1.了解并掌握数据结构的设计方法,具备初步的独立分析和设计能力;
2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
实验要求:
●任务:通过此系统可以实现如下功能:
●录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
●查询:
⏹可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班
票价,票价折扣,确定航班是否满仓);
⏹可以输入起飞抵达城市,查询飞机航班情况;
●订票:(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
●退票:可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
●修改航班信息:
当航班信息改变可以修改航班数据文件
实验主要步骤:
航班端
(一) 输入航班信息,add()增加航班信息,并保存到save().
(二) 修改信息,在xiugai()函数里,输入要修改的航班号,选择修改的内容,如修改时间,地点并保存。
客户端
(一) 输入起始站和终点站,在两者都符合的条件下在search ()函数里查找,并输出航班信息。
(二) 订票:用search(),判断是否有符合的航班,有则输出并进行订票,还有输入客户信息。
(三) 退票:调用search(),用它的返回值判断是否有符合的航班,有则输入,并删除客户信息。
1) 在主函数里先了调用chushihua(),确定有hangban.dat 文件,并让客户或航班端选择相应的模块。
2) 定义订票业务函数,在这个函数中首先调用了search 函数查找需要订票的航班,用search 函数的返回值判断是否有该航班。运用if 语句实现订票时的多种情况:订票数输入不正确、飞机票数不足等情况。订票成功时运用p[i].count=p[i].count-n;将已被订的机票数减去,以显示新的即时航班信息
3) 定义退票业务函数:
4) 与订票函数相类似,只做稍稍修改就行退票成功是用p[i].count=p[i].count+n; 将航班的剩余票数加上去以显示即时航班信息。 飞机
订票
系统
增加航
班信息
信息 退票 业务 订票 业务 修改航班信息 删除客户信息
查找航班信息 信息
按起终
点查找 退出并保存
5) 模块功能:设立一个初始化函数来得到航班信息。具体设计是第一次运行程序时自动生
成保存航班信息的文
件,并输入初始航班信息,待第二次开始就可
以直接读取该文件获得
已有的航班信息并可直
接使用。运用了access 函数判断文件是否存
在。
实验结果:
实验源程序:
#include
#include
#include
#define M 1000 //定义最多的航班数
#define E 1000
struct air //定义结构体数组
{
int num; //定义航班号
char start[20]; //航班起始站
char des[20]; //终点站
char time[10]; //飞行时间
int count; //机票数量
int price; //机票价格
}p[M];
struct client
{
long id; //身份证
char name[20]; //客户姓名
int count ; //客户订票量
int num; //航班号
}c[E];
数据文件 是否存在 输入航班信息并建立新数据文件保存下来 从已有的数据文件读取已有的航班信息 Y 初始化 结束
N
int i,m=0,e=0; //定义全局变量
char ii[10];
void add(); //函数声明增加航班信息函数
void print(); //显示航班信息
int search(); //查找航班信息
void dingpiao(); //订票业务
void tuipiao(); //退票
void read(); //读取文件
void save(); //保存文件
void output(); //输出格式
void chushihua(); //系统初始化
void build(); //建立数据文件
void del();
void xiugai();
void main()
{
int j;
// chushihua(); //系统初始化判断是否存在原始数据文件
printf(" ★---您好,欢迎进入飞机订票系统!---★\n"); printf("====================================================== =========================\n");
do
{
printf(" --------☆ 1.增加航班信息☆-------- \n\n"
" --------☆ 2.浏览航班信息☆-------- \n\n"
" --------☆ 3.查找航班信息☆-------- \n\n"
" --------☆ 4.订票业务☆-------- \n\n"
" --------☆ 5.退票业务☆-------- \n\n"
" --------☆ 6.修改航班信息☆-------- \n\n"
" --------☆0.退出☆-------- \n\n");
printf("====================================================== ==========================\n");
printf("请在0-6中选择以回车键结束:\n\n");
scanf("%d",&j);
switch(j)
{