1、 1 简易学生成绩管理系统简易学生成绩管理系统 目目 录录 1.第一部分第一部分 课程设计的题目与要求课程设计的题目与要求.3 2.第二部分第二部分 课程设计题目功能课程设计题目功能.3 (1).系统功能模块框图设计系统功能模块框图设计.3-4 (2).数据结构说明数据结构说明.4-5 (3).详细设计详细设计.5-8 (4).调试与测试调试与测试8-12 3.第三部分第三部分 课程设计总结课程设计总结12 4.附附录录 程序清单程序清单.12-18 2 简易学生成绩管理系统简易学生成绩管理系统 第一部分第一部分 课程设计的题目与要求课程设计的题目与要求 1.问题的提出 (1) 用记事本新建一
2、个文本文件 2011.txt 来用于存放学生的成绩信息。 (2) 再创建一个文本文件来用于存放每门课程的学分信息,文本文件名为 KG201160057.txt。 (3) 用主函数列一个主菜单并利用主菜单调用各个子菜单,通过各个函数来 实现以下功能:计算平加权均分并排序;排序;统计;显示学生成绩 条。 2.2.功能要求 (1) 计算加权平均分并排序:计算加权平均分;按平均分排序;将名次表显示 (2) 对学生信息实现排序功能:按姓名排序;按平均成绩排序。将排序后的 结果显示在屏幕上。 (3) 统计:统计每门课的平均分;各分数段(60 分以下;6069;7079;8089; 90 分以上)的学生人数
3、。用 C 语言创建一个数据文件,用该文件来存放统计后 的结果,并将结果显示在屏幕上。 (4) 显示学生成绩条的功能:显示指定学号的学生成绩条;显示指定姓名的学生成绩 条。将结果显示在屏幕上。 3 第二部分第二部分 课程设计题目功能课程设计题目功能 1.系统功能模块框图设计系统功能模块框图设计 进入程序进入程序 读入数据读入数据 主界面主界面 读读 取取 学学 生生 信信 息息 按按 加加 权权 平平 均均 分分 排排 序序 退退 出出 按按 平平 均均 成成 绩绩 排排 序序 按按 学学 生生 姓姓 名名 排排 序序 统统 计计 每每 门门 课课 的的 平平 均均 分分 查询成绩查询成绩 指指
4、 定定 学学 号号 的的 学学 生生 成成 绩绩 指指 定定 学学 号号 的的 学学 生生 成成 绩绩 4 2.数据结构说明数据结构说明 #define M 10 /定义常量 M 为学生人数 #define N 4 /定义常量 N 为课程数 struct data /定义一个结构体。保存学生成绩信息 int num; char name10; int yy; int math; int jsj; int sx; int rank; double jqave; stuM; /定义一个结构体数组。保存多条成绩信息 struct kecheng /定义结构体,保存课程信息 int num; char
5、 kcname20; double xuefen; courseN; /定义结构体数组,保存多门课程信息 本程序主要采用结构体数组进行临时的数据储存,主要应用数组、文件作为数据 存贮的方式。 3.详细设计详细设计 主要函数: void start() /在 main 函数中被调用,读取成绩信息至结构体数组。便于 其他功能模块调用 V oid menu() /在 main 函数中被调用,显示菜单。 void xuanzhe() /在 main函数中被调用,接受菜单选择命令。 void eadfile() /在 xuanzhe 函数中被调用,在屏幕上显示成绩信息 void anjiaquanpx(
6、) /在 xuanzhe 函数中被调用,计算加权平均分并按加权平均 分排名 void numshow() /在 xuanzhe 函数中被调用,按学号查看学生成绩条 Viod main() /主函数,读入成绩文档和课程学分文档,计算加权平均分 5 模块功能说明: 读取文件信息的函数:读取文件信息的函数: void start() char title100; int num=10; int j; FILE *fpfile; int i=0; FILE *fpkc; int k; char str2100; if (fpfile = fopen(“yinhang.txt“,“r“)=NULL) printf(“open file error!n“); fgets(title,300,fpfile); for(i=0;i10;i+) fscanf(fpfile,“%d