多文件操作点和三角形类
来源:互联网 发布:最新网民数据 编辑:程序博客网 时间:2024/06/07 00:49
/**程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:尚振伟*完成日期:2014年4月1日*版本号:v0.1*对任务及求解方法的描述部分:*输入描述:无*问题描述:*程序输入:*程序输出:*问题分析:*算法设计:*我的程序:*/#include <iostream>#include <cmath>#include "zxc.h"using namespace std;int main(){ CPoint a,b,c; cout<<"请输入三点坐标:"<<endl; a.input(); b.input(); c.input(); CTriangle t(a,b,c); cout<<"三角形的面积为:"; cout<<t.area()<<endl; cout<<"三角形的周长为:"; cout<<t.perimeter()<<endl; if(t.isRightTriangle()) { cout<<"是直角三角形"<<endl; } else { cout<<"不是直角三角形"<<endl; } if(t.isIsoscelesTriangle()) { cout<<"是等腰三角形"<<endl; } else { cout<<"不是等腰三角形"<<endl; } return 0;}
声明类部分:
#ifndef ZXC_H_INCLUDED#define ZXC_H_INCLUDEDclass CPoint{public: CPoint(double xx=0,double yy=0); double Distance(CPoint p) const; void input();private: double x; double y;};class CTriangle{public: CTriangle(CPoint &X,CPoint &Y,CPoint &Z):A(X),B(Y),C(Z) {} //给出三点的构造函数 void setTriangle(CPoint &X,CPoint &Y,CPoint &Z);// float perimeter(void);//计算三角形的周长 float area(void);//计算并返回三角形的面积 bool isRightTriangle(); //是否为直角三角形 bool isIsoscelesTriangle(); //是否为等腰三角形private: CPoint A,B,C; //三顶点};#endif // ZXC_H_INCLUDED
定义函数部分:
#include <iostream>#include <cmath>#include "zxc.h"using namespace std;CPoint::CPoint(double xx,double yy){ x=xx; y=yy;}double CPoint::Distance(CPoint p) const{ double d,m,n; m=p.x-x; n=p.y-y; d=sqrt(m*m+n*n); return d;}void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z){ A=X; B=Y; C=Z;}float CTriangle::perimeter(void){ double a,b,c; a=A.Distance(B); b=A.Distance(C); c=B.Distance(C); return (a+b+c);}float CTriangle::area(void){ double a,b,c,m,s; a=A.Distance(B); b=A.Distance(C); c=B.Distance(C); m=(a+b+c)/2; s=sqrt(m*(m-a)*(m-b)*(m-c)); return s;}bool CTriangle::isRightTriangle(){ bool flag=false; double a,b,c; a=A.Distance(B); b=A.Distance(C); c=B.Distance(C); if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { flag=true; } else { flag=false; } return flag;}bool CTriangle::isIsoscelesTriangle(){ bool flag=false; double a,b,c; a=A.Distance(B); b=A.Distance(C); c=B.Distance(C); if(a==b||a==c||b==c) { flag=true; } else { flag=false; } return flag;}void CPoint::input(){ cin>>x>>y;}
结果展示:
心得体会:好好学,一定能学好的。
0 0
- 多文件操作点和三角形类
- 点类三角形类
- 使用点类和三角形类计算三角形的周长和面积
- C#之类的设计:点和三角形类的设计
- 简单的点和三角形的关系
- 纯css实现小圆点和三角形
- 设计三角形类(多文件)
- lua几点注意和脚本操作gui文件
- C#判断三个点是否构成三角形和某个点是否在三角形内
- 三角形类和点类的结合(第六周实验报告(四))
- Java实现点类(MyPoint)和三角形类(Triangl2D)
- Android 文件操作注意点
- 点云文件的操作
- 特殊点到三角形三个顶点的和
- 纯CSS实现小圆点和三角形图案
- 均匀的生成圆和三角形内的随机点
- 纯CSS实现小圆点和三角形图案
- UVA10112点在三角形内部和边界上
- js实现页面跳转的几种方式
- Primaverar安装第一步安装weblogic
- Ubuntu 操作系统学习笔记之软件包管理-RPM
- string toupper函数
- 一个通用dao的实现
- 多文件操作点和三角形类
- 第五周项目1
- 关于位图中【调色板】、DDB、DIB的概念
- RedHat Linux常见命令
- 生活是一首歌
- 其实我了 饿死算了
- android_document解析
- 每首歌的结尾方式是不同的
- 黑马程序员-线程池