中北大学。
数据结构。课程设计说明书。
假定民航机场共有n个航班,每个航班有一航班号,确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员定额,设计一民航订票系统,使之能提供下列服务:
1:航班信息录入功能(航班信息用文件保存)
2:航班信息浏览功能。
3:查询航班(至少一种查询方式):
a:按航班号查询 b:按起点站查询 c:按终点站查询 d:按飞行时间查询。
提示:(1)需求分析:
航班信息用文件保存;航班信息浏览功能需要提供显示操作;要查询航线需。
要提供查找功能,可提供按上述四种方式查询;另外要提供键盘式选择菜单。
以实现功能选择。
(2)建立航班结构体,结构体成员包括航班号、起始站、终点站、飞行时间(星。
期几)、预售票总数、已售票数。
要求:假定民航机场共有n个航班,每个航班有一航班号,确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员定额,设计一民航订票系统,使之能提供下列服务:
1:航班信息录入功能(航班信息用文件保存)
2:航班信息浏览功能。
3:查询航班(至少一种查询方式):
a:按航班号查询 b:按起点站查询 c:按终点站查询 d:按飞行时间查询。
根据题目要求和提示,首先是建立航班结构体,结构体名称为flight_type,由于航班的数目不止一个,所以要将变量名定义成数组,为flight[n],然后定义结构体成员:
char flight_num[20航班号*/
char start_add[20起始站*/
char end_add[20终点站*/
int week_day飞行时间*/
int all_amount预售票数*/
int free_amount已售票数*/
下面是各个函数的数据结构:
第一个是input函数。由于要设置密码保护,所以定义一个字符数组并初始化, 内容由用户自己设定,作为密码;再预设一个长度为20个字符的字符数组,供用户录入密码。经判断,密码正确程序才继续运行;否则提示用户继续还是退出。
定义三个整型变量,一个用来控制循环,,第二个的作用是当用户输入的星期超出范围时控制内嵌do—while循环让用户重新输入,第三个用来供用户输入选择继续运行程序还是退出。
第二个是s**e函数,首先定义一个整型变量控制循环,然后定义文件指针(file *fp),最后创建文件message保存录入的航班信息即可。
第三个是scan函数,定义两个整型变量,一个用来控制输出循环,第二个的作用是在完成此项功能后供用户选择接下来要做什么时输入。由于要浏览文件message中的信息,所以要定义文件指针*fp。最后是打开文件,把文件里包含的所有信息显示到屏幕上面。
下一个是search函数,由于用户要选择查询方式,所以要设计一个菜单供用户选择。定义三个整型变量,第一个是供用户选择查询方式时输入,第二个是当用户输入的数字超出范围时控制一个do—while循环让用户重新输入,第三个的作用是在完成此项功能后供用户选择接下来要做什么时输入。
下面四个函数(flight_search函数(即按航班号查询函数)、start函数(即按起始站查询函数)、end函数(即按终点站查询函数)、time函数(即按飞行时间查询函数))的数据结构基本相同。定义两个整型变量,一个用来控制输出循环,另一个的作用是完成此项功能后供用户选择接下来要做什么时输入。还要定义两个数组,一个是长度为20的字符数组,供用户查询信息的时候输入航班号;另外一个数组的作用是在浏览航班信息时将其赋值。
如果信息库中有用户所需要的航班信息,则在读文件时,读到与用户所需要的信息不相符的时候就将此数组的那一个元素赋值为0。如果是客户所需要的信息,则不赋值。这样,读完信息以后,将此数组中所有元素的值相加,如果为0,则说明信息库中没有用户所需要的信息,就输出“对不起,无此航班!
”。所以还要多定义一个整型变量,以便将数组中元素的和赋给它。所以共定义了三个整型变量。
另外还要定义文件指针*fp,然后打开文件,如果文件里面有用户需要的信息,则将其显示到屏幕上面;如果没有则显示无此信息,然后让用户选择接下来要做什么。
其中的time函数有两点不同,第一个就是当用户输入的星期超出范围时,要让用户重新输入,所以需要多定义一个整型变量,控制一个do—while循环让用户重新输入。第二个就是time函数里面不需要定义数组,因为它的输入是星期几,所以只需要再多定义一个整型变量。
下面一个是menu函数,menu函数的作用就是为显示一个菜单供用户选择自己需要的功能,所以定义两个整型变量,一个是供用户输入选择功能,另一个是在用户输入的数字超出范围时控制一个do—while循环让用户重新输入。
最后一个是main函数。这个函数比较简单,直接调用menu函数即可,所以不需要定义任何数据类型。
这就是整个程序的数据结构设计。
4.1 详细设计思想。
实际上,在上面设计算法和数据结构时模块设计就包括在里面了。
整个程序大体上分为以下几个模块。
第一个是信息录入模块。此模块包含了两个函数,一个是input函数,供用户录入信息;第二个是s**e函数,用来保存用户录入的信息。
第二个是信息浏览模块。此模块比较简单,只有一个scan函数。
第三个是信息查询模块。此模块包含了五个函数:search函数、flight_search函数、start函数、end函数和time函数。
search函数提供选择菜单供用户选择查询方式,后面四个函数分别提供了四种不同的信息查询方式。
第四个模块是设计菜单模块。这个模块也只有一个函数,即menu函数。
第五个模块是程序中不可缺少的,即main函数。这个模块最简单,是直接调用menu函数。
4.2 核心**。
#include""
#include ""
#define n 4
void s**e();
void search();
void input();
void scan();
void flight_search();
void start();
void end();
void time();
int menu();
struct flight_type建立航班结构体*/
char flight_num[20航班号*/
char start_add[20起始站*/
char end_add[20终点站*/
int week_day飞行时间*/
int all_amount预售票数*/
int free_amount已售票数*/
}flight[n];
void input录入航班信息函数*/
printf("请输入密码:")
scanf("%s",b);
if(strcmp(b,u)==0)
else w=0;
while(w ==1);
printf("请输入预售票数:")
scanf("%d",&flight[j].all_amount);
printf("请输入已售票数:")
scanf("%d",&flight[j].free_amount);
s**e调用保存航班信息函数*/
printf("信息已录入并保存!现在您想做什么?1:退出2:返回主菜单");
printf("请输入:")
scanf("%d",&a);
if(a==1)exit(0);
else menu调用选择菜单函数*/
else printf("对不起,您无权使用此功能!");
printf("现在您想做什么?1:退出2:返回主菜单");
printf("请输入:")
scanf("%d",&a);
if(a==1)
else menu调用选择菜单函数*/
void s**e保存航班信息函数*/
课程设计说明书
材料化学。涂装工艺。班级 材料化学081 姓名。学号。指导教师。时间 二 一一年七月八日 19 09 56 目录。表面工程课程设计任务书 1 1 概况 2 1.1 设计任务书及目标 2 1.2 设计任务书 2 1.3 设计单位概况 2 1.4 设计原则 4 1.5 设计范围 4 1.6 设计技术标准...
课程设计说明书
一 题目 离合器接合叉零件加工工艺规程 及车 25外圆及端面夹具设计 二 时间 自年月日至年月日止。三 要求 1 编制离合器接合叉加工工艺规程一套。2 绘制离合器接合叉零件图一张。3 绘制夹具结构装配图一张。4 绘制夹具体图一张。5.编写设计说明书一份。目录。序言1 第一章零件分析2 1.零件的作用...
课程设计说明书
河南科技学院。机电一体化课程设计。模块化生产系统设计 无杆缸传送站。学生姓名 王坤朋。所在院系 机电学院。所学专业 机电技术教育。导师姓名 胡楠李海波。完成时间 2018 年6月22日。摘要。模块化生产系统主要模拟工业生产过程中完成零件钻孔加工和装配的系列过程,该系统共有八个工作站,分别为上料检测站...