XX学院 C语言课程设计报告
课程名称: C语言课程设计 课程编号:
报告题目:
学生姓名: 学 号: 专 业
成 绩: 任课教师:
评阅日期:
1
C语言课程设计报告
一、 C语言课程设计的目的
C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1. 进一步掌握和利用C语言进行程设计的能力; 2、 进一步理解和运用结构化程设计的思想和方法; 3、 初步掌握开发一个小型实用系统的基本方法; 4、 学会调试一个较长程序的基本方法; 5、 学会利用流程图或N-S图表示算法;
6、 掌握书写程设计开发文档的能力(书写课程设计报告);
二、课程设计报告正文
(1)课程设计题目的原文;
假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务:
? 航班信息录入功能(文件保存) ? 完成航班信息浏览功能; ? 查询航线(至少一种查询方式)。
(2)题目的分析(需求分析);
任务:通过此系统可以实现如下功能:
录入: 可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作;
查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航
线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。
2
可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。
(3)整体设计与模块划分;
根据需求分析,该程序可分为以下四大模块:
飞机订票系统 输入模块 显示模块 查询模块 退出模块
(4)代码设计;
包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等;
A.主函数
(1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统
中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。
菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。
(2)程序: void menu() {
int n,w; do {
3
puts(\puts(\puts(\puts(\puts(\
puts(\ }
while(w==1); switch(n) { } }
/**********************主函数*********************/ main() { menu(); }
case 1:enter();break; case 2:Browse();break; case 3:Search();break; case 4:exit(0);
printf(\scanf(\if(n<1||n>4) { }
else w=0;
w=1; getchar();
4
B.公共函数
(1)分析:各功能模块中的分程序中的交错的较多,因而,本程序的公共函有5个,这使得各功能模块函数显得简洁,这是程序的一个特点。此处的公共函数的功能较为简单,但他很实用。
(2)程序:
1、把航班信息输入到文件中的函数。 void input(i) {
struct flight t;
printf(\ startstation endstation flytime plan_ticket sell_ticket\\n\
scanf(\e,&t.plan_ticket,&t.sell_ticket);
fp=fopen(\
if(!fp){printf(\ else fwrite(&t,sizeof(struct flight),1,fp); fclose(fp); }
2、输出一个 航班信息函数 void printf_oneflight(int i) {
printf(\n,fly[i].endstation,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket); }
3、输出文件内容结构函数 void printf_face() {
printf(\ flytime
5
plan_ticket