学生成绩管理系统C程序设计报告
时间:2025-03-09
时间:2025-03-09
湖南科技学院
课程设计报告
课程名称: 计算机高级语言(C++)课程设计
课程设计题目: 学生成绩统计管理系统
系: 专 业: 年级、班: 姓 名:
学 号:
理学院
数学与应用数学 数应1301 梁莎
201305001128
指导教师: 职 称:
张晓朋 讲师
2015年7月
目录
课程实验报告
一、需求分析------------------------------------------(1)
二、概要设计------------------------------------------(2-4)
三、程序实现思路--------------------------------------(5)
四、设计总结------------------------------------------(5-7)
五、参考文献-------------------------------------------(8)
六、源代码--------------------------------------------(8-32)
七、运行情况--------------------------------------------
学生成绩管理系统C程序设计报告
第一章 需求分析
1.1目标
(1)掌握和利用C语言进行程序设计的能力。 (2)理解和运用结构化程序设计的思想和方法。 (3)掌握开发一个小型实用系统的基本方法。 (4)学会调试一个较长程序的基本方法。
(5)掌握书写程序设计开发文档的能力(书写课程设计报告)。
1.2 实现功能
(1)学生信息录入功能
1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、C++。 2)可插入一个或多个学生信息到当前编辑的班级数据中。 3) 可删除一个或多个学生信息。
(2)文件保存功能
1)学生信息每一班存为一个数据文件,数据文件可在程序中打开、编辑。 2)用户输入学生信息可随时保存数据文件。
(3)文件打开功能
1)程序只能对当前打开的数据文件进行编辑。
(4)查询功能
1)浏览所有学生信息; 2)按学号查询学生信息; 3)按姓名查询学生信息;
4) 查询一个班总成绩和平均成绩;
5) 查询一个班某一门课总成绩和平均成绩;
6)查询某一门课分数段( <60,60-69,70-79,80-89,>90)学生数。
(5)报表输出功能
1) 按学号输出一个班学生信息:学号、姓名、性别、数学、英语、C++以及总成绩,到屏幕和文件。
2) 按总成绩输出从高到低输出学号、姓名信息。
注:以上功能以菜单形式供用户使用,并有一定的容错功能。
第二章 概要设计
2.1设计概述
根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能;
2.2系统总体结构及功能模块划分
经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息查询,学生信息管理,学生成绩录入三个功能模块。如图2.2.1 系统的总体结构。
图2.2.1 系统的总体结构
2.2.1学生信息查询模块
学生信息查询:学生可以根据学号、姓名、专业进行查询。如图1.2.2学生
信息查询模块结构。
图2.2.2 学生信息管理模块结构
2.2.2学生信息管理模块
学生信息管理:主要是用于学生信息更新、插入、删除,如图1.2.3学生管
图2.2.3 学生信息管理模块结构
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。 2.3
查询功能模块
在此模块里,用户可实现以下操作:1.浏览所有学生信息;2.按学号查询学生信息;3.按姓名查询学生信息;4.查询一个班每个人的总成绩和平均成绩; 5.查询一个班某一门课每个人的总成绩和平均成绩;6)进行成绩的统计分析:包括总人数,每门课的最高成绩、最低成绩、平均成绩、各个分数段的人数(100-90、89-80、79-70、69-60、59-50、50以下)、及格人数。
模块图2.3
开始
m
值 1,3,4
值8
值9
值 7,2,6,5
值 10,11
学生信息录入 模块
文件保存功能 模块
文件打开功能 模块
查询功能模块
报表输出功能 模块
用户输入, 并将值保存 至m中
m
结束
4
第三章 实现程序思路
第四章 设计和总结 4.1 学生信息录入模块设计
通过应用list中的instu()函数,来新建一个链表中的节点,即一个新的
学生信息,来进行成绩的录入功能。成绩修改功能,可以根据姓名或学号进行查询并修改相应的课程的成绩,使用了void search(char s[10],int)和void search1(char s[20],int)函数进行操作。search函数根据姓名查找,search1函数根据学号进行查找。因为学号和姓名,都是存储在字符数组中的,所以都是通过字符串的比较进行查找的。然后根据整形参数进行对应的课程成绩的修改。成绩删除功能,也是可以根据姓名或学号进行删除,查询的算法和成绩修改功能
的查询方法是一样的,当找到要删除的节点时,因为节点都是在堆内存中保存的,所以可以直接delete掉,并将前一个节点的next指针指向被删掉的节点的next指针所指向的节点。
4.2 文件保存功能模块
先提示用户输入保存文件的文件名及班级名称。文件的前两行分别是班级名称和成绩单的开头,然后通过ofstream变量output来进行学生信息的输出,一项一项的输 …… 此处隐藏:5442字,全部文档内容请下载后查看。喜欢就下载吧 ……