[cpp]
/*
* 程序的版權和版本聲明部分
* Copyright (c)2013, 煙台大學計算機學院學生
* All rightsreserved.
* 文件名稱:score.cpp
* 作 者:張浩
* 完成日期:2013年3月22日
* 版本號: v1.0
* 輸入描述:
* 問題描述:設計求三角形面積和周長的類
* 程序輸出:三角形的面積和周長
*/
#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{
private:
double a,b,c;//三邊為私有成員數據
public:
void getABC(double *x,double *y,double *z);//取三邊的值
double perimeter(void);//計算三角形的周長
double area(void);//計算並返回三角形的面積
};
void Triangle::getABC(double *x,double *y,double *z)
{
a=*x;b=*y;c=*z;
}
double Triangle::perimeter()
{
double m;
m=a+b+c;
return m;
}
double Triangle::area(void)
{
double s,p;
p=(a+b+c)*0.5;
s=sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
int main()
{
Triangle tri1;
double x=0,y=0,z=0;
cout<<"請由小到大輸入三角形的三條邊長:"<<endl;
cin>>x>>y>>z;
while((x>y||x>z||y>z)&&(z<(x+y)&&y>(z-x)&&x>(z-y)))
{
cout<<"你輸入的不符合規定或不構成三角形!重新輸入吧......"<<endl;
cin>>x>>y>>z;
}
tri1.getABC(&x,&y,&z);
cout<<"三條邊為:"<<x<<'\t'<<y<<'\t'<<z<<endl;
cout<<"三角形的周長為:"<<tri1.perimeter()<<'\n'<<"三角形的面積為:"<<tri1.area()<<endl;
return 0;
}
運行結果: