程序应该是这样的: 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;
}
答案 0 :(得分:0)
r
被声明为int
类型。然后,在表达式r[i]
中,i
应该是一个指针(这是通常的C / C ++对称性:a[i]
与*(a + i)
相同,因此其中一个应该是可解除引用的,另一个是数字,但是哪一个并不重要)。不过,您的i
又是int
。
其次,我不太了解你的代码如何编译,serie
是一个私有方法,你可以在类的上下文之外调用它。