c语言课程设计报告_航空订票系统11111Word文档下载推荐.docx
- 文档编号:12994259
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:61
- 大小:822.40KB
c语言课程设计报告_航空订票系统11111Word文档下载推荐.docx
《c语言课程设计报告_航空订票系统11111Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告_航空订票系统11111Word文档下载推荐.docx(61页珍藏版)》请在冰豆网上搜索。
一.设计目的
对所学知识进行体系化、系统化的整理;
进行模块化的训练,将大的程序转化为一个个小的函数一次解决问题;
统筹规划,在设计之前有一个大的构想,以此为基础进行发散设计;
关注细节,避免在设计程序中因为一个小小的bug导致程序崩溃
代码健壮性,考虑一些错误的操作可能带来的影响。
二.设计内容
三.概要设计
1.功能模块图;
2.各个模块详细的功能描述。
<
一>
游客登陆:
1、信息查询
a.航班号查询
(依据输入的航班号来找到对应的航班信息)
b.起降地查询
(依据输入的起飞地和目的地来找到对应航班信息)
c.时间查询
(依据输入的时间找到对应航班信息时间可逐渐具体)
2、订票系统
根据输入的起飞地与目的地显示出所有走此航线的航班信息,然后根
据显示的信息输入想要订购航班的航班号,确认购票后系统自动付款将此
航班加入登陆用户的订单信息中。
3、退票系统
进入后首先显示出当前登陆者已有的航班订单,输入需要退票的航班
的航班号,退票成功。
4、订单详情
显示出当前登陆者已有的航班订单信息,并按照时间先后顺序显示。
二>
管理员登陆:
1、增加航班
确定增加新航班后依据提示以此输入航班号、起飞地、目的地、起飞
时间、到达时间、票价;
之后选择是否继续输入,若选Y继续刚才的循环,
否则退出增加航班。
2、删除航班
输入需要删除航班的航班号,回车后该航班即被删除。
3、修改航班信息
输入需要修改航班的航班号,显示出该航班的航班信息,选项选择修
改航班信息的哪一项,选择后即可对该项信息进行修改。
4、信息查询
a.时间查找
(与游客登陆中的时间查询一样)
b.起始地查询
(输入起始地,显示出由此地起飞的所有航班信息)
c.目的地查询
(输入目的地,显示飞往此地的所有航班信息)
d.起降地查询
(与游客登陆中起降地查询一致)
e.航班号查询
(与游客登陆中航班号查询一致)
f.所有航班
(显示出当前已录入的所有航班航班信息)
5、账号管理
a.密码修改
(针对遗忘密码的用户可以进行密码的重置)
b.所有用户
(显示出所有已注册用户的用户名)
三>
帐号申请:
根据提示输入用户名,若该用户名已有则显示“该用户已存在”,若用户
名可用,则继续输入密码,两次密码一致则注册成功,可使用该用户以游客
身份登陆。
四.详细设计
1.功能函数的调用关系图
2.各功能函数的数据流程图;
游客登陆后将该游客对应链表中的节点位置进行传递,以便以后对该游客的信息操
做;
在使用到链表时用打开文件的函数将文件信息转化为链表返回其头指针,使用处用
相同类型的指针变量作为接收即可对该链表进行操作;
在对链表操作完成后,将链表头指针传递给保存信息到文件的函数,该函数会将链
表转化为文件信息进行储存;
输入密码函数,只需将用于保存密码的数组名作为参数传递,则可对该数组进行密
码的输入与回删。
3.重点设计及编码。
1、将文件信息读入并转化为链表进行操作
Youke*file_1()
//将游客信息从文件中读入转化为链表
{
FILE*fp;
Youke*head_youke,*p1,*p2,*p3;
inti;
head_youke=(Youke*)malloc(LEN_Youke);
//新建头节点不储存数据信息
head_youke->
next=NULL;
p1=head_youke;
if((fp=fopen("
youke_information.txt"
"
r"
))==NULL)
printf("
Openyouke_informationerror!
\n"
);
exit
(1);
}
while(feof(fp)==0)
//当读取文件没有结尾时
p2=(Youke*)malloc(LEN_Youke);
//新开辟空间
fread(p2,LEN_Youke,1,fp);
//将一个结构体大小的数据信息存放在该空间中
for(i=0,p3=p2;
p3->
name[i]!
='
\0'
;
i++)
name[i]-=3;
//对从文件读入的信息解密
passwd[i]!
i++)
passwd[i]-=4;
p1->
next=p2;
//让上一个节点指向这个新节点
p2->
//新节点指向空
p1=p2;
fclose(fp);
for(p1=p2=head_youke->
next;
next!
=NULL;
p2=p1,p1=p1->
next);
//目的为链表结尾指向NULL,貌似可以不用..
returnhead_youke;
//返回这个链表头节点
以便以后对链表进行操作
2、将链表信息储存在文件中
voidfile_2(Youke*head_youke)
//将游客链表信息储存在文件中
传递链表的头节点
Youke*p1,*p2;
w"
p1=head_youke->
//p1为头节点的下一个节点
while(p1!
=NULL)
for(i=0,p2=p1;
name[i]+=3;
//在将信息保存到文件前进行加密处理
passwd[i]+=4;
if(fwrite(p1,LEN_Youke,1,fp)!
=1)
//每次向文件中写入一个结构体大小的数据信息
filewriteerror!
p1=p1->
3、输入密码函数,可以进行回删
voidpasswd(charpasswd[])
charah;
for(i=0;
ah=getch();
if(ah==13)
passwd[i]='
break;
if(ah==127)
if(i<
=0)
i=i-1;
continue;
\b\b"
i=i-2;
passwd[i]=ah;
putchar('
*'
五.测试数据及运行结果
1.正常测试数据(3组)及运行结果;
首页
游客登陆
游客首页
信息查询
航班号查询
起降地查询
查询结果
时间查询
订票系统
支付宝功能
退票系统
订单详情
管理员登陆
管理员首页
增加航班
删除航班
修改航班
查看已有航班
起始地查找
目的地查询
所有航班查询
用户管理
密码修改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 航空 订票 系统 11111