学生成绩管理系统C++课程设计Word格式.docx
- 文档编号:8379718
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:20
- 大小:546.33KB
学生成绩管理系统C++课程设计Word格式.docx
《学生成绩管理系统C++课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C++课程设计Word格式.docx(20页珍藏版)》请在冰点文库上搜索。
计算机已经成为我们学习和工作的得力助手。
今天,计算机的价格已经十分低廉,性能有了长足的进步,它已经被应用于许多领域。
另外,信息技术在管理方面也有了越来越深入而广泛的应用,信息管理系统的实施在技术上已逐步成熟。
信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的信息管理系统。
尤其是在学校里,要处理海量的学生数据相当麻烦,为了解决传统学生成绩管理所面临着的这些问题,学生成绩管理系统也就应运而生了。
本文阐述了学生成绩管理工作与信息化紧密结合的管理系统的背景和意义,对该系统的总体结构和各功能模块进行了详细的论述。
系统包括了学生成绩查询模块、学生成绩修改和录入模块、学生成绩求总和排序模块等等。
在各个功能模块中对各种信息进行编辑,具体包括添加、修改、删除、查询等基本操作。
把学生成绩管理简单化,以节省更多的人力和不必要的工作。
关键词:
学生成绩管理系统;
VC++6.0;
指针,链表,类,文件存储与读取
Abstract:
Thecomputerhasbecomeourright-handmantostudyandwork.Today,thepriceofcomputershasbeenverylow,theperformancehasmadesubstantialprogress,ithasbeenusedinmanyfields.Inaddition,themanagementofinformationtechnologyhasalsobeengrowingindepthandawiderangeofapplications,informationmanagementsystemfortheimplementationoftechnologyhasgraduallymatured.Informationmanagementsystemisanewsubject,anyoneunittosurviveanddevelop,totheinternalactivitiesefficientlyorganizedorganically,itmustestablishitsowncharacteristicstoadapttotheinformationmanagementsystem.Especiallyinschools,todealwithcumbersomemassofstudentdata,studentperformancemanagementinordertosolvethetraditionalfaceoftheseproblems,studentachievementmanagementsystemalsocameintobeing.
Thispaperdescribesthemanagementofstudentperformanceandinformationmanagementsystemscloselyintegratedthebackgroundandsignificanceoftheoverallstructureofthesystemandthefunctionmodulesindetail.Systemincludesaquerymoduleforstudentachievement,studentperformancemodificationsandentrymodule,studentachievementsortingmodule,andsothetotaldemand.Ineachfunctionalmoduleandeditallkindsofinformation,specificallyincludingadd,modify,delete,searchandotherbasicoperations.Simplifythemanagementofstudentachievementinordertosavemorehumanandunnecessarywork.
Keywords:
Studentperformancemanagementsystem;
VC6.0;
pointers,linkedlists,classes,filestorageandretrieval
朗读
显示对应的拉丁字符的拼音
字典-查看字典详细内容
目录
1系统概述3
1.1系统的设计需求3
1.2系统的功能模块划分3
2需求分析3
2.1系统需求分析3
2.2系统数据流图4
2.3系统功能介绍4
2.4系统功能模块图5
3详细设计5
3.1程序设计原理5
3.2主要代码描述5
3.3各功能模块代码15
4系统测试21
4.1调试过程21
4.2调试结果说明26
结束语26
参考文献26
1系统概述
该系统实现对若干大学生的学习成绩进行管理,能实现按学期、按班级完成对学生成绩的录入、修改,能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序能查询学生成绩,不及格科目及学生名单,能按班级输出学生的成绩单等。
1.1系统的设计需求
整个系统用VC++进行实现,用指针、链表来实现学生成绩的数据结构设计,系统具有录入、修改、求总、求平均分、输出等功能。
系统的各个功能模块都用类的形式来实现,可以将学生成绩按照分数的高低进行排序。
1.2系统的功能模块划分
每一条记录包含一个学生的姓名、成绩,同时包含:
能按学期、按班级完成对学生成绩的录入、修改;
能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序;
能查询学生成绩,不及格科目及学生名单;
能按班级输出学生的成绩单。
2需求分析
在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛的应用。
如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大,越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。
但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。
因此开发出一个适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。
本系统结构包括学生信息管理、教师信息管理,课程信息管理以及学生成绩信息管理4大部分。
2.1系统需求分析
本系统是一个学生成绩管理系统,采用VC++6.0编译器作为开发环境,这个环境是我们学习C++的平台。
将学生信息保存在文本文档中,具有数据输入功能,输入的数据最终保存在文件中;
具有数据删除功能,能最终从文件中删除;
排序功能,根据自己设计的数据结构,设计排序算法;
具有按学期、按班级查询及输出功能;
各种统计功能,统计每个学生的平均分;
学生信息的修改,修改学生某门课程的成绩。
2.2系统数据流图
2.3系统功能介绍
“学生成绩管理信息系统”主要分为学生浏览和后台管理两个子系统。
设计主要功能:
2.4系统功能模块图
“学生成绩管理系统”系统主模块功能图
3详细设计
3.1程序设计原理
采用C++程序设计语言,从键盘输入学生的基本信息(学号,姓名,英语成绩,高数成绩),计算每个学生的平均成绩,并将数据存入文件student.txt中。
按如下格式输出大于等于平均成绩的学生信息:
学号姓名英语数学C++平均成绩。
提供按学期、按班级进行查询的功能。
尽可能使用运算符重载以简化操作。
使用多文件结构和菜单操作,并考虑相应的操作权限(每个教师输入“自己的学生”的“某门课程”的成绩,而其他学生的其他课程不能输入,只有教务老师才能执行归档类的操作),以提高程序的实用性。
3.3部分功能模块代码
3.3.1实现录入学生信息
cout<
<
"
****************欢迎来到计算机-1成绩管理系统***************"
endl;
cout<
请对各学生的成绩进行输入:
input(m1);
input(m2);
input(m3);
input(m4);
input(m5);
input(m6);
你输入的是:
\t\t姓名\t学号\t英语\t数学\tC++"
\n"
;
output1(m1);
output1(m2);
output1(m3);
output1(m4);
output1(m5);
output1(m6);
order(m1,m2,m3,m4,m5,m6);
}
}
3.3.2实现修改学生成绩
\t**********在这里对学生成绩进行修改**********"
intb1;
请输入你要修改学生的学号:
cin>
>
b1;
if(b1==p1.number)
{
p1=Stu();
input(p1);
cout<
\t修改成功!
!
elseif(b1==p2.number)
p2=Stu();
input(p2);
elseif(b1==p3.number)
p3=Stu();
input(p3);
elseif(b1==p4.number)
p4=Stu();
input(p4);
elseif(b1==p5.number)
p5=Stu();
input(p5);
elseif(b1==p1.number)
elseif(b1!
=p1.number||b1!
=p2.number||b1!
=p3.number||b1!
=p4.number||b1!
=p5.number||b1!
=p6.number)
对不起!
该学号不存在!
请确认后在输入!
gotosheji;
elseif(q==6)
{
3.3.3实现学生成绩的排序
\t**********以平均成绩进行排名**********"
strcpy(s2,"
均分"
);
for(inti1=1;
i1<
6;
i1++)
for(intj1=0;
j1<
6-i1;
j1++)
if(p[j1]<
=p[j1+1])
{
mat=p[j1],p[j1]=p[j1+1],p[j1+1]=mat;
s1=name[j1],name[j1]=name[j1+1],name[j1+1]=s1;
n=number[j1],number[j1]=number[j1+1],number[j1+1]=n;
}
\t\t名次\t姓名\t学号\t"
s2<
for(i1=0;
i1++)
\t\t"
i1+1<
\t"
name[i1]<
number[i1]<
p[i1]<
if(q==2)
3.3.4实现对学生成绩的查询
//voidStudentmassage:
:
Find()
charname[20],Id[10];
intx;
Student*p=NULL;
\n\t\t*********************************\n"
\t\t※1.按学生的姓名查找\n\t\t※2.按学生学号查找"
\n\t\t*********************************\n请选择:
x;
switch(x)
case1:
{cout<
\t\t请输入要查找的学生的姓名:
cin>
name;
if(p=FindItem(name))
p->
Next->
Show();
输入任意字符!
继续……"
getch();
else
\t\t没有找到该姓名的学生!
'
\n'
}break;
case2:
\t\t请输入要查找的学生的学号:
Id;
if(p=FindID(Id))
\t\t没有找到该学好的学生!
3.3.5统计不及格的学生
**********统计有不及格科目的同学***********"
for(inti=0;
i<
i++)
if(English[i]<
60||Math[i]<
60||Cjj[i]<
60)
{
cout<
\t姓名\t学号\t英语\t数学\tC++\t均分\t总分"
output2(soure[i]);
}
elseif(q==0)
谢谢你的支持!
exit
(1);
voidmain()
{
Stum1,m2,m3,m4,m5,m6;
voidStu:
getname();
3.3.6输出学生成绩单
\t**********各科平均成绩**********"
doublea1=0,b=0,d=0,e=0,h=0;
for(intj=0;
j<
j++)
a1+=English[j];
\t英语的平均分为\t"
(double(a1/5.0))<
b+=Math[i];
\t数学的平均分为\t"
(double(b/5.0))<
for(intk=0;
k<
k++)
e+=Cjj[k];
\tC++的平均分为\t"
(double(e/5.0))<
elseif(q==4)
ofstreamfile("
d:
\\student.txt"
if(!
file)
student.txtcan'
topen.\n"
abort();
file<
file<
name[i]<
number[i]<
English[i]<
Math[i]<
Cjj[i]<
Average[i]<
Total[i]<
file.close();
计算机-1的成绩单已输入到了D:
\\student.txt中。
希望你查看!
elseif(q==5)
4系统测试
4.1调试过程
首先是学生成绩信息的录入
显示录入学生成绩信息
查询平均成绩排名
查询个人情况
查询各科平均成绩
输出班级成绩单
修改个人成绩
统计有不及格科目的同学
退出系统菜单
4.2调试结果说明
本文所阐述的学生成绩管理系统,具有对学生成绩信息的输入功能,但是输入格式有所限制,比如学号的输入只能是四个数字,不是四个数字,此系统就不予识别,调试无法再进行下去,而且学号不能相同,相同也会影响程序的调试。
输入的学生数不能少于六个,否则也无法调试下去。
在输出班级成绩单的模块中,系统将成绩单保存到了文件夹中,方便进行查看,统计学生是否有不及格科目的过程,可以将学生的姓名学号成绩等都显示出来,非常方便查看。
各功能模块在主菜单中都有选择序号,操作人员可以根据序号选择要进行的操作,退出的时候只要选择0,即可方便退出。
结束语
经过两个星期的C++程序设计,让我明白到了C++这门课的重要性,C++作为一门电脑学的基础课,是我们必须掌握的顺电脑飞速发展的今天,掌握电脑的应用是如今每一位大学生所必须掌握的,掌握电脑有对各人来说有我种好处,学习电脑是一种本领,也是一种生存的技能,而C++做为电脑的基础,掌握它更是我们这些大学生所必须掌握的。
拿到题目,我真的不知道该怎么办,但随着慢慢的设计,思路也总算有了,这样才能继续进行下去,这时我才真正认识到了C+++的功能原来是那么的多。
一个复杂的成绩管理系统,经过500-600行的代码就可以完完全全的达到,这是让我非常惊讶的,但相对,如今的C++也是非常难的,这学期学到的I/O流,类,都是C++的重点,但学下来以后感觉还是很难所以必须先打好基础,基础好了,学什么都会容易很多。
这次的程序设计让我重新认识到了C++,这是一门非常重要的科目,我们必须付出很多倍的努力学习它,才能熟练地掌握它。
参考文献
1.郑莉,董渊,何江舟C++语言程序设计(第四版)清华大学出版社
2.严蔚敏,吴伟民数据结构(C语言版)清华大学出版社
3.教师教案PPT(指针,链表,数组)
4.C++语言上机指导书
5.网络资源(C++语言程序设计视频教程)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 C+ 课程设计