制作评分器只用到了一个类,反正过了就行
7-4 制作评分器
分数 50
全屏浏览
切换布局
作者 jolie
单位 佳木斯大学
本题目要编写一个评分器。创建考试后,当输入做题总数和错题数时自动求出分数
代码中包含两个类,分别是:
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
以下是代码C++
#include<iostream>
using namespace std;
class Grade
{
public:
string letter;
double score;
Grade(int all, int p)
{
score = 100.0*(all-p)/all;
calcGrade();
}
void calcGrade()
{
if(score>=90)
{
letter = 'A';
}
else if(score>=80 && score < 90)
{
letter = 'B';
}
else if(score>=70 && score <80)
{
letter = 'C';
}
else if(score >=60 && score <70)
{
letter = 'D';
}
else
{
letter = 'F';
}
}
double getScore()
{
return score;
}
string getLetter()
{
return letter;
}
};
// class Test: public Grade
// {
// public:
// int nump, point, numm;
// Test(int p, int m):nump(p), numm(m)
// {
// }
// };
int main()
{
int np,p;
cin>>np>>p;
Grade* g= new Grade(np, p);
printf("The score is:%.2f\n", g->getScore());
cout<<"The grade is:"<<g->getLetter()<<endl;
return 0;
}
随便写写方便大家面向结果编程