/*三角形面积公式
海仑定律:已知a,b,c,半周长p=(a+b+c)/2;
S=p*(p-a)*(p-b)*(p-c)
*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:2013-3-22.3.cpp
* 作 者:王筱菀
* 完成日期:2013年3月22日
* 版本号: v1.0
* 输入描述:无
* 问题描述: 设计求三角形面积和周长的”类“
程序输出: 三角形的周长和面积
*/
#include <iostream>
#include <cmath>
using namespace std;
class Triangle
{
public:
void setABC(double x,double y,double z );
void getABC(double *x,double *y,double *z);
double perimeter(void );
double area(void);
private:
double a,b,c;
bool is_triangle(double ,double ,double);
};
void Triangle::setABC(double x,double y,double z)
{
cout<<"请输入三条边:"<<endl;
while(1){
cin>>a>>b>>c;
if(!is_triangle( a, b, c)){
cout<<"您输入的三条边不能够成三角形,请重新输入:"<<endl;
cout<<" "<<endl;
}else
break;
}
}
void Triangle::getABC(double *x,double *y,double *z)
{
*x=a;
*y=b;
*z=c;
};
bool Triangle::is_triangle(double a,double b,double c)
{
if(a<0||b<0||c<0||a+b<c||b+c<a||a+c<b)
return false;
return true;;
}
double Triangle::perimeter(void)
{
double l;
l=a+b+c;
return l;
}
double Triangle:: area(void)
{
double p,s;
p=(a+b+c)/2;
s=p*(p-a)*(p-b)*(p-c);
return s;
}
int main()
{
Triangle t1;
t1.setABC(3,4,5);
double x,y,z;
t1.getABC(&x,&y,&z);
cout<<" "<<endl;
cout<<x<<'\t'<<y<<'\t'<<z<<endl;
cout<<" "<<endl;
cout<<"三角形的周长为:"<<t1.perimeter()<<endl;
cout<<" "<<endl;
cout<<"三角形的面积"<<t1.area()<<endl;
return 0;
}
2013-3-22.2
最新推荐文章于 2022-12-11 21:40:13 发布