首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 某学校在学生毕业时要求对其成绩进行综合评定,学生的综合成绩(GPA)由其课程加权平均成绩(Wg)与附加分(Ag)构成,即GPA=Wg+Ag。 设一个
阅读下列说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 某学校在学生毕业时要求对其成绩进行综合评定,学生的综合成绩(GPA)由其课程加权平均成绩(Wg)与附加分(Ag)构成,即GPA=Wg+Ag。 设一个
admin
2013-07-03
30
问题
阅读下列说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
某学校在学生毕业时要求对其成绩进行综合评定,学生的综合成绩(GPA)由其课程加权平均成绩(Wg)与附加分(Ag)构成,即GPA=Wg+Ag。
设一个学生共修了n门课程,则其加权平均成绩(Wg)定义如下:
其中,grade
i
、C
i
分别表示该学生第i门课程的百分制成绩及学分。
学生可以通过参加社会活动或学科竞赛获得附加分(Ag)。学生参加社会活动所得的活动分(Apoints)是直接给出的,而竞赛分(Awards)则由下式计算(一个学生最多可参加m项学科竞赛):
其中,l
i
和S
i
分别表示学生所参加学科竞赛的级别和成绩。
对于社会活动和学科竞赛都不参加的学生,其附加分按活动分为0计算。
下面的程序实现计算学生综合成绩的功能,每个学生的基本信息由抽象类Student描述,包括学号(stuNo)、姓名(name)、课程成绩学分(grades)和综合成绩(GPA)等,参加社会活动的学生由类ActStudent描述,其活动分由Apoints表示,参加学科竞赛的学生由类CmpStudent描述,其各项竞赛的成绩信息由awards表示。
【C++代码】
#include
#include
using namespace std;
const int n=5; /*课程数*/
const int m=2; /*竞赛项目数*/
class Student{
protected:
int stuNo;string name;
double GPA; /*综合成绩*/
int(*grades)[2]; /*各门课程成绩和学分*/
public:
Student(const int stuNo,const string&name,int grades[][2]){
this->stuNo=stuNo;this->name=name;this->grades=grades;
}
Virtual~Student(){}
int getstuNo(){/*实现略*/}
string getName(){/*实现略*/}
(1)
;
double computeWg(){
int totalGrades=0,totalCredits=0:
for(int i=0;i<N;i++){
totalGrades+=grades
[0]*grades
[1];totalGredits+=grades
[1];
}
return GPA=(double)totalGrades/totalCredits;
}
};
class ActStudent;public Student{
int Apoints;
public;
ActStudent(const int stuNo,const string&name,int gs[][2],int Apoints)
:
(2)
{
this->Apoints=Apoints:
}
double getGPA(){return GPA=
(3)
;}
};
class CmpStudent:public Student{
private:
int(*awards)[2];
public:
cmpstudent(const int stuNo,const string&name,int gs[][2],int awards[][2])
:
(4)
{ this->award=award;}
double getGPA()f
int Awards=0;
for(int i=0;i<M;i++){
Awards+=awards
[0]*awards
[1]:
}
Return GPA=
(5)
;
}
};
int main()
{ //以计算3个学生的综合成绩为例进行测试
int g1[][2]={{80,3},{90,2},{95,3},{85,4},{86,3}},
g2[][2]={{60,3},{60,2),{60,3},{60,4},{65,3}},
g3[][2]={{80,3},(90,2},{70,3},{65,4},{75,3}}; //课程成绩
int c3[][2]={{2,3},{3,3)}; //竞赛成绩
Student*student[3]={
new ActStudent(101,”John”,g1,3), //3为活动分
new ActStudent(102,”Zhang”,g2,0),
new ActStudent(103,”Li”,g3,c3),
};
//输出每个学生的综合成绩
for(int i=0;i<3;i++)
cout<<
(6)
<<end1;
delete*student;
return 0;
}
选项
答案
(1)virtual double getGPA()=0 (2)Student(stuNo,name,gs) (3)computeWg()+Apoints或Student::computeWg()+Apoints (4)Student(stuNo,name,gs) (5)computeWg()+Awards或Student::computeWg()+Awards (6)students[i]->getGPA()
解析
本题的程序功能是计算学生的综合成绩(GPA)其中GPA由其课程加权平均成绩Wg与附加分Ag构成,即GPA=Wg+Ag。首先定义了一个getGPA()函数并为函数赋初始为0,(1)填virtual double getGPA()=0,其中virtual是指在windows下C++的开发环境,double定义了GPA的值都为双精度浮点数。(2)是计算学生的活动的附加分,调用Student()函数,括号内的变量用已经定义过的变量名替代,即Student(stuNo,name,gs)。在Student()函数中调用了getGPA函数,引用了题目中给的公式GPA=Wg+Ag,所以(3)应填computeWg()+Apoints。(4)是计算学生竞赛的附加分的函数,其中又调用了一次Student函数,所以同(2)一样填Student(stuNo,name,gs)。(5)同(3)一样,是在Student函数中调用了get-GPA函数,引用了题目中给的公式GPA=Wg+Ag,所以(5)应填computeWg()+Awards,与(3)不同的是,这次Wg加的是竞赛的附加分。(6)是在主函数的for循环里面,由于共有3个学生,所以i的取值范围为0~3,并将students
的值赋值给GPA,所以(6)应填students
->getGPA()。
转载请注明原文地址:https://kaotiyun.com/show/knjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
以下关于数据录入人员和数据校验人员工作职责的叙述中,不正确的是______。
假设100个数据的平均值为82.31,其中有10个数据又发生了如下增减变化:+3.52,+2.87,-4.13,+5.34,-2.87,+2.50,-3.52,+4.23,-5.04,+0.10,则新的平均值变为(26)。
在Excel2007中,(43)________________不是计算从A1到A6单元格中数据之和的公式。
在Excel2007中,如果在A1单元格输入“计算机”,在A2单元格输入“软件资格考试”,在A3单元格输入“=A1&A2”,按回车键后,结果为______。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
在Excel2007中,利用填充柄可以将数据复制到相邻单元格中。若选择含有数值的上下相邻的两个单元格,按住鼠标左键向下拖动填充柄,则数据将以(49)________________填充。
某PowerPo血文档共有10张幻灯片,先选中第6张幻灯片,再改变背景设置,单击“全部应用”命令后,则第________张幻灯片的背景被改变。
为什么一般处理“震荡波”病毒时,首先要把被侵入的计算机系统从网络上断开?在计算机系统发现病毒并清除以后,在未接入网络之前,从安全方面考虑,若需重新安装操作系统,通常需要执行以下几项主要工作后,方可接入网络。请给出下列工作的合理顺序。A.安装操作
以下(1)属于ASP.NET创建的网页程序文件。(1)A.index.aspB.index.htmC.index.aspx从以下备选答案内为程序中(3)~(7)处空缺选择正确答案。(3)A.requestB.res
从表1-1中为图1-1中(1)~(4)处选择合适设备名称(每个设备限选一次)。表1-2是路由器A上的地址变换表,将图1-2中(8)~(11)处空缺的信息填写在相应的位置。
随机试题
下列观点包含实践对认识的决定作用的有()
下列各点中为二元函数z=x3-y3-3x2+3y-9x的极值点的是:
在锻造生产中易发生的伤害事故中,不属于机械伤害的是()
下列合同生效的要件中,错误的是()。
国际工程项目招标中,如果业主列出了暂定工程量的项目和数量,但并没有限制这些工程量的估价总价款,则投标人对该暂定工程的报价策略是()。
下列设备中,同时属于输入没备和输出设备的是()。
简述记账凭证的基本内容。
任何改革都有风险,这一点,古今中外__________。但是,一个社会的改革之所以启动,一项制度的革新之所以进行,完全不是改革者__________的无事生非,而往往是不改革的风险等于或高于改革的风险所致。填入划横线部分最恰当的一项是:
转型是指事物的结构形态、运转模型和人们观念的根本性转变过程。不同转型主体的状态及其与客观环境的适应程度,决定了转型内容和方向的多样性。转型是主动求新求变的过程,是一个创新的过程。根据上述定义,下列各项属于转型的是:
以下给出的地址中,属于子网192.168.15.19/28的主机地址是(42)。
最新回复
(
0
)