判断三角形类型
#pragma once
#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
Triangle(float A, float B, float C);
~Triangle() {}
int M();
float circumference();
float square();
void type();
private:
float a;
float b;
float c;
};
//三角形类成员函数的具体实现
#include "Triangle.h"
int Triangle::M()
{
if (a + b>c&&a + c>b&&c + b>a)
return 1;
else
return 0;
}
//判断能否为三角形
Triangle::Triangle(float A, float B, float C)
{
a = A;
b = B;
c = C;
}
float Triangle::circumference()
{
return (a + b + c);
}
//计算circumference
float Triangle::square()
{
float s = (a + b + c) / 2;
return sqrt(s * (s - a) * (s - b) * (s - c));
}
//计算square
void Triangle::type()
{
if (a == b && b == c)
{
cout << "等边三角形";
}
else if (a == b && a != c || b == c && a != c || a == c && a != b)
{
if ((a*a + b * b == c * c) || (b*b + c * c == a * a) || (a*a + c * c == b * b))
{
cout << "是等腰直角三角形" << endl;
}
else
{
cout << "等腰三角形" << endl;
}
}
else if (a != b && c != a)
{
if (a*a + b * b>c*c)
{
cout << "钝角三角形";
}
if (a*a + b * b<c*c)
{
cout << "锐角三角形";
}
else
{
cout << "直角三角形";
}
}
}
//能成为三角形后三角形类型