使用类询问数字

时间:2016-06-06 21:10:44

标签: c++ class pointers for-loop

程序应该是这样的: 1 - 询问系列然后并联电阻(不同类别) 2次通过Eq_R_Series和Eq_R_Paralel值(计算后)到等效电阻,计算Eq_R_Total 3 - 显示Eq_R_Total。

所以我需要main函数和3个类(其中1个类需要来自另外2个的信息)。

          class Serie
{
private:
    int i, n = 4;
    float R_Eq_S;
    float r[4];
public:
    float serie()
    {
        for (int i = 0; i < n; i++)
        {
            cout << "Resistence " << i + 1 << " ";
            cin >> r[i];
            R_Eq_S = R_Eq_S + r[i];

        }
        return R_Eq_S;
    }
};
int main()
{
    Serie s;
    s.serie();
}

所以我现在没有错误的程序(并不意味着没有错),它运行并要求我引入第一个抵抗但在此之后它不会继续循环。

(我“只是”需要帮助将类“链接”到主类和主类。)

所以这是我的基本方法并且它有效,但这是非常有限的,因为我可以通过一个简单的编辑来改变阻力的数量。 谢谢大家的帮助,即使只是为了指出我的错误;)至少我认为我正在学习

class Series
{
private:
    float R1, R2, R3, R4;
public:
    float R_Eq_S;
    float series()
    {
        cout << "Resistance1= ";
        cin >> R1;
        cout << "Resistance2= ";
        cin >> R2;
        cout << "Resistance3= ";
        cin >> R3;
        cout << "Resistance4= ";
        cin >> R4;
        R_Eq_S = R1 + R2 + R3 + R4;
        return R_Eq_S;
    }
};
class Parallel{
private:
    float R5, R6;
public:
    float R_Eq_P;
    float parallel(){
        cout << "\nResistance5= ";
        cin >> R5;
        cout << "Resistance6= ";
        cin >> R6;
        R_Eq_P = (R5*R6) / (R5 + R6);
        return R_Eq_P;
    }
};
class Equivalent{
private:
    float R_Eq;
public:
    float r_eq()
    {
        Series s;
        Parallel p;
        R_Eq = s.series()+ p.parallel();
        return R_Eq;
    }

};
int main()
{

    Equivalent r;
    cout<<"\n\nR_Eq= "<<r.r_eq()<<endl;

}

1 个答案:

答案 0 :(得分:0)

@Tyler在他的评论中指出了这一点。在您的班级定义中,r被声明为int类型。然后,在表达式r[i]中,i应该是一个指针(这是通常的C / C ++对称性:a[i]*(a + i)相同,因此其中一个应该是可解除引用的,另一个是数字,但是哪一个并不重要)。不过,您的i又是int。 其次,我不太了解你的代码如何编译,serie是一个私有方法,你可以在类的上下文之外调用它。