第五週項目一三角形類雛形(4)

1692 ワード

/*Copyright (c)2016,              
 *All rights reserved.
 *    :main.cpp
 *      :   
 *    :2016 3 27 
 *     :v1.0
 *
 *    :          ,    。
 */
#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
    Triangle(double x=1.0,double y=1.0,double z=1.0)
    {
        a=x;
        b=y;
        c=z;
    };//     ,        
    double getA();
    double getB();
    double getC();
    void showMessage();
    double perimeter();//       
    double area();//           
    bool isTriangle()
    {
        if(a+b>c&&a+c>b&&b+c>a)
            return true;
        else
            return false;
    }
private:
    double a,b,c;//         
};
void Triangle::showMessage()
{
    if(isTriangle())
    {
        cout<<"    :"<<Triangle::getA()<<','<<Triangle::getB()<<','<<Triangle::getC()<<endl;
        cout<<"       :"<<Triangle::perimeter()<<'\t'<<"   :"<<Triangle::area()<<endl;
    }
    else
        cout<<"         "<<endl;
}
double Triangle::getA()
{
    return a;
}
double Triangle::getB()
{
    return b;
}
double Triangle::getC()
{
    return c;
}
double Triangle::perimeter()
{
    return(a+b+c);
}
double Triangle::area()
{
    double p;
    p=(a+b+c)/2.0;
    return(sqrt(p*(p-a)*(p-b)*(p-c)));
}
int main()
{
    Triangle tri1;//           (  )
    tri1.showMessage();
    Triangle tri2(1.5);
    tri2.showMessage();
    Triangle tri3(1.5,1.5);
    tri3.showMessage();
    Triangle tri4(7,8,9);
    tri4.showMessage();
    return 0;
}