c语言课程设计报告_航空订票系统Word格式.docx

上传人:b****9 文档编号:12994188 上传时间:2022-10-01 格式:DOCX 页数:39 大小:627.07KB
下载 相关 举报
c语言课程设计报告_航空订票系统Word格式.docx_第1页
第1页 / 共39页
c语言课程设计报告_航空订票系统Word格式.docx_第2页
第2页 / 共39页
c语言课程设计报告_航空订票系统Word格式.docx_第3页
第3页 / 共39页
c语言课程设计报告_航空订票系统Word格式.docx_第4页
第4页 / 共39页
c语言课程设计报告_航空订票系统Word格式.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告_航空订票系统Word格式.docx

《c语言课程设计报告_航空订票系统Word格式.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告_航空订票系统Word格式.docx(39页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告_航空订票系统Word格式.docx

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*)maloc(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*)maloc(LEN_Youke);

//新开辟空间

fread(p2,LEN_Youke,1,fp);

//将一个结构体大小的数据信息存放在该空间中

for(i=0,p3=p2;

p3->

name[i]!

='

\0'

;

i++)

name[i]-=3;

//对从文件读入的信息解密for(i=0,p3=p2;

passwd[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);

p2->

//目的为链表结尾指向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;

p2->

name[i]+=3;

//在将信息保存到文件前进行加密处理for(i=0,p2=p1;

passwd[i]+=4;

if(fwrite(p1,LEN_Youke,1,fp)!

=1) //每次向文件中写入一个结构

体大小的数据信息

filewriteerror!

p1=p1->

3、输入密码函数,可以进行回删

voidpasswd(charpasswd[])

inti;

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组)及运行结果;

首页

游客首页

信息查询

航班号查询

起降地查询

查询结果

时间查询

订票系统

支付宝功能

退票系统

订单详情

管理员登陆

管理员首页

增加航班

删除航班

修改航班

查看已有航班

起始地查找

目的地查询

所有航班查询

用户管理

密码修改

所有用户

帐号申请

2.非正常测试数据(2组)及运行结果。

登陆密码错误

错误的航班号

错误的起降地

错误的时间

六.调试情况,设计技巧及体会

1.对自己的设计进行评价,指出合理和不足之处,提出改进方案;

仍有很多待优化的地方,例如订购机票时没有显示出此航班飞机还有多少座位,是否还能订购;

没有区分游客与用户的区别,作为游客不需要登陆即可进行简单的查询操作;

过期机票不应当予以现实....

2.对设计及调试过程的心得体会。

期间会遇到许多难以解决的问题,每次出现Bug使用调试工艺挨个检错,有时也在必要的地方进行printf来检测当前变量值是否为预期的值。

七.参考文献

《CPrimerPlus》

《LinuxC编程实战》

八.附录:

源代码(电子版)

/*====================================================================

*

*Filename:

C.c

*Description:

CurriculumDesign

*Version:

1.0

* Created:

2013年06月08日18时52分56秒

*Revision:

none

*Compiler:

gcc

*Author:

Leehom(RenLixiang),OurHom.759@

*Company:

Class1204ofComputerScienceandTechnology

=====================

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1