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成员函数,可以处理为内置成员函数,直接在类内定义。

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;
	system("pause");
	return 0;
}

参考解答:

#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{
public:
void setA(double x){a=x;};
void setB(double y){b=y;};
void setC(double z){c=z;};

double getA(){return a;}
double getB(){return b;}
double getC(){return c;}

bool isTriangle();//判断是否构成三角形
	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;
	system("pause");
	return 0;
}
//请在下面定义Triangle类中的各个成员函数
bool Triangle::isTriangle()
{
	return (a+b>c&&a+c>b&&b+c>a);
}

double Triangle::perimeter()
{
	return a+b+c;
}

double Triangle::area()
{
	double p=(a+b+c)/2;
	return sqrt(p*(p-a)*(p-b)*(p-c));
}
时间: 2024-10-29 04:28:55

C++第4周项目2 - 三角形类2的相关文章

C++第4周(春)项目2 三角形类2

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [项目2 - 三角形类2]程序功能同项目1,main()函数如下,请重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为内置成员函数,直接在类内定义. int main() { Triangle tri1; //定义三角形类的一个实例(对象) double x,y,z; cout<<"请输入三角形的三边:&

C++第5周(春)项目1 三角形类1

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [项目1-三角形类的构造函数] 设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数 class Triangle { public: double perimeter();//计算三角形的周长 double area();//计算并返回三角形的面积 void

C++第8周项目3 - 分数类中的运算符重载

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8806111 [项目3-分数类中的运算符重载]实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简).求反.比较(6种关系)的运算.可以从第5周项目2的代码开始工作. class CFraction {private: int nume; /

C++第4周项目4 - 正整数类

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8690895 [项目4 - 正整数类]设计一个"正整数"类,并通过一系列的成员函数对其性质进行做出判断或列出相关联的数值.下面给出类声明,请实现各成员函数.另外,模仿已经给出的main()函数,完成你所设计的各个成员函数的测试.如果时间有限,不必实现所

C++第8周项目4 -分数类和整型数的四则运算

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8806111 [项目4-分数类和整型数的四则运算]在项目3的基础上拓展.分数类中的对象可以和整型数进行四则运算,且运算符合交换律.例如:CFraction a(1,3),b; int i=2; 可以完成b=a+i;.同样,可以完成i+a, 45+a, a*27,

C++第7周项目3 - 友元类

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8775137 [项目3-友元类]定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期.时间都处理更好) class Date; //对Date类的提前引用声明 class Time { public

C++第7周项目5 - 模板类中使用友元函数

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8775137 [项目5-模板类中使用友元函数]友元函数提供了一种非成员函数访问私有数据成员的途径,模板类使类中的数据成员的类型变得灵活,这两种技术可以结合起来用.要求在项目4的基础上能够支持用友员函数实现的加法.用于测试的main()函数如下: int main

C++第3周项目3——时间类

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8661031 [项目3 - 时间类]阅读.运行程序后,按要求增加类的功能 /* *文件头部的注释请自行加上 */ #include <iostream> using namespace std; class Time { public: void set_ti

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(三角形).用如下的main()函数,求出定义的几个几何体的面积和.  int main() { Circle c