首页 新闻 会员 周边 捐助

无法运行 大神们看看哪里有问题??help

0
悬赏园豆:10 [已解决问题] 解决于 2015-04-21 12:01

#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;


}
一个类中包含学生的姓名 学号 三个成绩

求三个成绩的和和平均值

零魂的主页 零魂 | 初学一级 | 园豆:135
提问于:2015-04-17 14:32
< >
分享
最佳答案
0

报告什么错误?

在main里,没看到你调用setup。

在garde里,没看到你在setup之外使用a、b两个数组。

此外,有个错误:setup里的数组赋值,这样是不对的。你的赋值是把对象(地址赋值了),如果想把数组的内容进行复制,需要用循环语句实现。

收获园豆:10
519740105 | 大侠五级 |园豆:5810 | 2015-04-17 14:50

恩 但是我是根据书上敲得代码 私有型变量需要类里面的setup函数才能进行访问

麻烦了  解决了问题了 

零魂 | 园豆:135 (初学一级) | 2015-04-17 20:32

@零魂:

1、avarage和sum不要带参数。

2、调用setup

3、在setup里,使用循环或内存复制(这个可能对你而言稍微难点)数据到成员变量。

519740105 | 园豆:5810 (大侠五级) | 2015-04-20 09:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册