项目一 默认构造函数和带参数的构造函数

/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: x.cpp
* 作者:徐本锡
* 完成日期: 2013年 3 月29  日
* 版本号: v1.0
* 输入描述:

* 问题描述:默认构造函数和带参数的构造函数

* 程序输出:

*/
//我的代码:

#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
	Triangle(double x, double y, double z);
	Triangle();
	double perimeter(void);//计算三角形的周长
	double area(void);//计算并返回三角形的面积
	void showMessage();
private:
	bool isTriangle();//判断是否为三角形
	double a,b,c; //三边为私有成员数据
};
bool Triangle::isTriangle()//判断是否为三角形
{
	double num;int i=0;bool t=true;
	do
	{
		if(a+b>c&&a-b<c)
		{
			num=a;a=b;b=c;c=num;
			i++;
		}
		else
		{
			cout<<"三边构不成三角形!";
			t=false;
			break;
		}
		if(i==3)
			break;
	}while(i<=3);
	return t;
}
double Triangle::perimeter()
{
	return(a+b+c);
}
double Triangle::area()
{
	double z;
	z=(a+b+c)/2;
	return (sqrt(z*(z-a)*(z-b)*(z-c)));
}
Triangle::Triangle()
{
	a=1;b=1;c=1;
}
Triangle::Triangle(double x,double y,double z)
{
	a=x;b=y;c=z;
}
void Triangle:: showMessage()
{
	if(isTriangle())
	{
		cout<<"三角形的三边长分别为"<<a<<'\t'<<b<<'\t'<<c<<endl;
		cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl;
		
	}
	else
		cout<<"不能够成三角形!"<<endl;
}
void main(void)
{
	Triangle Tri1;	//定义三角形类的一个实例(对象),要求执行一个默认构造函数,三边初值均为1
	Tri1.showMessage(); 
	Triangle Tri2(7,8,9);	//定义三角形类的一个实例(对象)
	Tri2.showMessage();
}


posted @ 2013-03-29 21:09  javawebsoa  Views(252)  Comments(0Edit  收藏  举报