第五周项目3-多文件组织多个类的程序
来源:互联网 发布:office办公软件2016 编辑:程序博客网 时间:2024/06/10 06:48
/* *Copyright (c) 2014, 烟台大学计算机学院 *All rights reserved. *文件名称:week5-3.cpp *作者:高赞 *完成日期:2015年 4 月 6 日 *版本号:v1.0 * * */#include <iostream>#include "CPoint.h"#include "CTriangle.h"using namespace std;int main(){ CPoint p1,p2,p3; CTriangle t1(p1,p2,p3); cout<<"输入第一个顶点:"; p1.input(); cout<<"输入第二个顶点:"; p2.input(); cout<<"输入第三个顶点:"; p3.input(); t1.setTriangle(p1,p2,p3); t1.setAB(); t1.setBC(); t1.setAC(); cout<<"该三角形的周长为"<<t1.perimeter()<<",面积为:"<<t1.area()<<endl; if(t1.isRightTriangle()) cout<<"是直角三角形"<<endl; else cout<<"不是直角三角形"<<endl; if(t1.isIsoscelesTriangle()) cout<<"是等腰三角形"<<endl; else cout<<"不是等腰三角形"<<endl; return 0;}
CPoint.h
#ifndef CPOINT_H_INCLUDED#define CPOINT_H_INCLUDEDclass CPoint{private: double x; // 横坐标 double y; // 纵坐标public: CPoint(double xx=0,double yy=0):x(xx),y(yy) {} double Distance1(CPoint p) const; //两点之间的距离(一点是当前点——想到this了吗?,另一点为p) void input(); //以x,y 形式输入坐标点};#endif // CPOINT_H_INCLUDED
CTriangle.h
#ifndef CTRIANGLE_H_INCLUDED#define CTRIANGLE_H_INCLUDED#include "CPoint.h"class CTriangle{public: CTriangle(CPoint &X,CPoint &Y,CPoint &Z):A(X),B(Y),C(Z) {} //给出三点的构造函数 void setTriangle(CPoint &X,CPoint &Y,CPoint &Z);// double perimeter();//计算三角形的周长 double area();//计算并返回三角形的面积 bool isRightTriangle(); //是否为直角三角形 bool isIsoscelesTriangle(); //是否为等腰三角形 void setAB(); void setBC(); void setAC();private: CPoint A,B,C; //三顶点 double AB,BC,AC; //三边};#endif // CTRIANGLE_H_INCLUDED
CPoint 源文件
#include <iostream>#include <cmath>#include "CPoint.h"using namespace std;double CPoint::Distance1(CPoint p) const{ double a,b; a=x-p.x; b=y-p.y; return sqrt(a*a+b*b);}void CPoint::input(){ cin>>x>>y;}
CTriangle源文件
#include <iostream>#include <cmath>#include "CTriangle.h"using namespace std;void CTriangle::setAB(){ AB=A.Distance1(B);}void CTriangle::setBC(){ BC=B.Distance1(C);}void CTriangle::setAC(){ AC=A.Distance1(C);}void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z){ A=X; B=Y; C=Z;}double CTriangle::perimeter(){ return AB+BC+AC;}double CTriangle::area(){ double p=(AB+BC+AC)/2; return (sqrt(p*(p-AB)*(p-BC)*(p-AC)));}bool CTriangle::isRightTriangle(){ if(AB*AB+BC*BC!=AC*AC&&AB*AB+AC*AC!=BC*BC&&BC*BC+AC*AC!=AB*AB) return false; else return true;}bool CTriangle::isIsoscelesTriangle(){ if(AB==AC||AB==BC||AC==BC) return true; else return false;}
0 0
- 第五周项目3-多文件组织多个类的程序
- 第五周 【项目3-用多文件组织多个类的程序】
- 第五周项目3-用多文件组织多个类的程序
- 第五周 项目3-用多文件组织多个类的程序
- 第五周 项目3-用多文件组织多个类的程序
- 第五周项目3-用多文件组织多个类的程序
- 第五周项目3:用多文件组织多个类的程序
- 第五周项目3 用多文件组织多个类的程序
- 第五周项目三:-用多文件组织多个类的程序
- 第五周项目三---多文件组织多个类的程序
- 第五周 项目三--用多文件组织多个类的程序
- 第五周项目:用多文件组织多个类的程序
- 第五周项目三 用多文件组织多个类的程序
- 第五周项目三 用多文件组织多个类的程序
- 第五周 项目三 用多文件组织多个类的程序
- 第五周项目3 用文件组织多个类的程序
- 第五周项目3 勇夺文件组织多个类的程序
- 第五周【项目3-程序的多文件组织】
- stagefright框架(三)-選擇Video Decoder
- 黑马程序员-iOS视频学习之十二
- CUDA 与 OpenCL 区别
- Linux 进程管理浅析
- C/C++内存泄漏及检测
- 第五周项目3-多文件组织多个类的程序
- mysql: command not found问题解决
- Leetcode---Clone Graph
- ArcGIS Runtime SDK for iOS开发-展示callout
- 线段树-操作格子
- 方幂之和构成一个递增的序列
- SqlServer数据库比对工具 Open DBDiff
- Java程序员面试题集(1-50)
- 各个数据库中date的比较