设计三角形类

来源:互联网 发布:深度linux 编辑:程序博客网 时间:2024/05/18 06:54
 

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者:   吴瑕                          
* 完成日期: 2012        年  03     月  12      日
* 版 本 号:         

* 对任务及求解方法的描述部分
* 输入描述: 设计一个三角形的类,给出个成员函数的定义。

* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/

#include<iostream>using namespace std;#include <cmath>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){if(x+y<=z||x+z<=y||y+z<=x||x-y>=z||y-x>=z||x-z>=y||z-x>=y||y-z>=x||z-y>=x)//判断是否能够成三角形(到底有必要要判断吗?如果要,还有更简单的判断方法吗?)cout<<"无法构成三角形"<<endl;elsea=x;b=y;c=z;//为三角形三边赋值}void Triangle:: Getabc(float *x, float *y, float *z){*x=a;//利用指针将三边的值赋给指针所指向的变量,以实现将三边值取出来的功能。利用指针访问私有数据成员*y=b;*z=c;}float Triangle::  Perimeter(void){float C;C=a+b+c;return C;}float Triangle::Area(void){float s,m;m=(a+b+c)/2;s=sqrt(m*(m-a)*(m-b)*(m-c));return s;} 运行结果:
原创粉丝点击