2012年 上半年 第四周 C++程序设计 (八)

原创 2012年03月22日 22:58:19

定义一个三角形类,给出各成员函数的定义

 

#include <iostream>

#include <Cmath> 
  
using namespace std; 
 
class Triangle
{
private:  
	float a,b,c;  //三边为私有成员数据

public: 
	void Setabc(float x,float y,float z);   //置三边的值,注意要能成三角形
	void Getabc(float *x,float *y,float *z);   //取三边的值
	float Perimeter(void);   //计算三角形的周长 
	float Area(void);   //计算并返回三角形的面积
};  


void main(void)
{
	Triangle Tri1;   //定义三角形的一个对象
	Tri1.Setabc(3,4,5);   //为三角形置初值
	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类中的各个成员函数

void Triangle::Setabc(float x,float y,float z)
{
	if(x+y>z && x+z>y && y+z>x && x-y<z && x-z<y && y-z<x && y-x<z && z-x<y && z-y<x)
	{
		a = x;
		b = y;
		c = z;
	}
	else
		cout << "您输入的三边无法构成三角形,请重新输入"<< endl;
}
void Triangle::Getabc(float *x,float *y,float *z)
{
	*x = a;
	*y = b;
	*z = c;
}

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

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

	return s;
}


 

 

 总结:开学不知不觉第四周了,再往前看看到半年加一个月了,日子过得挺快但知识长得就不太乐观了!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

2012年 上半年 第四周 C++程序设计 (十)

【任务4】阅读教材P255例8.4,注意到类中的数据成员可以是数组。设计一个工资类(Salary),其中的数据成员有:double型数组salary[50](实际人数可以少于50,固定取50可能造成空...

2012年 上半年 第十四周 C++程序设计 (四十二)

【任务】建立专门的链表类处理有关动态链表的操作 动态链表也是程序设计中的一种非常有用的数据结构。可以说,是否能够理解有关操作的原理,决定了你是否有资格称为“科班”出身。在C++程序设计中解决相关问题不...

2012年 上半年 第八周 C++程序设计(二十四)

#include using namespace std; class CTime { private: unsigned short int hour; /...

2012年 上半年 第十周 C++程序设计 (三十二)

【任务2】定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。并在此基础上派生出CEmployee类,派生类CEmployee增加...

2012年 上半年 第六周 C++程序设计 (十八)

【任务】设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。 提示:(1)这个问题需要用到两个类,顶点类参照任务3中的CPoint类;(2)三角形类参...

2012年 上半年 第七周 C++程序设计 (二十一)

【任务】阅读下面的程序,仔细阅读注释。然后模仿完成求点类中距离的任务。 //例:使用成员函数、友元函数和一般函数的区别 #include using namespace std; class...

2012年 上半年 第五周 C++程序设计 (十一)

【任务1】设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化 #include using namespace std; class Triangle {public: float...

2012年 上半年 第五周 C++程序设计 (十二)

【任务2】C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编...

2012年 上半年 第十周 C++程序设计 (三十三)

#include #define pi 3.1415926 using namespace std; class Point //定义坐标点类 { public: ...

2012年 上半年 第九周 C++程序设计 (二十九)

#include using namespace std; class Douary { public: Douary(int m, int n);//构造函数:用于建立...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)