如何知道三角形是否有效
How to know whether the triangle is valid or not by angles?
我想编写一个C 程序,该程序找到三角形是否有效
这是我的代码:
#include <iostream>
using namespace std;
int main () {
int a,b,c;
cin>>a>>b>>c;
if (a+b+c==180)
cout <<"Yes";
else
cout <<"No";
return 0;
}
用户将输入3个角度,例如50 30 100它将打印有效的是,但是如果他输入
该怎么办0 0 180它将仅输入一个角度打印是。那不是三角形,我的程序将是"是"。我该怎么办?
从某种意义上说,你是对的;如果您有足够的信息来确定三角形无效,那么继续程序是没有意义的。因此,在下面建议的代码段中,您可以看到一旦用户输入值&lt;0或> 180,该程序以合适的错误消息终止。同样,一旦运行总和超过180,该程序也会尽早终止。
最终,一旦所有三个值都是输入角度的,所有这些值都是独立的三角形的有效角度,则将检查它们的总和。
int main()
{
// assuming angles must be integers:
int angle, sum = 0;
for (int i = 0; i < 3; i++) {
cin >> angle;
if (angle <= 0 || angle >= 180) {
cout << "Error: Angle must be between 0 and 180n";
return 0;
}
sum += angle;
if (sum > 180) {
cout << "Error: angles too largen";
return 0;
}
}
if (sum == 180) {
cout << "Valid Triangle!n";
} else {
cout << "Error: angles must add up to 180n";
}
return 0;
}
您必须在此代码中考虑两个问题。首先:用户在有效的角度(即不超过180度,也许不是0)的角度。其次,一旦您确定角度有效,请确定三个角度是否可以成为三角形的一部分。
所以写两个函数:一个通过提示输入来获得角度的功能,检查角度是否有效,如果没有,则循环循环;一个决定三个有效角度是否是三角形的人。然后用一些合适的胶将它们固定在一起。
相关文章:
- 如果变量名称不跟在 char* 后面,const char* 是否有效?
- 钳制迭代器是否有效
- 检查由括号、方括号和大括号组成的一组方括号是否有效?
- 在函数内创建的对象的范围 - 如果在函数外部存储和访问引用,它们是否有效?
- 模板签名解析为 void(void) 被 GCC 拒绝;这是否有效C++?
- 我如何知道作为参数的size_t在函数中是否有效?
- 是否可以在C++中获取 CHAR 的有效十六进制地址?
- 我的运算符重载是否有效<<(流插入)左操作数不是 ostream
- C++ 返回指向函数内定义的静态数组的指针是否有效?
- 模板变量是否允许在多个翻译单元中并有效合并?
- 错误:在尝试检测 std::cout 是否<< t 时,功能强制转换为数组类型;有效
- 声明后,gcc 的动态大小数组是否与标准数组有效相同?
- 此递归模板类型定义是否有效C++?
- 将 C 函数转换为 C++ 以检查数字是否有效
- 函数参数的名称与调用函数时使用的变量相同是否有效?
- 如何检查输入是否有效?
- 如何检查用户的输入是否有效以及我正在寻找的数字?
- 堆分配对于大型块中的分页是否更有效?
- 在函数中按值传递 unordered_map/unordered_set 是否有效? C++
- 如何检查isupper(cstr)是否有效?