C++课设论文学生成绩评定系统.docx
- 文档编号:3174353
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:12
- 大小:91.97KB
C++课设论文学生成绩评定系统.docx
《C++课设论文学生成绩评定系统.docx》由会员分享,可在线阅读,更多相关《C++课设论文学生成绩评定系统.docx(12页珍藏版)》请在冰豆网上搜索。
C++课设论文学生成绩评定系统
《面向对象程序设计》
课程设计
题目:
《学生成绩评定系统》
院系:
数学与计算科学
专业:
信息与计算科学
姓名学号:
指导老师:
日期:
2015年1月8日
摘要
关键字:
录入学生数据,删除数据,查询数据,显示全部学生数据
程序主要用于对学生成绩进行评定,将学生考试成绩输入,作业成绩,测试成绩输入,然后通过加权平均求出最终成绩,最后将成绩分成字符等级输出,此外这个程序还可以删除,查找,显示全部学生考试情况。
定义一个student类分别对学号、姓名、性别、考试成绩、作业成绩、和测试成绩进行输入,定义成员函数pj()将所有成绩加权以及成员函数gr()将加权后的成绩转化为等级,stu_delete(),stu_find(),display()分别为删除,查询,显示学生的数据,接着定义一个类manage_stu,将前面的student类作为manage_stu成员变量,并定义成员函数input_stu()用于输入N名学生信息,delete_stu(),find_stu(),分别用于删除和查找并显示指定学生,display_stu()用于显示全部学生信息,用户在界面上选择某个数字,通过switch来判断所对应的条件,从而选择调用相应的成员函数,例如选择1.录用学生信息,则调用manage_stu中的input_stu(),输入N名学生姓名,学号,性别,考试成绩,作业成绩,测试成绩后,则成绩存在系统中。
Abstract
Keywords:
input students'data,delete data,query data,
display all the students' dat
Programismainlyusedforassessmentofstudentachievement.Wecaninputstudents’examinationperformance,taskperformanceandtestscoresandthenthenthefinalresultsobtainedbytheweightedaverage.Finally,theperformanceleveloftheoutputintoacharacter,inadditiontothisprogramcanalsodelete,search,displayallstudenttestcases.
Designphase:
wecandefineaClassstudenttoinputrespectivelystudentnumber,name,sex,examinationperformance,taskperformanceandtestscores.Wecandefinememberfunctionpj()toweightallthescores.Andmemberfunctiongr()willconvertweightedscoresintothegrades.Thememberfunctionstu_delete()candeletedatas.Thememberfunctionstu_find()canfinddatas.Andthememberfunctiondisplay()candisplaythestudents’datas.ThenwedefineaClassmanage_stutotaketheprecedingClassstudentasthemembervariablesofit.Wedefinethememberfunctioninput_stu()toinputtheinformationofseveralstudents.Delete_stu()andfind_stu()areusedtorespectivelydeletedatasandfinddatasanddisplaythespecifiedstudents’information.Display_stu()isusedtodisplayallstudentinformation.Theusercanselectoneofthedigitalontheinterface,throughaswitchtodeterminethecorrespondingconditionstoselecttheappropriatememberfunctioncalls.Forexample,ifweselectnumber1:
inputtheinformationofstudents,wecancallthememberfunctioninput_stu()ofClassmanage_stutoinputseveralstudents’name,studentnumber,sex,examinationperformance,taskperformanceandtestscores.Theresultissavedinthesystem.
个人感言
课程设计把我们的学过的知识和实际相结合起来,我们之所以选择了学生成绩评定系统这一题目,是因为觉得这一个题目和我们生活息息相关。
通过这次的课程设计,让我把学的东西应用起来,用全新的目光看待一个东西,此外和让我体会了团结合作的力量,我们两个人一起看书,一起讨论,还通过网上以及其他各种途径获得信息和知识的经验,然后分工合作,方案确定后,同伴负责CRC分析和UML类图,而我负责编程,理论与实际相结合的课程设计,锻炼了我综合运用所学的基础知识解决实际问题的能力,同时也提高了我编程能力。
刚开始还比较模糊,不知道如何下手,但当你静下心来,翻阅资料,你会看到很多很多你不知道的东西,此时不要灰心,多看多问多想,就能解决问题。
因此,在这过程中开阔我的知识面。
通过这个课程设计真的让我收获了很多,在没有做题目之前,我一直觉得我很多方面都不行,编程水平很烂。
在同学的帮助下还有通过网上查找,思路才慢慢清晰,看了好久,才知道自己该往哪方面着手,虽然讨论的过程有争执,意见不一,但最后我们也达成同一方案。
在这个编程过程中,由于之前编程经验不足,也会出现很多很多错误,比如搞混域运算符和成员运算符,忘记对构造函数初始化等等很多问题,通过问同学,以及看书,上网查阅一一排除,找出错误,当发现自己想的程序不知道如何表达出来时,应该学会变通,学好一样东西不容易,但更难的是坚持走下去。
总之,这个课程设计为我打开C++大门,让我对这一学科和编程更有兴趣,从刚开始的半知半解,到现在几乎可以自己编写个小程序。
做了这个这个后才发现C++还有很多很丰富的知识内容,现在学习到的只是冰山一角。
虽然这个代码存在很多方面的不足,时间复杂度和算法方面都有提高的空间,但我相信只要以后我多练习,多敲代码,会敲出效率更高的代码,经过这次课设,我觉得自己各方面的能力都有所提升。
引言
C++课程设计中编写一个程序用来对学生评定成绩。
每名学生都有三个分数:
考试分数、作业分数、和测验分数。
首先将每一项得分转换成字符等级(例如,100~94为A,93~91为A-,90-88为B+等)。
为了得到最终成绩,先将各项成绩转换成分值(例如,A=4.0,A-=3.7,B+=3.3等)。
然后,再将这三项成绩值加权平均(例如:
考试成绩占40%,作业成绩占35%,测验成绩占25%),得到最终得分。
最后,将最终得分再次转换成字符等级成绩。
设计一个用户界面来实现所述要求,并利用CRC卡片设计类和类中的方法,同时给出UML图并实现该程序。
在用户界面上可以输入学生的成绩,还能够查询学生的成绩。
程序主要用于对学生成绩进行评定,将学生考试成绩输入,作业成绩,测试成绩输入,然后通过加权平均求出最终成绩,最后将成绩分成字符等级输出,此外这个程序还可以删除,查找,显示全部学生考试情况。
原理部分
C++通过类来实现封装性,把数据和这些数据有关的操作封装在一个类中,把一些数据指定为私有,使他们与外界隔离,把需要让外界调用的成员函数指定为公用的,外界通过公用的函数来实现对数据的操作,外界与对象唯一的联系渠道就是调用公用的成员函数,所以公用成员函数是用户使用类的公用接口,这就是接口与实现分离。
程序设计者的任务包括两方面,一是设计所需要的各种类和对象,即决定把哪些数据和操作封装在一起,二是考虑怎么向有关对象发送消息,以完成所需任务,对一个大型任务来说,面向程序设计方法大大降低程序设计人员的工作难度,减少出错的机会。
C++提供构造函数来处理对象的初始化,构造函数是一种特殊的成员函数,不需要用户调用它,而是对象建立时自动执行,名字必须与类名相同,以便编译系统自动把它作为构造函数处理,它不具有任何类型,不返回任何值。
设计内容
定义一个student类分别对学号、姓名、性别、考试成绩、作业成绩、和测试成绩进行输入,定义一个float型的数组score[4]用来存放成绩,其中score[0]存放考试成绩,score[1]存放作业成绩,score[2]存放测试成绩,定义成员函数pj()将所有成绩加权后存放在score[3]中,成员函数gr()将加权后的成绩,通过if语句判断它所在的范围从而确定它的等级,stu_delete()用于删除某个学生数据,trcmp(stu[i].n_numble,d_numble)即通过输入的学号与之前存放在数组的学号对比,找到删除的数据后,把后面的数据往前移即stu[j]=stu[j+1],这就使删除的数据被覆盖掉,stu_display()用于输出学生的所有信息,包括学号,姓名,性别,考试成绩,测验成绩,作业成绩以及最终等级,stu_find()同过输入的学号与之前数组里的学号对比,k=strcmp(stu[i].n_numble,d_numble);如果k为0,即找到要查找的学号,
stu[i].dispaly()就可以展示全部关于该学生的信息,成员函数里的stu_input(),则用于输入学生信息。
接着定义一个类manage_stu,将前面的student类作为manage_stu成员变量即studentstu[N+1],定义N+1名学生空间定义N+1名学生空间,并定义成员函数input_stu()用于输入N名学生信息,每输入一次,调用一次student里的input()函数,delete_stu(),find_stu(),分别用于删除和查找并显示指定学生,display_stu()用于显示全部学生信息,通过一个for循环,每次都调用student里的display()函数,通过while中的i来控制是否进行循环,当i变为0即条件为假时,退出循环,用户在界面上选择某个数字,通过switch来判断所对应的条件,从而选择调用相应的成员函数,例如选择1.录用学生信息,通过switch中的数字对应case1,则调用manage_stu中的input_stu(),然后在input_stu()中又调用了student类中的input(),输入N名学生姓名,学号,性别,考试成绩,作业成绩,测试成绩后,则成绩存在系统中。
CRC卡片
Class:
manage_stu
说明:
系统运行时的主窗体
职责:
协作类:
student类
录用学生数据
删除数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 论文 学生 成绩 评定 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)