C语言大项目设计.doc
文本预览下载声明
目 录
设计目的………………………………………………………1
总体设计………………………………………………………1
详细设计………………………………………………………3
调试与测试……………………………………………………5
核心源程序清单和执行结果…………………………………5
源程序代码……………………………………………5
截图……………………………………………………13
仍存在的问题…………………………………………15
心得体会………………………………………………………15
设计进度表……………………………………………………16
参考文献………………………………………………………17
正文
设计目的:
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。设计一飞机订票系统,使之能提供下列服务:
1、航班信息录入功能(航班信息用文件保存)
包括航班号、起始站、重点站、机票数等;
2、航班信息浏览功能
3、按航班号排序
4、查询航线:按航班号查询
5、承办订票和退票业务(可选项)
总体设计:
编写一个飞机系统的程序,该系统能够实现对航班信息的入、、、查以及订票、退票。
因为飞机订票系统含有各航班的各项信息,如航班号、航线、飞行时间、机票数目等必要信息,所以就决定用刚学不久的结构体数组来存放航班的各项信息,根据题目要求定义如下结构体类型:
头文件包含、全局变量定义和结构体定义源代码:
#includestdio.h //标准输入、输出头文件
#includestring.h //包含字符串函数处理头文件
#includeprocess.h //包含access函数的头文件
#define N 1000 //定义最多的航班数
#define PRINT %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 //宏定义输出格式
struct air //定义结构体数组
{
int num; //定义航班号
char start[20]; //航班起始站
char over[20]; //航班终点站
char time[10]; //飞行时间
int count; //机票数量
}s[N];
int i,m=0; //定义全局变量,记录下航班信息的数量
char ii[10]; //用来选择是否继续的变量
以上就是我的总体设计思路。
详细设计:
在本次的课程设计中我负责编制的是初始化、建立数据文件、数据文件读取、数据文件保存、增加航班信息、订票、退票业务函数的编写。以下是我的负责部分的详细设计内容:
定义系统初始化函数
模块功能:设立一个初始化函数来得到航班信息。具体设计是第一次运行程序时自动生成保存航班信息的文件,并输入初始航班信息,待第二次开始就可以直接读取该文件获得已有的航班信息并可直接使用。运用了access函数判断文件是否存在。该函数源代码为:
void chushihua() //初始化函数
{
if(access(hangban.dat,0))
build();
else
read();
}
定义建立新数据文件的函数
系统初始化后,没有寻找到数据文件,则进行新建数据文件,此函数的作用就是进行新建文件数据的录入。运用到了文件指针的定义FILE *fp,文件的打开fopen和关闭fclose、成块读写函数中的fwrite;运用for循环进行各组数据的输入,用m++记录下输入的航班数量,并运用if语句判断是否输入下一条航班信息,若不继续则返回主界面。该函数的源代码为:
定义读取文件内航班信息的函数
系统初始化之后,若原始数据文件存在,则进行文件内航班信息的读取,以供接下来程序中的各个函数来使用。在该函数中同样运用到了文件指针FILE *fp、文件的打开fopen和关闭fclose、成块读写函数中的fread、文件结束检测函数feof同时配合while语句控制文件的读取;m++记录下读取到的航班数量等。
定义保存函数
因为在飞机订票系统中涉及到飞机的订票和退票业务,还有按航班号的排序功能,所以我就定义了这个保存函数来保存下每次运行系统后对整个订票系统涉及到的资料的修改。为了简便程序,我就准备将此函数放在整个系统得推出选项中,这样就只在每次退出系统的时候进行一次保存,将此次对文件修改的所有新信息都一次保存下来。这样就实现了整个系统运行时进行一次读取,推出时一次保存的设计,大大简便了文件的调用和读取。保存函数运用到的知识点与读
显示全部