/*
*Copyright(c) 2016,烟台大学计算机工程学院
*All rights reserved.
*文件名称:SecondWeek_Test_18.cpp
*作 者:田志伟
*完成日期:2016年 3 月 31 日
*版 本 号:v1.0
*
*问题描述:输入三角形三边值,输出三角形面积和周长(不可以构成三角形的要给出提示)
*输入描述:3 4 5 3 4 7 4 5 6
*程序输出:12 6 输入错误 15 9.92157
*/
#include <iostream>
#include <cmath>
using namespace std;
class Triangle
{
public:
<span style="white-space:pre"> </span>void setABC(float a,float b,float c);
<span style="white-space:pre"> </span>float perimeter();
<span style="white-space:pre"> </span>float area();
private:
<span style="white-space:pre"> </span>float x,y,z;
};
float Triangle::perimeter()
{
<span style="white-space:pre"> </span>return x+y+z;
}
float Triangle::area()
{
<span style="white-space:pre"> </span>float temp=((x+y+z)/2);
<span style="white-space:pre"> </span>temp=sqrt(temp*(temp-x)*(temp-y)*(temp-z));
<span style="white-space:pre"> </span>return temp;
}
void Triangle::setABC(float a,float b,float c)
{
x = a;
y = b;
z = c;
}
int main()
{
<span style="white-space:pre"> </span>Triangle tri1;
for(;;)
{
<span style="white-space:pre"> </span>cout<<"请输入三角形三边的值:"<<endl;
<span style="white-space:pre"> </span>float b1,b2,b3;
<span style="white-space:pre"> </span>for(;;)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>cin>>b1>>b2>>b3;
<span style="white-space:pre"> </span>if(b1>=b2+b3 || b2>=b1+b3 || b3>=b2+b1)
<span style="white-space:pre"> </span>cout<<"您输入的三个值不可以构成三角形,请重新输入:"<<endl;
<span style="white-space:pre"> </span>else
<span style="white-space:pre"> </span>break;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>tri1.setABC(b1,b2,b3);
<span style="white-space:pre"> </span>cout<<"三角形周长为:"<<tri1.perimeter()<<endl;
<span style="white-space:pre"> </span>cout<<"三角形面积为:"<<tri1.area()<<endl;
}
<span style="white-space:pre"> </span>return 0;
}
程序运行: