您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计课设论文-学生成绩评定系统
《《面面向向对对象象程程序序设设计计》》课课程程设设计计题目:《学生成绩评定系统》院系:数学与计算科学专业:信息与计算科学姓名学号:指导老师:日期: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名学生姓名,学号,性别,考试成绩,作业成绩,测试成绩后,则成绩存在系统中。桂林电子科技大学课程设计报告用纸AbstractKeywords:inputstudents'data,deletedata,querydata,displayallthestudents'datProgramismainlyusedforassessmentofstudentachievement.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.桂林电子科技大学课程设计报告用纸个人感言课程设计是一次可以让我们把所学知识与实际相结合的一次机会,我们选择了学生成绩评定系统这一题目。通过这次比较完整的一个程序设计,让我走出了纯理论的学习,从一种全新的角度去学习。我体会较深的是互相帮助学习的过程,自己看书学习的经验,还有网上以及其他各种途径获得信息和知识的经验,理论与实际相结合的课程设计,锻炼了我综合运用所学的基础知识解决实际问题的能力,同时也提高了我查询文献资料的水平。当然,课程设计并不是很好做的,不是你想完成就能完成的,它需要你认真仔细的,且静下心来对待每一个程序块。因此,在这过程中我也培养了自己的耐心。通过这个课程设计真的让我收获了很多,说实在的,自己的编程能力不是很强,所以我和队友进行了分工合作,在队友的帮助下明白了什么是dos命令,虽然只是协助工作,但对于自己也算是一种进步。理解了整个程序之后就开始我主要负责的部分:CRC卡片以及UML绘图。刚开始连听都没听过,经过上网查询了两者的定义才明白CRC卡是一个标准索引卡集合,每一张卡片表示一个类。类代表一系列对象的集合,这些对象是对系统设计的抽象建模,可以是一个人、一件物品等等,类名写在整个CRC卡的最上方。职责包括这个类对自身信息的了解,以及这些信息将如何运用。诸如,一个人,他知道他的电话号码、地址、性别等属性,并且他知道他可以说话、行走的行为能力。这个部分在CRC卡的左边。协作指代另一个类,我们通过这个类获取我们想要的信息或者相关操作。这个部分在CRC卡的右边。UML定义了不同的图,这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。上述所用是静态图。总之,这个课程设计为我打开C++大门,做了这个后才发现C++还有很多很丰富的知识内容,现在学习到的只是冰山一角。虽然这个代码存在很多方面的不足,时间复杂度和算法方面都有提高的空间,但我相信只要以后我多练习,一定会大有进步。桂林电子科技大学课程设计报告用纸目录一、引言.................................错误!未定义书签。二、原理.................................错误!未定义书签。三、设计内容.............................................2(一)crc卡片.................................................3(二)uml图....................................................4四、程序调试.............................................5五、附录代码.............................................7六、参考文献............................................14桂林电子科技大学课程设计报告用纸1引言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++提供构造函数来处理对象的初始化,构造函数是一种特殊的成员函数,不需要用户调用它,而是对象建立时自动执行,名字必须与类名相同,以便编译系统自动把它作为构造函数处理,它不具有任何类型,不返回任何值。桂林电子科技大学课程设计报告用纸2设计内容定义一个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.录用学
本文标题:面向对象程序设计课设论文-学生成绩评定系统
链接地址:https://www.777doc.com/doc-4234101 .html