数据结构课程设计学生成绩管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽宁科技大学
课程设计报告设计题目:学生成绩管理
学院、系:电子与信息工程学院
专业班级:计算机11-2 班
学生姓名:赵月
指导教师:龙艳彬
成绩:
2013年1 月8 日
目录
一、需求分析------------------------------------------------3
二、概要设计------------------------------------------------3
三、详细设计------------------------------------------------5
3.1系统流程图-----------------------------------------------------5
3.2界面设计-------------------------------------------------------6
3.3各功能模块的设计----------------------------------------------7
四、测试与分析---------------------------------------------9
五、总结-----------------------------------------------------15
六、附录(源代码)--------------------------------------16
1.需求分析
1.1问题描述
本系统实现了学生成绩管理的功能,具有学生成绩的输入、读取、查询、修改、插入、删除、排序,统计等功能。
1.2基本要求
(1) 输入的形式和输入值的范围;
首先输入学生个数,按回车键。按照提示选择,将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档中。输入数据类型主要是char、int、float等数据类型,输入内容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,大学英语成绩总分,平均分等数据。
(2) 输出的形式;
学期、学号、姓名、高等数学成绩,数据结构成绩,大学英语成绩,总分,平均分等数据。
(3) 程序所能达到的功能;
1. 数据输入功能,输入的数据能最终保存在文件中;
2.数据删除功能,能最终从文件中删除;
3. 排序功能,根据自己设计的数据结构,设计排序算法
4.多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能;
6. 学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)
7. 其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等等)
2、概要设计
1. 数据结构:数组(顺序存储结构)
2. 程序模块:
(1)先编入系统所需的库函数,使程序可运行
#include
#include
#include
#include
#include
(2)主界面的设计
在主界面中包括“①输入学生信息并保存到文件②读取文件并输出学生信息③按学号及学期查询④按姓名及学期查询⑤按学号及学期修改信息⑥插入信息⑦按学号及学期
删除信息⑧按数据结构降序(冒泡)排序⑨按总分降序(选择)排序⑩统计各科成绩的总分和平均分11退出”等全部的功能。每个函数体如下:
void input(Student *r); //输入
void output(Student *r); //输出
void searchnum(Student *r); //按学号及学期查找
void searchname(Student *r); //按姓名及学期查找
void change(Student *r); //按学号及学期修改信息
Student *insert(Student *r); //插入信息
void shanchu(Student *r); //按学号及学期删除信息
void maopao(Student *r); //按数据结构降序(冒泡)排序
void xuanze(Student *r); //按总分降序(选择)排序
void tongji(Student *r); //统计各科总分和平均分信息
(3)Main()函数的设计
在main()函数中主要运用do-while循环语句和switch()-case选择判断语句来调用相关功能模块。系统的运行是在一个循环里进行的,只有在主界面并选择“退出”时,才会跳出循环,并退出程序。
void main()
{
c out<<"输入学生的个数:";
c in>>num; //全局变量
S tudent *p=(Student *)new Student[num]; //定义指针数组,存放学生个数
i nt m;
d o{
cout< cout< cout<<"\t*----------------------------->菜单栏<-----------------------------*\n"< cout<<"\t* <1> 输入学生信息并保存到文件<2> 读取文件并输出学生信息*"<