/*三角形面积公式
海仑定律:已知a,b,c,半周长p=(a+B+c)/2;
S(面积)=p*(p-a)*(p-b)*(p-c)
*/
*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作 者: 袁静
* 完成日期:2013年3月21日
* 版本号: v1.0
* 输入描述:无
* 问题描述: 设计求三角形面积和周长的”类“
程序输出: 三角形的周长和面积
*/
#include <iostream>
#include <cmath>
using namespace std;
class Triangle
{
public:
void setABC(double x,double y,double z );
void getABC(double *x,double *y,double *z);
double perimeter(void );
double area(void);
private:
double a,b,c;
bool is_triangle(double ,double ,double);
};
void Triangle::setABC(double x,double y,double z)
{
cout<<"请输入三条边的大小:"<<endl;
while(1){
cin>>a>>b>>c;
if(!is_triangle( a, b, c)){
cout<<"您输入的三条边不能够成三角形,请从新输入:"<<endl;
cout<<" "<<endl;
}else
break;
}
}
void Triangle::getABC(double *x,double *y,double *z)
{
*x=a;
*y=b;
*z=c;
};
bool Triangle::is_triangle(double a,double b,double c)
{
if(a<0||b<0||c<0||a+b<c||b+c<a||a+c<b)
return false;
return true;;
}
double Triangle::perimeter(void)
{
double l;
l=a+b+c;
return l;
}
double Triangle:: area(void)
{
double p,s;
p=(a+b+c)/2;
s=p*(p-a)*(p-b)*(p-c);
return s;
}
int main()
{
Triangle t1;
t1.setABC(3,4,5);
double x,y,z;
t1.getABC(&x,&y,&z);
cout<<" "<<endl;
cout<<x<<'\t'<<y<<'\t'<<z<<endl;
cout<<" "<<endl;
cout<<"三角形的周长为:"<<t1.perimeter()<<endl;
cout<<" "<<endl;
cout<<"三角形的面积"<<t1.area()<<endl;
return 0;
}
1:把该语句if(!is_triangle( a, b, c))写成
if(!is_triangle(double a,double b,double ))出现如下错误提示:
error: expected primary-expression before 'double';:2:
2:
D:\CPP\CodeBlocks\Triangl\main.cpp|33|error: prototype
for 'bool Triangle::is_triangle(double, double, double)'
does not match any in class 'Triangle'|
错因:","用成中文的了
总结;一般 double class if 等都应该有颜色,如果没有颜色,
可能就出现问题了
第四周上机任务 项目一 ---三角形类
最新推荐文章于 2021-11-07 12:34:34 发布