第四周任务一

来源:互联网 发布:淘宝一般包邮地区 编辑:程序博客网 时间:2024/04/26 07:41
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:    设计一个三角形类,请给出各成员函数的定义                        
* 作    者:           李霄汉                          
* 完成日期:      2012   年    3   月    12    日
* 版 本 号:          
 
* 对任务及求解方法的描述部分
* 输入描述: 
* 问题描述: 
* 程序输出: 
* 程序头部的注释结束

#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; //三边为私有成员数据

};

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类中的各个成员函数

 

void Triangle::Setabc(float x, float y, float z)

{

       while(1)

       {

              if ( x < 0 || y < 0 || z < 0 )

              {

                     cout << "输入错误,请重新输入" << endl;

              }

              else if ( x + y > z && x + z > y && y + z > x )

              {

                     a = x;

                     b = y;

                     c = z;

                     break;

              }

              else

              {

                     cout << "输入不正确,请重新输入" << endl;

              }

       }

}

void Triangle::Getabc(float *x, float *y, float *z)

{

       *x = a;

       *y = b;

       *z = c;

}

 

float Triangle::Perimeter(void)

{

       int p;

 

       p = a + b + c;

 

       return p;

 

}

 

float Triangle::Area(void)

{

       float p, s;

      

 

       p = ( a + b + c ) / 2;

 

       s = sqrt( p * (p - a) * (p - b ) * ( p - c ) );

 

       return s;

}

 

原创粉丝点击