第六周实验报告5

来源:互联网 发布:阿里巴巴比淘宝 编辑:程序博客网 时间:2024/05/17 03:33

任小宁

2012、3、28

cpoint.cpp

#include<iostream>#include"CTriangle.h"double CPoint::getx(){ return x;}double CPoint::gety(){ return y;}CPoint::CPoint(double xx,double yy){ x=xx; y=yy;}


 

ctriangle.cpp

#include<iostream>#include"CTriangle.h"#include<cmath>void  CTriangle::Distance(CPoint &p,CPoint &q) {bian[i]=sqrt((p.getx()-q.getx())*(p.getx()-q.getx())+(p.gety()-q.gety())*(p.gety()-q.gety()));++i;}float  CTriangle::Distance1(CPoint &p,CPoint &q) {bian[i]=(p.getx()-q.getx())*(p.getx()-q.getx())+(p.gety()-q.gety())*(p.gety()-q.gety());++i;return bian[i-1];}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()//是否为直角三角形{     i=0;float m,n,c;m=Distance1(A,B);n=Distance1(A,C);c=Distance1(B,C);//m=bian[i];//n=bian[i+1];//c=bian[i+2];if((m+n)==c||(m+c)==n||(c+n)==m){cout<<"此三角形为直角三角形"<<endl;}else{cout<<"此三角形不是直角三角形"<<endl;}}void CTriangle::isIsoscelesTriangle() //是否为等腰三角形{float m,n,c;     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;}


 

ctriangle.h

using namespace std;class CPoint{private:double x;  // 横坐标double y;  // 纵坐标 public:CPoint(double xx=0,double yy=0);double getx();double 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)float  CTriangle::Distance1(CPoint &p,CPoint &q);private:CPoint A,B,C; //三顶点float bian[3];int i;};


 

main.cpp

#include<iostream>#include"CTriangle.h"using namespace std;void main(){CPoint c1(0,0),c2(0,1),c3(1,0);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(); //是否为等腰三角形system("PAUSE");}