用c++面向对象程序设计写一段求三角形周长和面积的代码?

尽可能简短... 尽可能简短 展开
 我来答
microroom
科技发烧友

2019-12-04 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1613万
展开全部
#include<iostream>
#include<cmath>
using namespace std;
enum type
{
area,
circumference,
};
class triangle
{
public:
triangle(float a,float b,float c)
{
this->a=a;
this->b=b;
this->c=c;
valid=((a+b)>c&&(a+c)>b&&(b+c)>a);
}
float getarea() const
{
float t;

if(valid)
{
t=(a+b+c)*0.5;
return sqrt(t*(t-a)*(t-b)*(t-c));
}
else
throw "不能构成三角形,无法求面积";
}
float getcircumference() const
{
if(valid)
return a+b+c;
else
throw "不能构成三角形,无法求周长";
}
static void cal(triangle &tr,enum type t)
{
try
{
switch(t)
{
case area:
cout<<"面积:"<<tr.getarea()<<endl;
break;
case circumference:
cout<<"周长:"<<tr.getcircumference()<<endl;
break;
}
}
catch(const char *ex)
{
cout<<ex<<endl;
}
}
private:
float a,b,c;
bool valid;
};
int main()
{
float a,b,c;

cout<<"请输入三角形的三条边长:";
cin>>a>>b>>c;
triangle t(a,b,c);
triangle::cal(t,area);
triangle::cal(t,circumference);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式