C++编写程序:输入三角形的三边,判断三角形的类型。

【需求描述】

1.使用C++语言编写程序。

2.三角形的三边长度为整数且限制在1~100之间。

3.有良好的排错机制。(程序不接受非数字字符等)

4.友好的交互提示。(输入错误提示,是否继续提示等)

【开发环境】

1.windows10

2.Dev-C++ 5.1.0

【程序源码】

#include 
#include 
#include 

using namespace std; 

class Triangle{
private:
	int length_a,length_b,length_c;
public:
	Triangle(int a,int b,int c){
		length_a=a;
		length_b=b;
		length_c=c;
	}
	~Triangle(){
	}
	
	//测试单边长度是否在要求范围 
	bool lengthtest(int tlen) {
		if(tlen>=1&&tlen<=100){
			return true;
		}else{
			return false;
		}
	}
	
	/*校验三边长度是否合法的方法*/ 
	bool lengthCheck(){
	/*判断三边是否为数字*/
	if((isdigit(length_a)==0) && (isdigit(length_b)==0) && (isdigit(length_c)==0)){ 
		/*判断三边的值是否在要求的范围*/
		if(lengthtest(length_a)){
			if(lengthtest(length_b)){
				if(lengthtest(length_c)){
					return true;
				}
			}
		}
	}
	return false;
	}
	
//	校验三边长度是否可以组成三角形
	bool composeCheck(){
	if(length_a+length_b>length_c){
		if(length_b+length_c>length_a){
			if(length_a+length_c>length_b){
				return true;
			}
		}
	}
	return false;
	}
	
	//判断三角形的类型
	int TypeCheck(){
	if(length_a==length_b||length_a==length_c||length_b==length_c){
		if(length_a==length_b&&length_b==length_c){
		return 3;
		}
			return 2;
	}
	return 1;
}

};
int main() {
	
	int a,b,c;
	if(!isdigit(a)){
	} 
	A:for(int i=1;i<=3;i++) {
		cout<<"请输入三角形第"<>num) || cin.peek()!='\n' )
		{
		cin.clear();
		cin.ignore( numeric_limits::max(), '\n' ); 
		cout << "输入有误,请重新输入有效数字[1,100]:" << endl;
		}
		if(i==1){
			a=num;
		}else if(i==2){
			b=num;
		}else{
			c=num;
		}
	} 
	Triangle triangle(a,b,c);
	if(!triangle.lengthCheck()){
		cout<<"输入的三边长度超出范围,请重新输入:"<>d;
	if(d==89||d==121) {
		triangle.~Triangle();
		goto A;
	}
	system("pause");
	return 0;
}

【运行测试效果】

C++编写程序:输入三角形的三边,判断三角形的类型。_第1张图片

【改进意见】

本次实验由于受到需求束缚,无法拓展更多功能,正常情况下,可以有以下改进:

1.三角形类型判断应该可以更加丰富:普通、等腰锐角三角形,普通、等腰钝角三角形,普通、等腰直角三角形。

2.支持输入小数作为边长。

3.不强制性三边数据都要输入,但有提示输入数据不完整以及重输措施。

你可能感兴趣的:(C++编写程序:输入三角形的三边,判断三角形的类型。)