c语言程序设计报告飞机票预订系统Word格式.docx
《c语言程序设计报告飞机票预订系统Word格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计报告飞机票预订系统Word格式.docx(41页珍藏版)》请在冰豆网上搜索。
(3)订过票的乘客,可以退票;
(4)允许查询现有飞机票的售票处号及剩余座位数。
(5)允许查询已售出机票的信息。
2.2该系统中用到的数据结构
(1)所有飞机票构成一个单链表,且每部飞机票为一个结构体,其成员包括:
飞机票序号(int型)、飞机票名称(char[20],字符数组型)、飞机票剩余票数座位数10(int型)、next指针;
(2)所有乘客构成一个单链表,且每个乘客为一个结构体,其成员包括:
飞机票序号(int型)、乘客姓名(char[10],字符数组型)、飞机票名(char[20],字符型数组)、乘客持有票数(int型)、next指针;
3概要设计
3.1总体功能模块
3.1.1基本设计
此飞机票预订系统是由菜单的选择来实现人机交互的,进入预定页面以后就可以根据自己的需求选择不同的数字来进入不同的界面,进入不同的界面可以实现对飞机票的建立、插入、删除、查询等信息。
3.1.2开发平台
系统:
Windows7旗舰版(64位)
处理器:
Intel(R)Core(TM)i5-4210MCPU@2.6Ghz
内存:
4.00GB
程序开发软件:
MicrosoftVisualC++6.0
文档编写:
WPS2013抢鲜版
3.1.3系统功能图
进入飞机票预订系统之后,便可以根据自己的需求对飞机票预订进行增、删、改、查等操作,总流程图如图1所示:
3.2详细设计
3.2.1主函数的实现
voidmain()
{
intj;
printf("
★---您好,欢迎进入机票预订系统!
---★\n"
);
===============================================================\n"
do
{
printf("
--------☆1.输入航班信息☆--------\n\n"
"
--------☆2.浏览航班信息☆--------\n\n"
--------☆3.修改航班信息☆--------\n\n"
--------☆4.查找航班信息☆--------\n\n"
--------☆5.删除航班信息☆--------\n\n"
--------☆6.订票信息☆--------\n\n"
--------☆7.退票信息☆--------\n\n"
--------☆0.退出☆--------\n\n"
=================================================================\n"
请在0-7中选择以回车键结束:
\n\n"
scanf("
%d"
&
j);
switch(j)
{
case1:
input();
//调用输入模块
break;
case2:
print();
//调用打印模块
case3:
xiugai();
//调用修改模块
case4:
search();
//调用查找模块
case5:
shanchu();
//调用删除模块
case6:
dingpiao();
//调用订票模块
case7:
tuipiao();
//调用退票模块
case0:
;
}
}while(j!
=0);
//判断结束
谢谢使用,再见!
\n"
}
3.2.2打印模块程序
voidinput()
charf[]="
tanbowen"
//设置密码
inty;
请输入密码并以回车键结束:
%s"
f);
//读取密码
if(strcmp(f,"
)==0)
请依次输入航班信息(机票数位0结束输入):
完成输入信息请键入w以回车键结束\n\n"
//打印提示信息
--------------------------------------------------------------------------\n"
for(i=0;
i<
N;
i++)
printf("
请输入航班号:
s[i].num);
//读取航班号
请输入起始站:
s[i].start);
//读取起始站
请输入终点站:
s[i].over);
//读取终点站
请输入时间:
s[i].time);
//读取时间
请输入机票数(机票数为0结束输入):
m);
s[i].count);
//读取机票数
m++;
第%d个信息已经输完是否继续?
按任意键继续,按0结束"
y);
if(y==0)
{
save();
//将结构体信息存盘
print();
//输出输入的航班信息
break;
}
}
else
输入密码错误!
请检查您的密码是否正确!
谢谢!
再见!
3.2.3保存模块程序
voidsave()
FILE*fp,*fp1;
//定义文件指针
if((fp=fopen("
chen.dat"
"
wb"
))==NULL)//打开文件并判断是否出错
创建文件失败!
//打印出错提示
getchar();
return;
if((fp1=fopen("
hao.dat"
m;
if(fwrite(&
s[i],sizeof(structair),1,fp)==0)//向文件写入数据,并判断是否出错
向文件输入数据失败!
fprintf(fp1,"
fclose(fp);
//关闭文件
fclose(fp1);
3.2.4从文件读取信息模块
voidread()
rb"
))==NULL)//打开文件,并判断是否出错
出错,请检查文件是否存在,按任意键返回住菜单"
fscanf(fp1,"
m);
i++)
fread(&
s[i],sizeof(structair),1,fp);
//从文件中读取信息
3.2.5打印模块
voidprint()
charw[10];
read();
//调用读取文件函数
航班号起始站终点站时间机票数\n"
printf(PRINT);
//打印信息
请按任意键回车键结束返回上层菜单以:
w);
3.2.6查询模块
voidsearch()//查询模块
charname1[20];
charname2[20];
charii[10];
intn,no;
请选择查找方式:
//打印查询方式菜单
1.按航班号查找\n\n"
2.按终点站查找\n\n"
3.按航线查找\n\n"
0.返回\n\n"
请在0-3中选择:
按其他键以回车键结束返回主菜单:
n);
//读取查找方式
if(n==0)
break;
switch(n)
printf("
请输入航班号:
no);
//航班号
请输入终点站名称:
name2);
请输入起始站名称: