目 录
第1章 题目与概要设计1
1.1题目的内容与要求1
1.2概要设计1
第2章 详细设计2
2.1主模块2
2.2菜单模块3
2.3输入模块3
2.4选择输出模块4
第3章 调试分析5
第4章 执行结果6
参考文献10
附 录(程序清单)10
第1章 题目与概要设计
1.1题目的内容与要求
主要内容:
假定有6门选修课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期等信息。试设计一个选修课程管理程序,功能包括:
1.课程信息录入功能;
2.课程信息浏览功能;
3.查询功能:可按学分,课程性质进行对课程查询;
4.选修课程排序功能。可按学分由小到大对所有选修课程进行课程排序输出。
设计要求:
1.采用文本菜单界面选择相应功能;
2.课程信息以磁盘文件保存。
1.2概要设计
本程序主要分为五个模块(见功能模块图1.1),主模块,菜单模块,输入模块,浏览模块,选择输出模块。主模块:定义变量,控制程序的运行。显示模块:给出六个菜单项的内容和输出提示。输入判断模块:判断输入的数字是否符合条件。选择输出模块:根据输入的正确数字实现菜单功能。
图1.1 功能模块图
第2章 详细设计
2.1主模块
控制整个程序的运行,控制菜单操作,通过,实现各项功能,流程如图2.1所示。
图2.1 主模块流程图
注释:定义课程信息结构体数组xubject[6],定义变量m=0。输入运用if语句执行选择操作。
2.2菜单模块
2.3输入模块
编译运行程序,屏幕显示三个菜单项的内容和输入提示。
图2.3 输入模块流程图
2.4选择输出模块
第3章 调试分析
本次课设在调试运行时一共发现了4个问题
在建立结构体时非法定义结构体。
编写函数,当函数结束时未能及时释放指针。
在书写程序过程中大量运用花括号,在几个模块之中都出现了花括号括错问题。
事先定义了许多变量,但是没有用。虽然,定义变量对程序没有影响,但是为了让程序更清晰合理 ,在调试完成后进行了删除。
第4章 执行结果
运行操作及结果:
菜单显示如下。
输入1,录入课程信息显示如下
录入课程信息后输入2,对课程进行浏览。
浏览完毕输入3,对课程按学分查询并输入学分范围。
查询完毕输入4对课程按性质查询并输入课程性质。
查询完毕输入5对课程按学分从小到大进行排序。
最后输入0,结束程序。
参考文献
[1] 张长海,陈娟. C语言课程设计[M] . 北京:高等教育出版社,2004
[2] 谭浩强. C语言程序设计(第4版)[M].清华大学出版社,2010
[3] 谭浩强. C程序设计题解与上机指导.清华大学出版社,2005
[4] 网冠科技 时尚编程百例 机械工业出版社,2002
[5] 网冠科技 Visual C++6.0基础培训百例 机械工业出版社,2006
附 录(程序清单)
代码
#include
#include
#include
#include
#define N 6
struct XUANXIUKE
{
char name[30];
int num;
char quality[100];
float time;
float class_time;
float test_time;
float credit;
char date[50];
struct XUANXIUKE *next;
}subject[N];
typ