【发布时间】:2018-07-21 19:28:30
【问题描述】:
我有以下代码:
#include <iostream>
using namespace std;
int a, b, sqr;
const int P = 3.14; //Later for circles...
string s1;
class MathsFunctions{
public:
virtual void square(int a, int b)=0;
};
class TriangleFunc: public MathsFunctions{
public:
void square(int a, int b){
sqr = (a * b)/2;
cout << "Square of triangle is: "<< sqr << endl;
}
};
class RectangleFunc: public MathsFunctions{
public:
void square(int a, int b){
sqr = a * b;
cout << "Square of rectangle is: "<< sqr << endl;
}
};
void getNumbers(){
cout << "Enter the first number: "<<endl;
cin >> a;
cout << "Enter the second number: "<< endl;
cin >> b;
}
void chooseTheFigure(){
cout << "Choose the figure (rectangle or triangle): "<< endl;
cin >> s1;
}
int main(){
chooseTheFigure();
getNumbers();
if(s1 == "rectangle" || "Rectangle"){
RectangleFunc r;
MathsFunctions * m = &r;
m -> square(a,b);
};
if (s1 == "triangle" || "Triangle"){
TriangleFunc t;
MathsFunctions *m = &t;
m -> square(a,b);
};
}
我创建了一个计算矩形或三角形的平方的程序。 main() 中有一个条件,但最终程序显示了两个结果。我该如何改进?
程序输出截图:
【问题讨论】:
-
任何使用屏幕阅读器的人都很难阅读该输出。
-
(s1 == "矩形" || s1 == "矩形") (s1 == "三角形" || s1 == “三角形”)
-
@KillzoneKid 谢谢你!我什至无法想象这个错误是如此愚蠢!
-
@MichealO'Dwyer 知道了!谢谢
-
@Nikita 为什么要使用类之间共享的全局变量?你需要学习如何使用成员变量!