本题目要编写一个评分器。创建考试后,当输入做题总数和错题数时自动求出分数
代码中包含两个类,分别是:
1、父类Grade负责将成绩分成级别,如,A:100-90;B:89-80;C:79-70;D:69-60;F:低于60分
私有成员:
字符变量letter---- 表示成绩的级别,如‘A’、‘B’等
单精度浮点变量score---表示真实分数
函数calcGrade()---无返回值,将分数分成级别
公有成员:
setScore函数--设置分数
getScore函数--获取分数
getLetter函数---获取成绩级别
2、子类Test 公有继承Grade,用以创建考试
私有成员:
变量numQuestions---- 表示做题总数
变量pointsEach---表示每题分数
变量numMissed()---表示做错题数
公有成员:
构造函数,用以初始化考试做题总数与错题数
输入格式:
总题数
错题数
输出格式:
The score is:分数
The grade is:级别
输入样例:
在这里给出一组输入。例如:
12
3
输出样例:
在这里给出相应的输出。例如:
The score is:75.00
The grade is:C
#include<iostream>
#include<iomanip>
using namespace std;
class Grade
{
public:
char letter;//字符变量
float score;
public:
void calcGrade()
{
if (score >= 90)
letter = 'A';
else if (score >= 80)
letter = 'B';
else if (score >= 70)
letter = 'C';
else if (score >= 60)
letter = 'D';
else
letter = 'F';
}
void setScore(int a,int b)
{
score = 100.0*(a-b)/a;
calcGrade();
}
float getScore()
{
return score;
}
char getLetter()
{
return letter;
}
};
class Test:public Grade
{
private:
int numQuestions;
float pointsEach;
int numMissed;
public:
Test(int a,int b):numQuestions(a),numMissed(b)
{
setScore(numQuestions,numMissed);
}
};
int main()
{
int a,b;
cin>>a>>b;
Test *p=new Test(a,b);
cout<<"The score is:"<<fixed<<setprecision(2)<<p->getScore()<<endl;
cout<<"The grade is:"<<p->getLetter()<<endl;
return 0;
}
标签:分数,评分,---,int,score,letter,Test,制作 From: https://blog.csdn.net/2301_80920713/article/details/139144826