角形问题 完成一段程序,要求实现这样的功能。输入三个整数a,b,c,分别作为三角形的三条边(输入范围是1-100),现通过程序判断三条边构成三角形的类型为: a)一般三角形 b)等边三角形 c)等腰三角形 d)不构成三角形 e)直角三角形,判定结果均打印输出。 2.程序代码(c++) #include<iostream> Using namesapce std; 3.设计测试用例:分别以等价类划分法、边界值分析法设计测试用例。 等价类划分表格: 输入条件 有效等价类 无效等价类 编号 描述 编号 描述 边界值分析测试用例表格: 编号 输入条件[a,b,c] 期望输出
时间: 2023-11-27 13:50:13 浏览: 148
三角形问题的等价类测试
程序代码(C++):
```c++
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
if(a + b <= c || a + c <= b || b + c <= a) {
// 无法构成三角形
cout << "d)不构成三角形" << endl;
} else if(a == b && b == c) {
// 等边三角形
cout << "b)等边三角形" << endl;
} else if(a == b || b == c || a == c) {
// 等腰三角形
cout << "c)等腰三角形" << endl;
} else if(a*a + b*b == c*c || b*b + c*c == a*a || a*a + c*c == b*b) {
// 直角三角形
cout << "e)直角三角形" << endl;
} else {
// 一般三角形
cout << "a)一般三角形" << endl;
}
return 0;
}
```
等价类划分测试用例:
| 输入条件 | 有效等价类 | 无效等价类 | 编号 | 描述 |
| ---------- | ---------- | ---------- | ---- | ---------------------- |
| a + b > c | | a + b <= c | 1 | 无法构成三角形 |
| a = b = c | | a < 1 | 2 | 等边三角形 |
| a = b ≠ c | | a > 100 | 3 | 等腰三角形 |
| a²+b²=c² | | b < 1 | 4 | 直角三角形(c为斜边) |
| a²+b²<c² | | b > 100 | 5 | 钝角三角形 |
| a²+b²>c² | | c < 1 | 6 | 锐角三角形 |
| a > b > c | | c > 100 | 7 | 一般三角形 |
边界值分析测试用例:
| 编号 | 输入条件 [a,b,c] | 期望输出 |
| ---- | ---------------- | ---------------------------- |
| 1 | 1, 1, 1 | a)一般三角形 |
| 2 | 100, 100, 100 | b)等边三角形 |
| 3 | 50, 50, 80 | c)等腰三角形 |
| 4 | 3, 4, 5 | e)直角三角形(c为斜边) |
| 5 | 3, 4, 9 | 1)不构成三角形 |
| 6 | 3, 4, 6 | 6)锐角三角形 |
| 7 | 10, 20, 30 | 1)不构成三角形 |
| 8 | 0, 50, 80 | 1)不构成三角形 |
| 9 | 50, 0, 80 | 1)不构成三角形 |
| 10 | 50, 80, 0 | 1)不构成三角形 |
| 11 | 101, 50, 80 | 7)一般三角形 |
| 12 | 50, 101, 80 | 7)一般三角形 |
| 13 | 50, 80, 101 | 7)一般三角形 |
阅读全文