- 2022-2023(1)C++程序设计实验6-by Lyx
- 编程题
- 1. #类和对象-学生成绩计算
【问题描述】创建一个学生类,成员变量有姓名(Name),学号(ID)和三门课c++(CPlusScore)和高等数学(AMathScore)和大学英语(CEngScore)的成绩,成员函数有max()和avg(),分别为计算每个学生最高分和平均分的函数,如图1所示。初始化5个学生的信息,然后自定义函数实现计算5个学生的最高分的均值和平均分的均值并输出。
【样例输入】
1001 Kim 99 95 97
1002 Sam 89 78 85
1003 Tim 90 95 97
1004 Kathy 60 53 70
1005 Jane 70 89 63
【样例输出】
88.8
82.0
单文件解法
#include<bits/stdc++.h>
using namespace std;
class student
{
private:
string name;
int id;
int score[3];
public:
void input()
{
cin>>id;
cin>>name;
for(int i=0;i<3;i++)
{
cin>>score[i];
}
}
double avg()
{
double avg=0;
for(int i=0;i<3;i++)
{
avg=avg+score[i];
}
avg=avg/3;
return avg;
}
double max()
{
double max=0;
for(int i=0;i<3;i++)
{
if(max<score[i])
{
max=score[i];
}
}
return max;
}
};
int main()
{
double sum_max=0,sum_avg=0;
const int num=5;
student stu[num];
for(int i=0;i<num;i++)
{
stu[i].input();
}
for(int i=0;i<num;i++)
{
sum_max=sum_max+stu[i].max();
sum_avg=sum_avg+stu[i].avg();
}
cout<<fixed<<setprecision(1)<<sum_max/num<<endl<<fixed<<setprecision(1)<<sum_avg/num<<endl;
return 0;
}