当前位置:文档之家› C语言飞机订票系统课程设计

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

第一章绪论
:项目背景描述
1、课程设计性质与目的:
C语言程序设计是一门实践性很强的课程。

C程序课程设计是学习C语言程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、分析程序及上机操作、调试程序的能力,让学生加深理解,提高动手操作能力及分析问题和解决问题的能力。

2、课程设计包含的知识点:
1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语
句。

2.掌握数组的基本概念。

掌握一维数组与二维数组的使用,掌握字符数组与
字符串的关系。

3.熟练掌握指针、地址、指针类型的概念及其使用。

掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系4.掌握函数的定义,函数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。

5.掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。

结构体与指针、函数的关系。

第二章可行性分析
一、问题描述:
假设某航空公司只有N架X个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

二、功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应
当包括:起飞地、目的地航班号、航班定额。

2、本系统显示这样的菜单:
1.)录入:可以录入航班情况(数据可以存储在一个数据文件中)
2.)浏览:航班信息浏览功能需要提供显示操作;
1、查询:可提供按照航班号、起点站、终点站、飞行时间、查
询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

(1)输入航班信息
(2)输出航班信息
(3)查找航班信息
(4)订票预约
(5)删除定票预约
(6)退出系统
2、本系统成功执行菜单的每个信息,选项4)和5)将要求额
外的输入,并且它们都允许用户收回其输入。

3、查找航班信息既可按线路查,也可按目的地查。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开
始的时候,它首先从该文件读入数据
三、算法提示:
1、数据结构:结构体类型数组
2、数据库结构:下表构成该系统的基本数据库。

四、测试数据:
录入北京到上海的星期一起飞的航班,假设其定额为30,上海到南京的航班起飞时间为星期二。

五、其它:
在实现系统基本功能后,完善系统的其它功能。

在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。

基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。

第三章总体设计
课程设计题目:
航班订票系统
. 内容摘要:
假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

. 关键字:
函数数组结构体文件循环语句多分支结构
.总体设计方案的选定:
程序的功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应
当包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座
者的姓名和订座者的身份证号码。

2、本系统显示这样的菜单:
(4)输入航班信息
(5)输出航班信息
(6)查找航班信息
a.显示空座的数量
b.显示空座的信息
c.显示已订座的信息
d.起飞时间
(4)订票预约
(5)删除定票预约
(6)退出系统
4、本系统成功执行菜单的每个信息,选项4)和5)将要求额
外的输入,并且它们都允许用户收回其输入。

5、查找航班信息既可按航班号来实现。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开始
的时候,它首先从该文件读入数据
第四章详细设计
采用自定向下,逐步细化的思想,将该系统分解成各个相对独立且可以运行的模块。

在文件的开始定义出本系统中将会用到的所有的变量以及对各个模块的调用,将作为头文件使各个组员能够使用。

如下所示:
#include<>
um,s[i].qidian,s[i].zhongdian,s[i].time,s[i].count
um==n)
ount==0)ount!=0&&s[i].count>=n) ount=s[i].count-n;
printf("订票成功! ");
break;
}
else if(s[i].count<n)ount);
printf("是否需要重新输入机票数请输入y 或n 以回车键结束: ");ount=s[i].count+n;
printf("退票成功! ");
}
printf("是否继续 请键入y 或n 以回车键结束: ");
um,s[i].qidian,s[i].zhongdian,s[i].time,s[i].count 加航班信息\n");
printf(" 2.浏览航班信息\n");
printf(" 3.查找航班信息\n");
printf(" 4.航班排序(按航班号)\n");
printf(" 5.办理订票业务\n"); 开始
输入航班显示航班信保存 查询确

printf(" 6.办理退票业务\n");
printf(" 0.退出系统(exit)\n");
printf("*******************************************\n");
p rintf("请在0-6中选择以回车键结束: ");
s canf("%d",&j);
s witch(j)
{
case 1: add(); um); idian); hongdian); ime);
ount); um==n) ount==0)ount!=0&&s[i].count>=n) ount=s[i].count-n;
printf("订票成功! ");
break;
}
else if(s[i].count<n)ount);
printf("是否需要重新输入机票数请输入y或n以回车键结束: ");ount=s[i].count+n;
printf("退票成功! ");
}
printf("是否继续请键入y或n以回车键结束: "); 航班号从小到大排序\n"
"\t2.按航班号从大到小排序\n");
p rintf("******************************************************************* ************* ");
p rintf("请在1-2中选择以回车键结束: ");
s canf("%d",&n); um>s[j].num)
k=j;
if(i!=k)
{
t=s[k];
s[k]=s[i];
s[i]=t;
}
}
}
void paixu2() um<s[j].num)
k=j;
if(i!=k)
{
t=s[k];
s[k]=s[i];
s[i]=t;
}
}
}
附2 参考资料
C程序设计(第四版)谭浩强著清华大学出版社。

相关主题