三角形类c++
Triangle Class C++
我将非常感谢任何可以提供的帮助。我正在开发一个基于三条边输入计算三角形的类。不过,我对分析的一些算法相当困惑。例如,我觉得三角形算法的最大, 最小和类型是正确的,但是前两个返回零,并且类型返回等边是等腰。最后,我几乎完全迷失在 isttriangle 和isRight上。我知道他们错了,但我不知道该做些什么调整。:/
#include "Triangle.h"
#include<iostream>
#include<string>
using namespace std;
Triangle::Triangle()
{
s1 = 1;
s2 = 1;
s3 = 1;
}
Triangle::Triangle(int x)
{
s1 = x;
s2 = x;
s3 = x;
}
Triangle::Triangle(int x, int y, int z)
{
s1 = x;
s2 = y;
s3 = z;
}
void Triangle::setSide1(int x)
{
s1 = x;
}
void Triangle::setSide2(int x)
{
s2 = x;
}
void Triangle::setSide3(int x)
{
s3 = x;
}
int Triangle::getSide1()
{
return s1;
}
int Triangle::getSide2()
{
return s2;
}
int Triangle::getSide3()
{
return s3;
}
int Triangle::perimeter()
{
int perim = s1 + s2 + s3;
return perim;
}
int Triangle::largestSide()
{
int largest = 0;
if (s1 >= s2 && s3)
s1 = largest;
else if (s2 >= s1 && s3)
s2 = largest;
else
s3 = largest;
return largest;
}
int Triangle::smallestSide()
{
int smallest = 0;
if (s1 <= s2 && s1 <= 3)
smallest = s1;
else if (s2 <= s1 && s2 <= s3)
smallest = s2;
else
smallest = s3;
return smallest;
}
bool Triangle::isRight()
{
if (s3 == s1 + s2 || s2 == s1 + s3 || s1 == s2 + s3)
return true;
else
return false;
}
bool Triangle::isTriangle()
{
if (s1 + s2 < s3 || s1 + s3 < s2 || s2 + s3 < s1)
return false;
else
return true;
}
string Triangle::typeTriangle()
{
if (&Triangle::isTriangle == false)
return "This is not a triangle";
else if (s1 == s2 == s3)
return "Equilateral";
else if ((s1 == s2 && s1 != s3 && s2 != s3) || (s2 == s3 && s2 != s1 && s3 != s1))
return "Isosceles";
else if (s1 != s2 && s2 != s3)
return "Scalene";
}
如果S1 == s2 == s3为真,这并不意味着边长相等。
你需要写s1 == s2 &&S1 == s3
要看到这个,重写为布尔值。设置b1为假,b2不等于b3
B2 == b3为假,与b1比较为真。哎呀。
当且仅当长边的平方等于短边的平方和,三角形才有一个直角
相关文章:
- 绘制旋转的三角形
- 如何用for循环在c++中生成单词三角形
- 如何使用递归打印修改后的星号三角形图案
- C++ 创建带有 for 循环的三角形
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Eigen c++ 三角形来自
- 为我的 c++ 类介绍制作一个三角形分类器.我有几个问题
- 使用对象文件读取三角形数据网格
- 从捕获的帧中裁剪三角形 - OpenCV 和 C++
- 如何从 3D 曲面网格中删除自相交三角形?
- 以C++输出一个数字三角形
- 打印对立三角形在C++中起作用
- 确定C++中的等腰直角三角形
- 是否可以使用 DirectX 3D 11 绘制由三角形组成的圆?
- 形成一个斐波那契三角形,使得每个数字是上面左对角线或右对角线上两个数字的总和
- OpenGL绘制三角形而不是正方形
- 将数字表示为两个三角形数字的总和
- OpenGL程序不显示三角形
- 在 OpenGL 中使用三角形绘制字母?