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

上传人:b****5 文档编号:7461565 上传时间:2023-01-24 格式:DOCX 页数:19 大小:18.95KB
下载 相关 举报
C语言课程设计报告飞机订票系统.docx_第1页
第1页 / 共19页
C语言课程设计报告飞机订票系统.docx_第2页
第2页 / 共19页
C语言课程设计报告飞机订票系统.docx_第3页
第3页 / 共19页
C语言课程设计报告飞机订票系统.docx_第4页
第4页 / 共19页
C语言课程设计报告飞机订票系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

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

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

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

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

 

C语言课程设计

 

题目:

飞机订票系统

 

专业:

 

学号:

 

姓名:

 

任课教师:

 

C语言课程设计报告

 

一、课程设计报告正文

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

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

航班号、起始站、终点站、飞机号、飞机时间、

 

乘员定额、余票量。

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

 

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

任务:

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

 

录入:

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

浏览:

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

 

查询:

可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的

情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选

 

择菜单以实现功能选择。

要求:

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

 

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、

 

预售票总数、已售票数。

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

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

 

飞机订票系统

 

输入模块显示模块查询模块退出模块

 

(4)代码设计;

 

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

 

计和分析等等;

 

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

 

航班信息录入函数:

 

开始

 

文件打开否

 

输入信息

输出错误信息

将信息输出到磁盘

 

是否继续

 

调用printf_back()函数

 

结束

 

航班信息浏览函数:

 

[流程图]显示信息

 

开始

 

文件打开输出错误信息

 

查找航班信息

 

是否查找到

 

删除操作

输入信息

 

是否继续

 

结束

 

查询模块:

 

分析:

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

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

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

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

[流程图]

 

开始

 

文件打开

输出错误信息

 

查询方式

 

此处可以

航班号

完善其它

查询方式

 

是否继续

 

结束

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

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

版社

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

当前位置:首页 > PPT模板 > 其它模板

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

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