C语言课程设计报告飞机订票系统Word文档格式.docx
- 文档编号:20573208
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:19
- 大小:18.95KB
C语言课程设计报告飞机订票系统Word文档格式.docx
《C语言课程设计报告飞机订票系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告飞机订票系统Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
预售票总数、已售票数。
(3)整体设计与模块划分;
根据需求分析,该程序可分为以下四大模块:
飞机订票系统
输入模块显示模块查询模块退出模块
(4)代码设计;
包括——各功能模块的流程图;
重要模块中关键部分的代码分析;
关键函数的算法设
计和分析等等;
二、航班基本信息输入模块
航班信息录入函数:
开始
文件打开否
输入信息
输出错误信息
将信息输出到磁盘
是否继续
调用printf_back()函数
结束
航班信息浏览函数:
[流程图]显示信息
文件打开输出错误信息
查找航班信息
是否查找到
删除操作
查询模块:
分析:
基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。
在查询小模块中采用了直接查找的方法。
本模块可以通过多种查询方式进行完善。
这是本程序没有做的地方。
[流程图]
文件打开
查询方式
此处可以
航班号
完善其它
(一)核心源程序清单和执行结果:
a)源程序清单:
#include<
stdio.h>
stdlib.h>
io.h>
math.h>
//标准输入、输出头文件
string.h>
//包含字符串函数处理头文件
process.h>
//包含access函数的头文件
#defineN1000//定义最多的航班数
#definePRINT"
%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n"
s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//宏定义输出格式
structair
{
//定义结构体数组
intnum;
//定义航班号
charstart[20];
//航班起始站
charover[20];
//终点站
chartime[10];
//飞行时间
intcount;
//机票数量
}s[N];
inti,m=0;
//定义全局变量
charii[10];
voidadd();
//函数声明增加航班信息函数
voidprint();
//显示航班信息
voidsearch();
//查找航班信息
voidread();
//读取文件
voidsave();
//保存文件
voidoutput();
//输出格式
voidchushihua();
//系统初始化
voidbuild();
//建立数据文件
voidmain()
//主函数
intj;
chushihua();
//系统初始化判断是否存在原始数据文件
printf("
O(^_^)O欢迎使用飞机订票系统O(^_^)O\n"
);
//打印出系统主界面
do
=============================================================
==================="
1.增加航班信息\n"
"
2.浏览航班信息\n"
3.查找航班信息(按航班号)\t\t\n"
0.退出\n"
请在0-3中选择以回车键结束:
scanf("
%d"
&
j);
switch(j)
case1:
add();
//调用增加航班函数
break;
case2:
print();
//调用显示模块
case3:
search();
//调用查找模块
case0:
//退出系统
save();
谢谢使用,再见!
(^_^)/~~\n"
}
}while(j!
=0);
//判断是否调用其他函数
voidchushihua()//定义系统初始化函数
if(access("
hangban.dat"
0))
build();
else
read();
voidbuild()
//定义建立数据文件函数
FILE*fp;
//定义文件指针
if((fp=fopen("
"
wb"
))==NULL)
//打开文件并判定是否出错
创建文件失败
!
"
//打印出错提示
getchar();
return;
请依次输入航班信息(以回车键结束):
\n"
//打印提示信息
--------------------------------------------------------------------------\n"
for(i=0;
i<
N;
i++)
请输入航班号:
s[i].num);
//输入航班号
请输入起始站:
%s"
s[i].start);
//输入起始站
请输入终点站:
s[i].over);
//输入终点站
请输入时间(星期几):
s[i].time);
//输入时间
请输入机票数:
s[i].count);
//输入机票数
fwrite(&
s[i],sizeof(structair),1,fp);
m++;
添加完毕,是否继续添加?
请键入y或n以回车键结束:
scanf("
ii);
if(strcmp(ii,"
y"
)!
=0)//判断是否继续添加航班信息
fclose(fp);
//关闭文件
voidread()
//定义读取文件函数
r"
创建文件失败!
i=0;
while(!
feof(fp))
fread(&
i++;
//计算存在航班数
//逐块读取数据
m--;
voidsave()
//定义保存函数
m;
i++)//逐块保存数据
voidadd()
//定义增加航班信息函数
do{
请依次输入您要增加的航班信息
(以回车键结束
):
//打印提示信
息
s[m].num);
//读取航班号
s[m].start);
//读取起始站
s[m].over);
//读取终点站
请输入时间:
s[m].time);
//读取时间
s[m].count);
//读取机票数
strcmp(ii,"
));
//判断是否继续添加
voidoutput()
//定义输出格式函数
\t\t
起始站
终点站
时间\t\t
机票数\n"
//信息标题
printf(PRINT);
//打印出信息
voidprint()
//定义显示航班信息函数
\n
目前我们有如下航班:
output();
//调用输出格式函数
请按回车键返回上层菜单
voidsearch()
//定义查询函数
intn;
\n请输入航班号:
n);
//输入查询的航班号
if(s[i].num==n)//按航班号判定输出条件
您所查找的航班信息为
:
\n"
起始站\t\t
终点站\t\t
机票数
\n\n"
//显示信息
查询完毕,按回车键继续
对不起,没有您需要的信息!
是否重新查找?
请键入y或n以回车键结束"
//判定是否重新查找
1)第一次运行程序(输入初始数据)
界面提示输入原始数据:
请输入航班号→请输入起始站→请输入终点站→请输入飞行时间→
请输入机票数。
我按照提示一次输入了4个航班信息后按提示输入“n”则不再继续输入,
系统显示出了主菜单界面。
接着按0退出程序,显示“谢谢使用,再见。
”
图表1—主菜单界面
1)第二次运行程序(进行航班信息的浏览)
运行程序就不再显示输入航班信息了,而是直接显示出了主菜单界面(如图表1)。
在
提示中输入“2”→显示航班信息。
输出如下航班信息(如图表2),确实显示出输入的4
个航班信息。
图表2—显示航班信息
1)查询航班信息
在主菜单界面输入3→请输入航班号→输入“1010”→显示出所查找的信息(如图表
3)
图表3—查询航班信息
2)航班排序
在主菜单界面输入4→按照提示输入“2”(按航班号从大到小排序)→显示出排序后的航班信息(如图表4)
图表4—航班排序
三、总结
经过十天的程序设计,基本掌握程序设计的基本方法和步骤。
在这十天中悟出:
程序设计要求有一定的基础是必须的,在设计过程中要大胆的发挥自己的想象力,要敢于不断的创新,要敢于尝试,我认为这也是一种进步的好方法。
回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在十天的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。
在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。
仍存在的问题:
系统只是按照题目的要求做的,虽然是很好地完成了题目要求的所有模块,但是在整个编程过程中我们也曾尝试增加我们感兴趣的功能,但是失败了。
四、参考文献
《C++程序设计》,谭浩强著,清华大学出版社,2004年
《C++程序设计》,钱能著,清华大学出版社,2000年
《C++Prime》(第三版),stanleyBlippman著,潘爱民译,中国电力出
版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 飞机 订票 系统