你的程序错误:1 定义类A 的格式“};”。
2 赋值号 用" ==";
3 给表达式赋值“2* S = a + b + c ”;
4 cout<< p1.area() 因为area() 返回值为无值形。
改正后请你参考:
#include
using namespace std;
#include
class A
{int a,b,c, L,S,SS;
public:
void set(int x,int y,int z)
{a=x;
b=y;
c=z;
}
int Lenth()
{
L=a+b+c;
S=L/2;
return L;
}
int area()
{return sqrt(S*(S-a)*(S-b)*(S-c));
}
};
void main()
{int x1,y1,z1;
cin>>x1>>y1>>z1;
A p1;
p1.set(x1,y1,z1);
cout<<"\n";
p1.Lenth();
p1.area();
cout< cout<}
可能你是一个初学者,你对类的概念还不十分理解,类最好显式定义构造函数,对函数的应用还不太精通。 在main() 中输入x1,y1,z1,
时要判定这三个数是否能构成三角形,这些我也没改,请自己完善。
--------------------next---------------------
#include
using namespace std;
#include
class A
{int a,b,c, L,S,SS;
public:
void set(int x,int y,int z)
{a=x;
b=y;
c=z;
}
int Lenth()
{
L=a+b+c;
S=L/2;
return L;
}
int area()
{return sqrt(S*(S-a)*(S-b)*(S-c));
}
};
void main()
{int x1,y1,z1;
cin>>x1>>y1>>z1;
A p1;
p1.set(x1,y1,z1);
cout<<"\n";
if(x1+y1 cout<<"不能构成三角形";
else
p1.Lenth();
p1.area();
cout< cout<
}
这样能判断可不可以构成三角形,但是我换下面这种方法咋就不好用了??
void main()
{int x1,y1,z1;
cin>>x1>>y1>>z1;
A p1;
p1.set(x1,y1,z1);
cout<<"\n";
if(x1+y1〉=z1||x1+z1〉=y1||z1+y1〉=x1)
p1.Lenth();
p1.area();
cout< cout<else
cout<<"不能构成三角形";
}
--------------------next---------------------
阅读(1307) | 评论(0) | 转发(0) |