您的位置:首页 > 其它

第四周上机任务 项目一 ---三角形类

2013-03-21 14:33 435 查看
/*三角形面积公式
海仑定律:已知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  等都应该有颜色,如果没有颜色,
可能就出现问题了


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: