C++题目帮忙修改一下

2024-12-04 14:20:44
推荐回答(2个)
回答1:

//1 cin不能连续输入 cin>>x>>y 改成cin>>x;cin>>y;
//2 cin>>x;cin>>y;其中x,y是Circle类的成员变量,在类以外的地方时毫无意义的。如果在外不调用的话
//应该这样 Circle cir(a,b,c); cir.x ,cir.y ,如果是static变量应该是Circle::x;

//建议楼主看看谭浩强的C++,深入浅出。加油!

#include
using namespace std;
#include

class Shape //抽象类,公共基类
{
public:
virtual double Area()const=0; //计算各对象面积
virtual void Show()=0; //输出各对象面积和周长
};

class Rectangle:public Shape //矩形类
{
private:
double Length; //长
double Width; //宽
public:

void SetValue(double len,double wid)//设置,其他类的设置同样做
{
Length=len;
Width=wid;
}
double GetLength()//获取,其他类也同样这样设置
{
return Length;
}

Rectangle(double Length=0,double Width=0) //构造函数
{
this->Length=Length;
this->Width=Width;
}

~Rectangle() //析构函数
{
}
double Area() const//矩形面积
{
return Length*Width;
}

void Show()//输出矩形面积
{
cout<<"Area is:"< }
};

const double PI=3.14159;
class Circle:public Shape//圆类
{
private:
double Radius;//圆的半径
double x;
double y;
public:
Circle(double Radius=0,double x=0,double y=0)//构造函数
{
this->Radius=Radius;
this->x=x;
this->y=y;
}

~Circle()//析构函数
{
}
double Area() const//圆面积
{
return PI*Radius*Radius;
}

void Show()//输出纤搭圆的面积
{
cout<<"Area is:"< cout<<"Center is:"<<"("< }
};

class Triangle:public Shape//三角形类
{
private:
double A,B,C;//三角形三边
public:
Triangle(double A=0,double B=0,double C=0)//构造函数
{
this->A=A;
this->B=B;
this->C=C;
}

~Triangle()//析构函数尺竖圆
{
}
double Area() const//三角形面积
{
double P;
P=(A+B+C)/2;
return sqrt(P*(P-A)*(P-B)*(P-C));
}
double Perim() const//三角形周长
{
return (A+B+C);
}

void Show()//输出三角形面积
{
cout<<"Area is:"<陵塌 }
};

void main()
{
double Length,Width,Radius,A,B,C;
double centerx,centery;//圆心
cout<<"Rectangle:"< cout<<"请输入矩形的长和宽(Length,Width):"< cin>>Length;
cin>>Width;
Rectangle Rect(Length,Width);//建立矩形对象
Rect.Show();//调用矩形类的输出函数
cout<<"Circle:"< cout<<"请输入圆形的半径(Radius):"< cin>>Radius;
cout<<"请输入圆形的圆心:"<// cin>>x;
// cin>>y;
cin>>centerx;
cin>>centery;
Circle Cir(Radius,centerx,centery);//建立圆对象
Cir.Show();//调用圆类的输出函数
cout<<"Triangle:"<loop:cout<<"请输入三角形的三边(A,B,C):"< cin>>A;
cin>>B;
cin>>C;
if(A<=0||B<=0||C<=0||(A+B)<=C||(A+C)<=B||(B+C)<=A)//判断是否能构成三角形
{
cout<<"输入的三边值不能构成一个三角形!请重新输入!"< goto loop;
}
else
{
Triangle Tri(A,B,C);//建立三角形对象
Tri.Show();//调用三角形输出函数
}
}

回答2:

作业还是自己做吧。