C语言课程设计报告飞机订票系统.docx

上传人:b****6 文档编号:16021807 上传时间:2023-07-10 格式:DOCX 页数:14 大小:119.64KB
下载 相关 举报
C语言课程设计报告飞机订票系统.docx_第1页
第1页 / 共14页
C语言课程设计报告飞机订票系统.docx_第2页
第2页 / 共14页
C语言课程设计报告飞机订票系统.docx_第3页
第3页 / 共14页
C语言课程设计报告飞机订票系统.docx_第4页
第4页 / 共14页
C语言课程设计报告飞机订票系统.docx_第5页
第5页 / 共14页
C语言课程设计报告飞机订票系统.docx_第6页
第6页 / 共14页
C语言课程设计报告飞机订票系统.docx_第7页
第7页 / 共14页
C语言课程设计报告飞机订票系统.docx_第8页
第8页 / 共14页
C语言课程设计报告飞机订票系统.docx_第9页
第9页 / 共14页
C语言课程设计报告飞机订票系统.docx_第10页
第10页 / 共14页
C语言课程设计报告飞机订票系统.docx_第11页
第11页 / 共14页
C语言课程设计报告飞机订票系统.docx_第12页
第12页 / 共14页
C语言课程设计报告飞机订票系统.docx_第13页
第13页 / 共14页
C语言课程设计报告飞机订票系统.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课程设计报告飞机订票系统.docx

《C语言课程设计报告飞机订票系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告飞机订票系统.docx(14页珍藏版)》请在冰点文库上搜索。

C语言课程设计报告飞机订票系统.docx

C语言课程设计报告飞机订票系统

 

C语言课程设计

 

题目:

飞机订票系统

专业:

学号:

 。

任课教师:

 

C语言课程设计报告

一、课程设计报告正文

(1)课程设计题目的原文;

假定民航机场共有n个航班:

航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。

试设计一民航订票系统,使之能提供下列服务:

航班信息录入功能(文件保存)

完成航班信息浏览功能;

查询航线(至少一种查询方式)。

(2)题目的分析(需求分析);

任务:

通过此系统可以实现如下功能:

录入:

可以录入航班情况(数据可以存储在一个数据文件中)

浏览:

航班信息浏览功能需要提供显示操作;

查询:

可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。

(3)整体设计与模块划分;

根据需求分析,该程序可分为以下四大模块:

(4)代码设计;

包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析等等;

二、航班基本信息输入模块

航班信息录入函数:

航班信息浏览函数:

[流程图]显示信息

查询模块:

分析:

基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。

在查询小模块中采用了直接查找的方法。

本模块可以通过多种查询方式进行完善。

这是本程序没有做的地方。

[流程图]

(一)核心源程序清单和执行结果:

a)源程序清单:

#include

#include

#include

#include//标准输入、输出头文件

#include//包含字符串函数处理头文件

#include//包含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

{

printf("================================================================================");

printf("1.增加航班信息\n"

"2.浏览航班信息\n"

"3.查找航班信息(按航班号)\t\t\n"

"0.退出\n");

printf("================================================================================");

printf("请在0-3中选择以回车键结束:

");

scanf("%d",&j);

switch(j)

{

case1:

add();//调用增加航班函数

break;

case2:

print();//调用显示模块

break;

case3:

search();//调用查找模块

break;

case0:

//退出系统

save();

printf("谢谢使用,再见!

(^_^)/~~\n");

break;

}

}while(j!

=0);//判断是否调用其他函数

}

voidchushihua()//定义系统初始化函数

{

if(access("hangban.dat",0))

{

build();

}

else

read();

}

voidbuild()//定义建立数据文件函数

{

FILE*fp;//定义文件指针

if((fp=fopen("hangban.dat","wb"))==NULL)//打开文件并判定是否出错

{

printf("创建文件失败!

");//打印出错提示

getchar();

return;

}

printf("请依次输入航班信息(以回车键结束):

\n");//打印提示信息

printf("--------------------------------------------------------------------------\n");

for(i=0;i

{

printf("请输入航班号:

");

scanf("%d",&s[i].num);//输入航班号

printf("请输入起始站:

");

scanf("%s",s[i].start);//输入起始站

printf("请输入终点站:

");

scanf("%s",s[i].over);//输入终点站

printf("请输入时间(星期几):

");

scanf("%s",s[i].time);//输入时间

printf("请输入机票数:

");

scanf("%d",&s[i].count);//输入机票数

fwrite(&s[i],sizeof(structair),1,fp);

m++;

printf("添加完毕,是否继续添加?

请键入y或n以回车键结束:

");

scanf("%s",ii);

if(strcmp(ii,"y")!

=0)//判断是否继续添加航班信息

{

fclose(fp);//关闭文件

return;

}

}

}

voidread()//定义读取文件函数

{

FILE*fp;

if((fp=fopen("hangban.dat","r"))==NULL)

{

printf("创建文件失败!

");

getchar();

return;

}

i=0;

while(!

feof(fp))

{

fread(&s[i],sizeof(structair),1,fp);//逐块读取数据

i++;

m++;//计算存在航班数

}

m--;

fclose(fp);

}

voidsave()//定义保存函数

{

FILE*fp;

if((fp=fopen("hangban.dat","wb"))==NULL)

{

printf("创建文件失败!

");

getchar();

return;

}

for(i=0;i

fwrite(&s[i],sizeof(structair),1,fp);

fclose(fp);

}

 

voidadd()//定义增加航班信息函数

{

do{

printf("请依次输入您要增加的航班信息(以回车键结束):

\n");//打印提示信息

printf("--------------------------------------------------------------------------\n");

printf("请输入航班号:

");

scanf("%d",&s[m].num);//读取航班号

printf("请输入起始站:

");

scanf("%s",s[m].start);//读取起始站

printf("请输入终点站:

");

scanf("%s",s[m].over);//读取终点站

printf("请输入时间:

");

scanf("%s",s[m].time);//读取时间

printf("请输入机票数:

");

scanf("%d",&s[m].count);//读取机票数

m++;

printf("添加完毕,是否继续添加?

请键入y或n以回车键结束:

");

scanf("%s",ii);

}

while(!

strcmp(ii,"y"));//判断是否继续添加

}

voidoutput()//定义输出格式函数

{

printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n");//信息标题

for(i=0;i

printf(PRINT);//打印出信息

}

voidprint()//定义显示航班信息函数

{

printf("\n目前我们有如下航班:

\n");

output();//调用输出格式函数

printf("\n请按回车键返回上层菜单");

getchar();

getchar();

}

voidsearch()//定义查询函数

{

intn;

do

{

printf("\n请输入航班号:

");

scanf("%d",&n);//输入查询的航班号

for(i=0;i

{

if(s[i].num==n)//按航班号判定输出条件

{

printf("\n您所查找的航班信息为:

\n");

printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n");

printf(PRINT);//显示信息

printf("\n查询完毕,按回车键继续");

getchar();

getchar();

return;

}

}

printf("\n对不起,没有您需要的信息!

\n");

printf("是否重新查找?

请键入y或n以回车键结束");

scanf("%s",ii);

}

while(!

strcmp(ii,"y"));//判定是否重新查找

}

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著,潘爱民译,中国电力出版社

 

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2