1、 课 程 设 计 报 告 课程名称课程名称 C 语言程序设计语言程序设计 课题名称课题名称 学生学生成绩管理系统成绩管理系统 1 / 24 课 程 设 计 任 务 书 一 、 设 计内 容与设计要求一 、 设 计内 容与设计要求 1 1设计内容:设计内容: 问题描述:问题描述: 对一个有 N 个学生的班级,每个学生有 M 门课程。该系统实现对班级成绩的录入、 显示、修改、排序、保存等操作的管理。 功能要求:功能要求: 、本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M 门课程名称。 、本系统显示这样的菜单: 请选择系统功能项: a、 成绩录入 b、 成绩显示 c、 成绩保存 d
2、、 成绩排序 e、 成绩修改(要求先输入密码) f、 成绩统计 、显示每门课程成绩最高的学生的基本信息 、显示每门课程的平均成绩 g、 退出系统 、执行一个具体的功能之后,程序将重新显示菜单。 、将学生成绩保存到文件中。 算法提示:算法提示: 、数据结构:结构体类型数组。 、数据库结构:下表构成该系统的基本数据库。 姓名 学号 课程名称 1 课程名称 2 charchar int float float 测试数据:测试数据: 2 / 24 学生人数 N=10 课程门数 M=4 课程名:数学、语文、英语、政治 其它其它 对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。 2 2设
3、计要求:设计要求: 1) 设计正确,方案合理。 2) 界面友好,使用方便。 3) 程序精炼,结构清晰。 4) 设计报告 5000 字以上,含程序设计说明、系统的功能框图、流程图、源程序清 单等。 5) 实际操作过程中遇到的问题及解决方法:设计总结及心得体会. 6) 上机演示。 3 3分组及安排分组及安排 所选题目根据学生学号确定,学号模 4 加 1,即(学号%4+1) 。如你的学号为 17, 则所选题目号为:17%4+1(题目 2) 。 4 4成绩评定成绩评定 程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量高低;答辩 时回答问题情况;课程设计周表现情况;总评成绩记入“课程设
4、计成绩评分表” 。 二、二、进 度 安 排进 度 安 排 第 18 周星期一星期二星期五 08:0012:00 星期一 上午 熟悉这次课程设计的目的和课程设计的要求,通过图书馆或因特网查找与帧封装课题 相关的资料,明确了解一些要用到的文件和调用函数等。机房上机,在计算机上编辑源程序。 星期二 上午 调试程序,在改正错误的同时不断完善程序,使源代码满足课程设计的要求和实现课 程设计的基本功能。 星期三 上午 继续修改、编辑、调试程序。不断改正错误后,要保证程序能成功编译成目标文件, 链接成功成为可执行文件,再运行能显示出“帧封装已完成”的信息,这样才能算已经完 成了本课题的基本功能。 星期五 上
5、午 3 / 24 进一步完善程序并运行演示,完成课程设计答辩, 星期六 画出流程图,书写程序报告,对整个程序流程与算法进行解释并写出总结。完成并打 印课程设计报告。 目录目录 一、课题的主要功能 . 4 二、课题的功能模块的划分 . 5 头文件(xscj.h). 5 主函数(int main() ) 5 创建链表 (struct student * creatlb()) . 6 信息保存(void baocun(struct student * head)) . 8 成绩录入(void cjlr(struct student * head)) . 9 成绩显示(void cjxs()) . 9
6、 成绩修改(void cjxg()) 10 成绩排序(void cjpx()) 11 三.程序模块截图 12 四.总结及参考资料 14 附录: . 15 4 / 24 一、课题的主要功能一、课题的主要功能 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的 信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内 容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班 学生的所有成绩信息,要求用 C 语言编写一个简单的成绩管理系统,可进行录入、查询、 修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。本系统实现以 下功能: 1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信 息;可用函数 void input(STUDENT *data, int *len)来实现此操作。 2、成绩输出模块:输出学生的信息以及成绩,通过学生的姓名来查看学生的相