班级。1 引言 2
2 设计与实现 3
2.1 设计内容及选题依据 3
2.2 设计方法 3
2.3 设计过程 3
2.3.1 需求 3
2.3.2 功能设计 3
2.3.3 功能细化 4
2.3.4 功能实现 9
2.4 结果分析 17
2.4.1 功能模块测试 17
2.4.2 测试结果分析 20
3 结论 21
4 参考文献 22
为了巩固并深化本学期所学c语言程序设计知识,同时对软件开发过程有一个感性的认识,为以后的软件开发工作打下良好的基础,我们设计并实现了一个小型的成绩管理――文件检索系统。该系统具有将输入的数据(学生的学号、姓名和成绩)以文件形式保存、根据学号查询成绩及根据姓名查询成绩、显示指定文件中的数据以及对指定文件的数据进行统计分析的功能,并为用户提供了简单的人机界面。具体的设计实现基于结构化程序设计的思想,应用了高级语言程序设计中的基本控制结构、函数等内容,同时包含了软件开发过程的基本理论。
该文件检索系统的开发语言是c语言,开发工具是turboc 2.0。
本文主要工作是首先对成绩管理――文件检索系统进行需求分析;其次阐述了结构化程序设计的基本思想;然后在需求分析的基础上,详细描述了整体设计过程,包括功能模块的设计以及相应的实现;最后对测试结果进行分析并得出结论。
2 设计与实现。
本项目的主要内容是设计并实现一个文件检索系统。文件检索作为一种一般的数据检索方式,有着很高的实用价值。设计并实现文件检索系统可以将c语言中的大部分知识进行融会贯通。
该文件检索系统具有将输入的数据(学生的学号、姓名和成绩)以文件形式保存、根据学号或者姓名查询成绩、显示指定文件中的数据以及对指定文件的数据进行统计分析的功能,并为用户提供简单易操作的人机界面。
采用结构化的程序设计方法:自顶向下、逐步细化、模块化设计、结构化编码。
模块划分符合以下三条基本要求:
1、 模块在功能上尽可能地单一化、明确化,即模块地凝聚性。
2、 模块之间的联系及互相影响尽可能地少,尽量避免逻辑耦合,而仅限于数据耦合。
3、 模块的规模应当足够小,易于调试。
结构化编码:顺序结构、选择结构、循环结构。
结构化程序设计方法保证了软件的可靠准确度及易于修改,但是增大了程序工作量,降低了程序的运行效率。
为用户提供进行功能选择的界面。功能选择包括输入数据(学生的学号、姓名和成绩)并存入文件、根据学号查询成绩、根据姓名(英文)查询成绩、显示文件中的所有数据及结束程序运行。
根据用户的选择,进入相应的操作界面。
根据界面的提示,输入相应的数据。
为用户返回正确的运行结果。
要求界面友好。
2.3.2.1 模块划分。
模块1:功能选择模块;模块说明:选择创建新文件、按学号查询、按姓名查询或退出;
模块2:创建新文件模块;模块说明:将输入的数据(学号、姓名、成绩等)保存到文件中;
模块3:按学号查询成绩模块;模块说明:根据输入的学号到指定文件中进行成绩查询;
模块4:按姓名查询成绩模块;模块说明:根据输入的姓名到指定文件中进行成绩查。
询; 模块5:显示文件中的所有数据;模块说明:显示指定文件中的所有数据;
模块6:对成绩进行统计分析;模块说明:统计及格人数、及格率,优秀人数、优秀率;(可选模块)
2.3.2.2系统结构。
2.3.2.3系统整体流程。
将以上的各功能模块细化,并画出流程图:
2.3.3.1功能选择模块。
说明: 流程图:
2.3.3.2数据保存模块。
说明:首先,创建一个新文件;其次,输入各项记录内容(包含学号、姓名和成绩,当输入的学号为0时停止输入)并写到文件中;最后,显示文件内容。
流程图:2.3.3.3 按学号查询成绩模块。
说明:在指定的文件中,根据用户输入的学号查询该生的成绩,并返回相应的信息。
流程图:2.3.3.4按姓名查询成绩模块。
说明: 在指定的文件中,根据用户输入的姓名查询该生的成绩,并返回相应的信息。
流程图:与前一模块相似,略。
2.3.3.5 文件内容输出模块。
说明: 分页显示指定文件的内容,显示时可由用户控制是继续显示下一页还是结束。
流程图:nyy
nnyy
n 2.3.3.6统计模块。
说明:统计指定文件中学生的及格人数、优秀人数及所占的百分率。
流程图:n yn
ynyn
y各个功能模块的实现(以程序**形式表示)。
2.3.4.1 功能选择模块的实现。
#include <>
#include <>
struct stutype
typedef struct stutype stutype;
char *datafile="d:\\
int jy_no(char *stu_no,file *fp);
int jy_cj(float stu_cj);
int jy_xm(char *stu_xm);
void data_dispn(char *datafilename,int n);
void data_disp(char *datafilename);
void data_stu(stutype stu);
主函数。main()
int choice;
file *fp;
doprintfn");
printf请选择系统功能n");请选择系统功能!*/
printf1 输入数据n");1 输入数据! *
printf2 显示数据n");2 显示数据! *
printf3 按姓名查找数据n");3 按姓名查找数据! *
printf4 按学号查找数据n");4 按学号查找数据! *
printf5 统计数据n");5 统计数据! *
printf6 退出系统n");6 退出系统! *
C语言程序设计课程设计报告
昆明学院。自动控制与机械工程学院。程序设计语言。课程设计报告。题目 学生成绩管理信息系统 学生。班级 2013级机制 班 指导老师。日期 年月日。一 设计目的。利用所学的c语言知识及其编程方法 结构程序设计 数组 指针 结构体 文件操作等内容,通过布置具有一定难度的实际程序设计题目,要求学生独立完成...
C语言程序设计课程设计报告
题目 设计者 专业班级 学号 指导教师 所属系部 年月日。辽东学院信息技术学院。本系统主要实现用户登录,显示菜单,学生信息的输入 输出 按学号查询学生信息 按成绩降序排序,把学生信息保存到文件,从文件中导出学生信息等功能。在输入信息时进行数据的有效性验证。1 登录功能 用户输入口令,如果与系统内保存...
C语言程序设计课程设计报告
设计报告。班级 测井基地 11201 学生 李家骏。指导教师。完成日期。目录。1课程设计题目1 2系统需求分析2 3 系统设计3 4 系统实现4 5 使用说明5 6 测试数据6 7 总结78 附录 源程序 8 一 课程设计题目 简易教学管理系统的设计与实现。二 系统需求分析 1 分别建立两个数据文件...