c航空管理系统解读Word格式.docx
《c航空管理系统解读Word格式.docx》由会员分享,可在线阅读,更多相关《c航空管理系统解读Word格式.docx(33页珍藏版)》请在冰豆网上搜索。
1.更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养学生综合运用所学知识独立完成课题的能力。
3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
7.这个程序是对编程基本功的一个训练,对于初学C++语言的人,将分支、循环、数组、函数综合应用,而不仅限于编制独立的小程序,能够大大提高编程水平。
关键词:
C++,vc6.0.航空管理系统
二、课程设计内容与实现的功能
该系统写入了比较常用的几个功能,实现了航班信息的录入,查询,删除,订票和退票等功能。
三、系统分析与设计
1、系统分析
该系统写入了比较常用的几个功能,实现了航班信息的录入,查询,删除,订票和退票等功能。
方便的系统操作提示,系统维护性较好,更新和维护都比较方便,在方法上可以增加更多,构造更多的函数,
a)、实验完成了题目的要求
b)、编写代码基本上能够满足编程规范的要求,代码的变量命名,以及注释的书写,基本能按照要求进行。
c)、将数据结构中的队列和堆栈的知识复习到,并且学会创新,在代码的编写中,学习了编程规范,学习了结构化编程。
d)、函数的定义中用到很多switch语句,实现选择功能、
2、系统设计:
定义函数并调用函数,实现录入,浏览,查询,订票,退票,保存功能,将主函数放在功能函数之前,一目了然。
程序的可读性增加,函数名用见名知意的简单英文单词和汉语拼音。
使用结构体,将一系列具有相同类型或不同类型的数据构成的数据集合在一起,方便以后使用,使用函数fopen浏览文件,strcmp判断字符串大小。
2.1、模块设计:
1.函数声明:
voidinput();
//输入信息
voidprint();
//输出信息
voidsave();
//保存信息
voidread();
//读取信息
voidsearch();
//查找信息
voidshanchu();
//删除信息
voiddingpiao();
//订票信息
voidtuipiao();
//退票信息
voidxiugai();
//修改信息
2.在主函数里进行调用:
if(j<
0||j>
7)
j=0;
switch(j)
{
case1:
input();
break;
case2:
print();
case3:
xiugai();
case4:
search();
case5:
shanchu();
case6:
dingpiao();
case7:
tuipiao();
case0:
}
}while(j!
=0);
cout<
<
"
谢谢使用,再见!
endl;
}
3.函数调用:
分别调用了
input();
save();
read();
search();
dingpiao()、tuipiao();
xiugai();
九个函数。
(1)voidinput()
{
inty;
请依次输入航班信息:
endl<
*****************************************************************************"
for(i=0;
i<
N;
i++)
请输入航班号:
cin>
>
s[i].num;
请输入起始站:
s[i].start;
请输入终点站:
s[i].over;
请输入时间:
s[i].time;
请输入机票数:
s[i].count;
m++;
第"
m<
个信息已经输完是否继续?
按1继续,按0结束"
;
y;
if(y==0)
print();
(2)voidsave()
FILE*fp,*fp1;
if((fp=fopen("
sun.dat"
"
wb"
))==NULL)//打开文件并判断是否出错
创建文件失败!
getchar();
return;
if((fp1=fopen("
ru.dat"
))==NULL)
m;
if(fwrite(&
s[i],sizeof(structair),1,fp)==0)//向文件写入数据,并判断是否出错
向文件输入数据失败!
fprintf(fp1,"
%d"
m);
fclose(fp);
fclose(fp1);
(3)voidread()
{
rb"
))==NULL)
出错,请检查文件是否存在,按任意键返回菜单"
fscanf(fp1,"
&
m);
i++)
fread(&
s[i],sizeof(air),1,fp);
//从文件中读取信息
(4)voidprint()
charw[10];
航班号起始站终点站时间机票数"
printf(PRINT);
请按任意键+Enter结束返回上层菜单:
w;
(5)voidsearch()
charname1[20];
charname2[20];
charii[10];
intn,no;
do
请选择查找方式:
//打印查询方式菜单
1.按航班号查找"
endl
<
2.按终点站查找"
3.按航线查找"
0.返回订票"
请在0-3中选择:
按其他键+Enter结束返回主菜单:
n;
if(n==0)
switch(n)
请输入航班号:
no;
请输入终点站名称:
name2;
请输入起始站名称:
name1;
{
if(strcmp(s[i].over,name1)==0||strcmp(s[i].over,name2)==0)
查找航班信息成功!
if(s[i].num==no)//按航班号判断输出条件
}
no=0;
//将航班号赋值为
查找完毕:
是否继续查找?
请键入yes或no以回车键结束"
ii;
}while(strcmp(ii,"
yes"
)==0);
(6)voidshanchu()
intno,n;
do
请选择删除方式+Enter结束:
*1.按航班号删除"
*2.按航线删除"
*0.返回"
请在0-2中选择+Enter结束:
if(s[i].num==no||strcmp(s[i].start,name1)==0&
&
strcmp(s[i].over,name2)==0)//判断输入信息是否存在
s[i]=s[m-1];
m--;
查找完毕"
是否继续删除"
请键入yes或no+Enter结束"
if(!
strcmp(ii,"
))
}while(n!
=1&
n!
=2&
=3&
=4&
(7)voiddingpiao()
intn;
chara[10];
do
请输入您要订的机票数+Enter结束:
if(n<
0)
请输入有效的机票数!
if(s[i].count!
=0&
s[i].count>
=n)//判断是否出错
s[i].count=s[i].count-n;
订票成功!
if(s[i].count<
n)//判断是否出错
是否继续?
请输入yes或no+Enter结束:
a;
}while(!
strcmp(a,"
));
(8)voidtuipiao()
请输入您要退的机票数目:
0)
s[i].count=s[i].count+n;
退票成功!
请键入yes或no+Enter结束:
(9)voidxiugai()
2.2、数据结构说明:
structair
intnum;
charstart[20];
charover[20];
chartime[10];
intcount;
}s[N];
定义了一个结构体,结构体有整型变量列车号num,字符数组起始站start、终点站over,时间time和票数count,都可以用s[N]来调用。
2.3、算法流程图:
四、系统测试与调试分析
1、系统测试
●测试方法:
黑盒
●测试技术:
功能测试
●测试数据:
输入输出
●测试报告:
如下表
测试说明
测试名称
航空管理系统
测试目的
验证系统对于系统处理数据能力
测试技术
单元测试
测试方法
黑盒测试法
测试用例
测试内容
用户登陆功能选项
测试步骤
输入功能选项
输入正确功能选项
输入错误功能选项
测试数据
在0——7之间的选项
输入小于0的数
输入大于7的数
预期结果
正常进入系统
提示操作错误
测试结果
与预期相符
2、调试分析:
在调试过程中,PRINT定义的顺序不能交换,否则就会进入死循环。
五、用户手册
1、系统进入主界面
2输入航班信息
3浏览航班信息
4查找航班
5修改航班信息
6订票
7退票
8退出界面
六、程序清单
#include<
iostream.h>
stdio.h>
string.h>
stdlib.h>
#defineN1000
inti;
intm=0;
#definePRINT"
%-d%12s%12s%10s%12d\n"
s[i].num,s[i].start,s[i].over,s[i].time,s[i].count
voidmain()
intj;
★***订票系统***★"
****************************************************************************"
"
1.输入航班信息2.浏览航班信息"
3.修改航班信息4.查找航班信息"
5.删除航班信息6.订票信息"
7.退票信息0.退出"
请在0-7中选择+Enter结束:
j;
if(j<
7)j=0;
voidinput()
voidsave()
voidread()
voidprint()
voidsea