首页 > 代码库 > 创建一个三角形类并且通过成员函数计算三角形的周长和面积《1》
创建一个三角形类并且通过成员函数计算三角形的周长和面积《1》
首先定义一个三角形类
class Triangle//三角形类 { public: double getA(void);//得到a的值 double getB(void);//得到b的值 double getC(void);//得到c的值 void setA(double x);//设置a的值 void setB(double y);//设置b的值 void setC(double z);//设置c的值 bool isTriangle(void);//取三边的值 double Perimeter(void);//计算三角形的周长 double Area(void);//计算并返回三角形的面积 private: double a, b, c; //三边为私有成员数据 };
然后定义成员函数
函数名:setA()
函数功能:设置a的值
void Triangle::setA(double x)//设置a的值 { a = x; }
函数名:setB()
函数功能:设置b的值
void Triangle::setB(double y)//设置b的值 { b = y; }
函数名:setC()
函数功能:设置c的值
void Triangle::setC(double z)//设置c的值 { c = z; }
函数名:getA()
函数功能:得到a的值
double Triangle::getB(void)//得到b的值 { return b; }
函数名:getB()
函数功能:得到b的值
double Triangle::getB(void)//得到c的值 { return b; }
函数名:getC()
函数功能:得到c的值
double Triangle::getC(void)//得到c的值 { return c; }
函数名:isTriangle(void)
函数功能:判断三边能否构成三角形
bool Triangle::isTriangle(void)//判断三边能否构成三角形 { if(a<=0 || b<=0 || c<=0 || (a+b<=c) || (a-b>=c)) { return false; } else { return true; } }
函数名:Perimeter(void)
函数功能:计算三角形的周长
double Triangle::Perimeter(void)//计算三角形的周长 { double sum = a + b + c; return sum; }
函数名:Area(void)
函数功能:计算三角形的面积
double Triangle::Area(void)//计算并返回三角形的面积 { //使用海伦公式计算三角形的面积 double p = (a + b + c) / 2; double q = p*(p-a)*(p-b)*(p-c); double s = sqrt(q); return s; }
程序的全部代码:
#include <iostream> #include <cmath> using namespace std; class Triangle//三角形类 { public: double getA(void);//得到a的值 double getB(void);//得到b的值 double getC(void);//得到c的值 void setA(double x);//设置a的值 void setB(double y);//设置b的值 void setC(double z);//设置c的值 bool isTriangle(void);//取三边的值 double Perimeter(void);//计算三角形的周长 double Area(void);//计算并返回三角形的面积 private: double a, b, c; //三边为私有成员数据 }; int main() { Triangle tri1; //定义三角形类的一个实例(对象) double x,y,z; cout<<"请输入三角形的三边:"; cin>>x>>y>>z; //为三边置初值 tri1.setA(x); tri1.setB(y); tri1.setC(z); if(tri1.isTriangle()) { cout<<"三条边为:"<<tri1.getA()<<‘,‘<<tri1.getB()<<‘,‘<<tri1.getC()<<endl; cout<<"三角形的周长为:"<< tri1.Perimeter()<<‘\t‘<<"面积为:"<< tri1.Area()<<endl; } else { cout<<"不能构成三角形"<<endl; } return 0; } void Triangle::setA(double x)//设置a的值 { a = x; } void Triangle::setB(double y)//设置b的值 { b = y; } void Triangle::setC(double z)//设置c的值 { c = z; } double Triangle::getA(void)//得到a的值 { return a; } double Triangle::getB(void)//得到b的值 { return b; } double Triangle::getC(void)//得到c的值 { return c; } bool Triangle::isTriangle(void)//判断三边能否构成三角形 { if(a<=0 || b<=0 || c<=0 || (a+b<=c) || (a-b>=c)) { return false; } else { return true; } } double Triangle::Perimeter(void)//计算三角形的周长 { double sum = a + b + c; return sum; } double Triangle::Area(void)//计算并返回三角形的面积 { //使用海伦公式计算三角形的面积 double p = (a + b + c) / 2; double q = p*(p-a)*(p-b)*(p-c); double s = sqrt(q); return s; }
执行结果: 当输入 3 4 5时
当两边之和小于第三边时
当两边之差大于第三边时
当三边中有一边是负数时
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。