#include<iostream>
#include<string.h>
using namespace std;
const int maxn=100;
class garde
{
public:
void setup(char na[maxn],int nb[maxn],int nc,int nd,int ne);
int average(int c,int d,int e);
int sum(int c,int d,int e);
private:
char a[maxn];
int b[maxn],c,d,e;
};
void garde::setup(char na[maxn],int nb[maxn],int nc,int nd,int ne)
{
a[maxn]=na[maxn];
b[maxn]=nb[maxn];
c=nc;
d=nd;
e=ne;
}
int garde::average(int c,int d,int e)
{
return (c+d+e)/3;
}
int garde::sum(int c,int d,int e)
{
return c+d+e;
}
int main()
{
garde newgarde;
char a[maxn];
int b[maxn],c,d,e;
cin>>a[maxn]>>b[maxn]>>c>>d>>e;
int sum;double average;
sum=newgarde.sum(c,d,e);
average=newgarde.average(c,d,e);
cout<<a[maxn]<<":"<<endl;
cout<<sum<<" "<<average;
return 0;
}
一个类中包含学生的姓名 学号 三个成绩
求三个成绩的和和平均值
报告什么错误?
在main里,没看到你调用setup。
在garde里,没看到你在setup之外使用a、b两个数组。
此外,有个错误:setup里的数组赋值,这样是不对的。你的赋值是把对象(地址赋值了),如果想把数组的内容进行复制,需要用循环语句实现。
恩 但是我是根据书上敲得代码 私有型变量需要类里面的setup函数才能进行访问
麻烦了 解决了问题了
@零魂:
1、avarage和sum不要带参数。
2、调用setup
3、在setup里,使用循环或内存复制(这个可能对你而言稍微难点)数据到成员变量。