飞机订票系统Word文档格式.docx
《飞机订票系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《飞机订票系统Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
根据需求分析,可以将这个系统的设计分为如下五大模块:
输入航班信息,保存航班信息,浏览航班信息,查找航班信息,退出。
四、详细设计
1、结构体设计
建立航班结构体,结构体成员包括航班号,起点站,终点站,飞行时间(星期几),
预售票总数.
structair
{intfir_num;
charstart[20];
charterminus[20];
charfir_time[10];
intcount;
}s[N];
/*s[N]中每个数组元素依次对应一个航班信息*/
[注意]
s[N]中的N为学生个数,程序中采用宏定义的方式,可以随时在源程序宏定义中改,本程序宏定义#defineN10000.
2、主函数
流程图:
显示一系列功能选项
主要程序:
main()//主函数
{
intj;
printf("
---欢迎您到飞机订票系统---\n"
);
printf("
********************************************************************************\n"
do
{printf("
1.请输入预定的飞机信息\n\n"
"
2.浏览所要预定的飞机信息\n\n"
3.查询所要预定的飞机信息\n\n"
0.退出系统\n\n"
注意:
这个飞机订票系统仅仅支持最近几个星期的航班信息!
!
\n\n"
请在0—3之间选择一个数字,然后按Enter:
scanf("
%d"
&
j);
switch(j)//利用枚举而选择其结构体中的一种
case1:
input();
break;
case2:
print();
case3:
search();
case0:
}
}while(j!
=0);
谢谢您使用我们的飞机订票系统\n"
3、各功能模块设计
(1)、输入航班信息模块
主要代码:
voidinput()//输入函数的定义
{
charf[]="
朱海侨"
;
inty;
请输入密码,然后再按Enter:
%s"
f);
if(strcmp(f,"
)==0)
请按顺序输入飞机航班信息(飞机航班的信息是以0结尾的):
for(i=0;
i<
N;
i++)
请输入飞机号:
\n"
s[i].fir_num);
请输入出发地:
s[i].start);
请输入终点:
s[i].terminus);
请输入飞行时间:
s[i].fir_time);
请输入飞机票序列号(序列号应该是以0结尾):
m);
s[i].count);
m++;
该组信息已经建立!
请按任意键继续,按0结束!
"
y);
if(y==0)
save();
print();
}
else
密码错误!
请在此输入您的密码,谢谢!
voidsave()//存储函数的定义
FILE*fp,*fp1;
if((fp=fopen("
chen.dat"
"
wb"
))==NULL)
printf("
建立文件失败!
getchar();
return;
if((fp1=fopen("
hao.dat"
m;
if(fwrite(&
s[i],sizeof(structair),1,fp)==0)
在文件中输入数据失败\n\n"
fprintf(fp1,"
fclose(fp);
fclose(fp1);
(2)、保存信息模块
(3)、信息浏览模块
voidread()//读写函数的定义
rb"
错误:
请确定文件是存在的!
请输入任意键返回菜单!
getchar();
fscanf(fp1,"
m);
fread(&
s[i],sizeof(s),1,fp);
voidprint()
charw[10];
read();
航班号始发地终点时间飞机票号\n"
printf(PRINT);
请输入任意键返回上一级菜单:
w);
(4)查询信息模块
显示查询方式菜单
voidsearch()//查询函数的定义
charname1[20];
charname2[20];
charii[10];
charctime[10];
intn,no;
请选择一种你想要查找的方式:
printf(
1.根据航班号查找\n\n"
2.根据终点地查找\n\n"
3.根据始发地查找\n\n"
4.根据飞行时间查找\n\n"
0.返回\n\n"
请在0—4中间选择一个整数:
请输入任意键返回开始菜单:
n);
if(n==0)
switch(n)
{case1:
请输入航班号:
no);
请输入终点:
name2);
请输入始发地:
name1);
case4:
ctime);
if(strcmp(s[i].start,name1)==0||strcmp(s[i].terminus,name2)==0)
\n成功查找到了航班信息!
printf(PRINT);
if(s[i].fir_num==no)
{printf("
if(strcmp(s[i].fir_time,ctime)==0)
no=0;
不能找到您所需要的信息!
:
您还需要继续服务,请输入“YES”或者“NO”,然后再按Enter\n"
ii);
}while(strcmp(ii,"
yes"
)==0);
五、上机操作
1、输入数据
管理员输入航班信息:
航班号起点站终点站飞行时间票数
100武汉西安7.890
101武汉北京7.9780
102上海西安7.9340
103广州武汉7.810
103广州武汉7.9500
2、编译、连接、运行
3、结果显示
(1)主菜单:
(2)、输入密码:
(3)、输入信息
(4)、浏览信息
(5)、信息查询
(5.1)按航班号查询
(5.2)按终点站查询
(5.3)按起点站查询
(5.4)、按时间查询
六、总结
通过这次课程设计,我重新温习了C语言的知识,加深了对书上知识的理解,系统地运用已学的知识,掌握了模块化设计方法以及用流程图表示算法,扩张自己在C语言方面视野,提高了自己用C语言进行程序设计的能力。
相信通过此次C语言课程设计所学的知识,在以后我能够在实际生活中解决所遇到的问题。
七、附录
源程序:
//飞机订票系统.cpp:
Definestheentrypointfortheconsoleapplication.
//
#include"
stdafx.h"
#include<
stdio.h>
string.h>
stdlib.h>
#defineN1000
structair//定义一个结构体
intfir_num;
charstart[20];
charterminus[20];
charfir_time[10];
intcount;
}s[N];
inti;
intm=0;
#definePRINT"
%-d%23s%15s%10s%10d\n"
s[i].fir_num,s[i].start,s[i].terminus,s[i].fir_time,s[i].count
voidinput();
//声明一些功能函数
voidprint();
voidsave();
voidread();
voidsearch();
voidmain()//主函数
请输入起点站:
请输入终点站:
请输入飞机票数(序列号应该是以0结尾):
航班号起点站终点站时间票数\n"
2.根据终点站查找\n\n"
3.根据起点站查找\n\n"
请输入终点站: