1、设计一个类,用于处理3个同学的三门课成绩:数据成员包括同学的名字、学号以及包含成绩的数组,共有函数除了构造函数外,还包括计算学生总成绩的函数。
代码如下,如有帮助,请帮忙采纳一下,谢谢。
#include <iostream>
#include <string>
using namespace std;
class StuManager
{
private:
string names[3]; //存储姓名
int ids[3]; //存储学号
int score[3][3];//存储成绩
public:
StuManager(string n[3],int id[3],int sc[3][3])
{
for (int i = 0;i<3;i++)
{
names[i] = n[i];
ids[i] = id[i];
for(int j=0;j<3;j++)
score[i][j] = sc[i][j];
}
}
//计算所有人所有科目的总成绩
int CaculateTotal()
{
int sum =0;
for(int i=0;i<3;i++)
{
for (int j =0;j<3;j++)
{
sum += score[i][j];
}
}
return sum;
}
//计算单人的总成绩
int Caculate(int sum[3])
{
for (int i=0;i<3;i++)
{
sum[i] = 0;
for(int j=0;j<3;j++)
sum[i]+=score[i][j];//注意这里
}
return 1;
}
//计算每门课程的总成绩
int CaculateKc(int sum[3])
{
for (int i = 0;i<3;i++)
{
sum[i] = 0;
for (int j=0;j<3;j++)
{
sum[i] += score[j][i]; //注意这里
}
}
return 0;
}
};
int main()
{
string na[3]={"张三","李四","王五"};
int id[3] = {100,101,102};
int sc[3][3] ={{22,33,44},{77,78,79},{66,67,68}};
StuManager stu(na,id,sc);
int sum = stu.CaculateTotal();
cout <<"所有人所有课程的总成绩:" << sum <<endl;
cout << "每人的总成绩:"<<endl;
int sum1[3];
stu.Caculate(sum1);
for (int i=0;i<3;i++)
{
cout << sum1[i] << " ";
}
cout <<endl;
cout << "每门课程的总成绩:" <<endl;
int sum2[3];
stu.CaculateKc(sum2);
for (int i=0;i<3;i++)
{
cout << sum2[i] << " ";
}
cout <<endl;
return 0;
}