(完整word版)飞机订票系统实验报告
实验题目:订票系统
实验目的:
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 //包含access 函数的头文件 #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];
sizeof 指针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(" ★---您好,欢迎进入飞机订票系统!---★\"); printf("====================================================== =========================\");
do
{
printf(" --------☆ 1.增加航班信息☆-------- \\"
" --------☆ 2.浏览航班信息☆-------- \\"
" --------☆ 3.查航班信息☆-------- \\"
" --------☆ 4.订票业务☆-------- \\"
" --------☆ 5.退票业务☆-------- \\"
" --------☆ 6.修改航班信息☆-------- \\"
" --------☆0.退出☆-------- \\");
printf("====================================================== ==========================\");
printf("请在0-6中选择以回车键结束:\\");
scanf("%d",&j);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论