第4周-任务1-三角形类

简介: 【题目】下面设计一个三角形类,请给出各成员函数的定义 #include<iostream>using namespace std;class Triangle{public: void Setabc(float x, float y, floatz);//置三边的值,注意要能成三角形 void Getabc(float *x,

【题目下面设计一个三角形类,请给出各成员函数的定义

#include<iostream>
using namespace std;
class Triangle
{
public:
         void Setabc(float x, float y, floatz);//置三边的值,注意要能成三角形
         void Getabc(float *x, float *y, float *z);//取三边的值
         float Perimeter(void);//计算三角形的周长
         float Area(void);//计算并返回三角形的面积
private:
         float a,b,c; //三边为私有成员数据
};
void main(void)
{        Triangle Tri1;         //定义三角形类的一个实例(对象)
         Tri1.Setabc (4,5,6);  //为三边置初值
         float x,y,z;
         Tri1.Getabc (&x,&y,&z);   //将三边的值为x,y,z赋值
         cout<<"三条边为:"<<x<<'\t'<<y<<'\t'<<z<<endl;
         cout<<"三角形的周长为:"<< Tri1.Perimeter()<<'\t'<<"面积为:"<< Tri1.Area()<<endl;
}
//请在下面定义Triangle类中的各个成员函数
【题目的说明】本题主要在于进一步领会面向对象程序的结构。另外,通过指针类型作形式参数,从而获得对象私有成员的值也是需要掌握的。

【可参考的程序】

#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{
public:
	void Setabc(float x, float y, float z);//置三边的值,注意要能成三角形
	void Getabc(float *x, float *y, float *z);//取三边的值
	float Perimeter(void);//计算三角形的周长
	float Area(void);//计算并返回三角形的面积
private:
	float a,b,c; //三边为私有成员数据
};
int main(void)
{
	Triangle  Tri1;	//定义三角形类的一个实例(对象)
	Tri1.Setabc(4,5,6);	//为三边置初值
	float x,y,z;
	Tri1.Getabc(&x,&y,&z);   //将三边的值为x,y,z赋值
	cout<<"三条边为:"<<x<<'\t'<<y<<'\t'<<z<<endl;
	cout<<"三角形的周长为:"<< Tri1.Perimeter()<<'\t'<<"面积为:"<< Tri1.Area()<<endl;
	system("PAUSE");  //在VS环境中,这一句是需要的,否则输出结果"一闪而过"
	return;
}

void Triangle::Setabc(float x, float y, float z)
{
	if(x+y>z&&x+z>y&&y+z>x)
	{
		a=x;
		b=y;
		c=z;
	}
	else //这样处理可能也不好,想想有何高招?
	{
		a=0;
		b=0;
		c=0;
	}
}

void Triangle::Getabc(float *x, float *y, float *z)
{
	*x=a;
	*y=b;
	*z=c;
}

float Triangle::Perimeter(void)
{
	return a+b+c;
}

float Triangle::Area(void)
{
	float p=(a+b+c)/2;
	return sqrt(p*(p-a)*(p-b)*(p-c));
}


目录
相关文章
|
C++
C++第13周(春)项目1 - 点、圆的关系
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目1 - 点、圆的关系】(1)先建立一个Point(点)类,包含数据成员x,y(坐标点);(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员(半径),基类的成员表示圆心;(3)编写上述两类中的构造、析构函数及必要运算符
1162 0
|
测试技术 C++
C++第5周(春)项目1 三角形类1
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目1-三角形类的构造函数】   设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数 class Triangle { public: do
1190 0
|
C++
C++第4周(春)项目2 三角形类2
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目2 - 三角形类2】程序功能同项目1,main()函数如下,请重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为内置成员函数,直接在类内定义。 int main() { Triangle tri1
1119 0
|
C++
C++第4周(春)项目1 三角形类1
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目1 - 三角形类1】下面设计一个三角形类,请给出各成员函数的定义 #include&lt;iostream&gt; #include&lt;Cmath&gt; using namespace std; class Triangle
991 0
|
C++
C++第14周项目2 - 形状类族的中的纯虚函数
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8987478 【项目2】写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形
1207 0
|
C++
C++第14周项目3 -立体类族共有的抽象类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8987478 【项目3】设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。设计个派生类CCube、CBall、CCylinder,分别表示正方体
1263 0
|
C++
C++第11周项目1、2 - 点类派生出直线类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8894095 【项目1】定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点。请阅读下面的代码,并将缺少的部分写出来。 #incl
1027 0
|
C++
C++第9周项目5 - -二维数组类Douary
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8841620 【项目5(选做)-二维数组类Douary】建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加
1370 0
|
C++
C++第4周项目2 - 三角形类2
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8690895 【项目2 - 三角形类】程序功能同项目1,main()函数如下,请定义类Triangle,其中逻辑特别简单的set和get成员函数,可以处理为内
1098 0
|
C++
C++第4周项目1 - 三角形类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8690895 【项目1 - 三角形类】下面设计一个三角形类,请给出各成员函数的定义  /* * 程序的版权和版本声明部分 * Copyright (c)2
890 0