C语言飞机订票系统课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
1.1:项目背景描述
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,上海到南京的航班起飞时间为星期二。
五、其它:
在实现系统基本功能后,完善系统的其它功能。在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。
第三章总体设计
3.1 课程设计题目:
航班订票系统
3.2. 内容摘要:
假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。通过该系统来实现机票的订购问题。
3.3. 关键字:
函数数组结构体文件循环语句多分支结构
3.4.总体设计方案的选定:
程序的功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包
括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者的
姓名和订座者的身份证号码。
2、本系统显示这样的菜单:
(4)输入航班信息
(5)输出航班信息
(6)查找航班信息
a.显示空座的数量
b.显示空座的信息
c.显示已订座的信息
d.起飞时间
(4)订票预约
(5)删除定票预约
(6)退出系统
4、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,
并且它们都允许用户收回其输入。
5、查找航班信息既可按航班号来实现。
4、在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时
候,它首先从该文件读入数据
第四章详细设计
4.1采用自定向下,逐步细化的思想,将该系统分解成各个相对独立且可以运行的模块。
在文件的开始定义出本系统中将会用到的所有的变量以及对各个模块的调用,将作为头文件使各个组员能够使用。如下所示:
hangban.h
#include
#include
#define N 9999 //定义最多的航班数
#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].qidian,s[i].zhongdian,s[i].time,s[i].count //宏定义输出格式
struct air //定义结构体数组
{
int num; //定义航班号
char qidian[20]; //航班起始站
char zhongdian[20]; //终点站
char time[10]; //飞行时间
int count; //机票数量
}s[N];
int i,m=0; //定义全局变量
char hangbanhao[10];
void add(); //函数声明增加航班信息函数void print(); //显示航班信息
void search(); //查找航班信息
void dingpiao(); //订票业务
void tuipiao(); //退票
void read(); //读取文件
void save(); //保存文件
void output(); //输出格式
void paixu(); //航班排序
void build(); //建立数据文件
void paixu1(); //按航班号从小到大排序void paixu2(); //从大到小