C语言程序设计-航班管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

仲恺农业工程学院

C语言程序设计报告

航班信息管理系统

课程名称C语言程序设计

姓名XXX

院(系)信息科学与技术学院

专业班级网络工程XX

学号201320XX

指导教师XXX

仲恺农业工程学院教务处制

目录

1 需求分析 (1)

2 系统总框图和功能模块说明 (1)

2.1 系统总框图 (1)

2.2 功能模块说明 (2)

3 系统设计 (3)

3.1 主要结构体 (3)

3.2主要功能函数 (3)

3.3 关键函数的流程图 (4)

4 系统调试 (5)

5 总结 (7)

6 源程序清单 (7)

1 需求分析

航班信息包括航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号、票价,八项信息。

试设计航班信息管理系统,使之能提供以下功能:

●系统以菜单方式工作

●航班信息录入功能(航班信息用文件保存)--输入

●航班信息浏览功能--输出

●航班信息查询功能-算法(其中查询方式可以按学历查询、按职工号查询等)

●航班信息排序、筛选功能

2 系统总框图和功能模块说明

2.1 系统总框图

图1 系

统总框图

2.2 功能模块说明

输入航班信息模块,完成航班信息的录入。航班信息的录入前,录入系统先完成新建文件,检测文件是否存在的功能。检测完毕,采用循环的输入流程,以检测文件是否终止为循环的判定条件;输入信息时,以检测编号判断输入的信息与文件中的信息是否有冲突,防止输入的信息存在冲突;把航班信息一一输入后,判断其有没有存入文件中。

排序航班信息模块,完成航班信息中的价格排序,便于筛选信息结果的查看,排序是利用冒泡排序法,按照价格从高到低编排。

查询航班信息模块,根据输入的航班编号,查询航班编号的信息,。其过程中,首先是

对输入的信息判断,判断输入的信息无误后再查询。

筛选航班信息模块,筛选模板分为四种不同条件的筛选,分别是起点站、到达站、起点时间、到达时间。利用字符串函数strcmp比较输入的筛选条件与文件中字符串是否一致为判断,利用循环结构把筛选条件与有效字符串一一作比较。

3 系统设计

3.1 主要结构体

航班编号、起飞点、到达点、班期、起飞时间、达到时间、型号、价格struct fly

{

int no; /*航班号*/

char startpoint[M]; /*起飞点*/

char finalpoint[M]; /*到达点*/

int banqi; /*班期*/

char startime[M]; /*起飞时机*/

char finaltime[M]; /*到达时间*/

char tipe[M]; /*型号*/

float price; /*价格*/

};

3.2主要功能函数

void in(); /*航班信息输入系统*/

void order(); /*航班价格排序系统*/

void search(); /*航班信息查询系统*/

void menu(); /*信息展现函数*/

void startpoint(); /*起点站筛选系统*/

void finalpoint(); /*达到站筛选系统*/ void startime(); /*起点时间筛选系统*/

void finaltime(); /*到达时间筛选系统*/ 3.3 关键函数的流程图

4 系统调试1、航班信息的输入

2、输入航班号,对航班信息进行查找

3、输入到达站,对航班信息进行筛选

5 总结

在程序的编写中,导致程序出现逻辑错误,我个人经验不足,所以一旦出现错误就添加一些语句,比如添加printf("测试语句|\n");在程序中,断定其程序中哪一些地方出现错误,发现其中的错误,修改后再删除掉。由于忘记了函数的调用方法,导致程序show无法调用,查看网上类似的程序,终于发现错误。

6 源程序清单

#include

#include

#include

#include

#define N 15

#define M 20

#define LEN sizeof(struct fly)

typedef struct fly{

int no;/*航班号*/

char startpoint[M];

char finalpoint[M];

int banqi[M];

char startime[M];

char finaltime[M];

char tipe[M];

float price;

};

struct fly f[N];

void in();

void show(int i);

void order(int); /*排序*/

void search(); /*编号查询系统*/

void menu();

void startpoint(); /*起点站查询系统*/

void finalpoint(); /*达到站查询系统*/

void startime(); /*起点时间查询系统*/

void finaltime(); /*到达时间查询系统*/

void main()

{

int n;

menu();

scanf("%d",&n);

while(n)

{

switch(n)

{

case 1:

相关文档
最新文档