第六周实验之三角形

原创 2012年03月28日 22:19:36

/* (程序头部注释开始)

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:                             

* 作    者:  李冠绩             

* 完成日期:   2012   年  3 月   28   日

* 版 本 号:          

* 对任务及求解方法的描述部分

* 输入描述:

* 问题描述:设计一个三角形类,能够输入三角形的三个顶点,求出其面积和周长,并判断是否为直角三角形和等腰三角形,

* 程序输出:

* 程序头部的注释结束

*/

#include<iostream>  

#include<cmath>  

using namespace std; 
class CPoint 

private: 
    double x;  // 横坐标  
 double y;  // 纵坐标  
public: 
 CPoint(double xx=0,double yy=0); 
 float getx(); 
 float gety(); 
}; 
class CTriangle 

public: 
 CTriangle(CPoint &X,CPoint &Y,CPoint &Z,int i=0):A(X),B(Y),C(Z),i(i){} //给出三点的构造函数  
 void setTriangle(CPoint &X,CPoint &Y,CPoint &Z); 
 float perimeter(void);//计算三角形的周长  
 float area(void);//计算并返回三角形的面积  
 void isRightTriangle(); //是否为直角三角形  
 void isIsoscelesTriangle(); //是否为等腰三角形  
 void Distance(CPoint &p,CPoint &q) ;   // 两点之间的距离(一点是当前点,另一点为参数p)  
private: 
 CPoint A,B,C; //三顶点  
    float bian[3]; 
 int i; 
 
}; 
void main() 

 CPoint c1(3,0),c2(1,0),c3(0,5); 
 CTriangle m(c1,c2,c3); 
 m.setTriangle(c1,c2,c3); 
 m.Distance(c1,c2); 
 m.Distance(c1,c3); 
    m.Distance(c2,c3); 
 cout<<"三角形的周长为:"<<m.perimeter()<<endl;//计算三角形的周长  
 cout<<"三角形的面积为:"<<m.area()<<endl;//计算并返回三角形的面积  
    m.isRightTriangle(); //是否为直角三角形  
 m.isIsoscelesTriangle(); //是否为等腰三角形  

float CPoint::getx() 

 return x; 

float CPoint::gety() 

 return y; 

CPoint::CPoint(double xx,double yy) 

 x=xx; 
 y=yy; 

void  CTriangle::Distance(CPoint &p,CPoint &q)  

 int m=0; 
 bian[m+i]=sqrt((p.getx()-q.getx())*(p.getx()-q.getx())+(p.gety()-q.gety())*(p.gety()-q.gety())); 
 ++i; 

//计算三角形的周长
float CTriangle::perimeter(void)  

    float s=0; 
    --i; 
 s=s+bian[i]+bian[i-1]+bian[i-2]; 
 return s; 

//计算并返回三角形的面积
float CTriangle::area(void)   
{  
 float s,m;   
 int i=0; 
 m=(bian[i]+bian[i+1]+bian[i+2])/2;         
 s=sqrt(m*(m-bian[i])*(m-bian[i+1])*(m-bian[i+2]));      
 return s;   

//是否为直角三角形
void CTriangle::isRightTriangle()     

 int i=0; 
 int m,n,c; 
 m=bian[i]; 
    n=bian[i+1]; 
 c=bian[i+2]; 
 if((m*m+n*n)==c*c||(m*m+c*c)==n*n||(c*c+n*n)==m*m) 
 { 
  cout<<"此三角形为直角三角形"<<endl; 
 } 
 else 
 { 
  cout<<"此三角形不是直角三角形"<<endl; 
    } 

//是否为等腰三角形 
void CTriangle::isIsoscelesTriangle() 

 float m,n,c; 
 int i=0; 
 m=bian[i]; 
 n=bian[i+1]; 
 c=bian[i+2]; 
 if(m==n||m==c||n==c) 
 { 
        cout<<"此三角形为等腰三角形"<<endl; 
 } 
    else 
 { 
  cout<<"此三角形不是等腰三角形"<<endl; 
    } 

void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z) 

    A=X; 
    B=Y; 
 C=Z; 
 
}

学会举一反三。

 

第六周实验报告 任务4 设计一个三角形类 输入三角形的三个顶点 求面积周长

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:设计...

第六周实验指导--任务四--设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长。

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:设计...

《C++第六周实验报告4-1》---设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: CT...

JAVA----第六周(实现对三角形、梯形、圆形的封装)

测试类: package liu; public class Main { /** * @param args */ public static void main(S...

第六周项目2-点类与三角形类

/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:田成琳 *完成日期:2014 年 4...

第六周任务四(由点表示的三角形类)

#include #include using namespace std; class Cpoint //定义一个点类 { private: double x; do...

第六周 项目四:三角形类(判断是不是等腰或直角)

/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: object.cpp * 作者: ...

第六周任务4(三角形类)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: ...

第六周项目3-多文件三角形类

/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:田成琳 *完成日期:2014 年 4...

第六周任务五(由点表示的三角形类用多个文件的方式实现)

将任务4的解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。体会这样安排的优点。 /* (程序头部注释开始) ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第六周实验之三角形
举报原因:
原因补充:

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