第六周项目2-点类与三角形类
来源:互联网 发布:面纱3.0做丝数据 编辑:程序博客网 时间:2024/06/05 11:29
/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:田成琳*完成日期:2014 年 4 月 1 日*版本号:v1.0*对任务及求解方法的描述部分:*输入描述:三个点坐标*问题描述:本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点。 利用设计的三角形类,输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。*程序输出:- -*问题分析:*算法设计:*/#include<iostream>#include<cmath>using namespace std;class CPoint{private: double x; // 横坐标 double y; // 纵坐标public: CPoint(double xx=0,double yy=0):x(xx),y(yy){} double Distance(CPoint p) const; // 两点之间的距离(一点是当前点,另一点为参数p) void input(){cin>>x>>y;} //以x,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){A=X;B=Y;C=Z;} void setBianChang(); float perimeter(); //计算三角形的周长 float area(); //计算并返回三角形的面积 bool isRightTriangle(); //是否为直角三角形 bool isIsoscelesTriangle(); //是否为等腰三角形private: CPoint A,B,C; //三顶点 double a,b,c; //三边长};double CPoint::Distance(CPoint p) const{return sqrt(pow(x-p.x,2)+pow(y-p.y,2));}void CTriangle::setBianChang(){a=A.Distance(B);b=A.Distance(C);c=B.Distance(C);}float CTriangle::perimeter(){return a+b+c;}float CTriangle::area(){ float s,p;p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));return s;}bool CTriangle::isRightTriangle(){if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)return true;else return false;}bool CTriangle::isIsoscelesTriangle(){if(a==b||a==c||b==c)return true;elsereturn false;}int main(){CPoint a,b,c;CTriangle CT(a,b,c);cout<<"请输入3点坐标:"<<endl;a.input();b.input();c.input();CT.setTriangle(a,b,c);CT.setBianChang();cout<<"三角形周长为:"<<endl;cout<<CT.perimeter()<<endl;cout<<"三角形面积为:"<<endl;cout<<CT.area()<<endl;if(CT.isIsoscelesTriangle())cout<<"是等腰三角形。"<<endl;elsecout<<"不是等腰三角形。"<<endl;if(CT.isRightTriangle())cout<<"是直角三角形。"<<endl;elsecout<<"不是直角三角形。"<<endl;return 0;}
运行结果:
心得体会:心得体会:还是看书少啊,做题过程中出现很多错误,越做头脑越乱,讲的概念都混了。回去看书再来。
0 0
- 第六周项目2-点类与三角形类
- 第六周项目二-点类与三角形类
- 第六周 项目三 点 类问题
- 第六周项目四:三角形类(坐标类)
- 第六周上机任务项目4-三角形类
- 第六周项目四——三角形类
- 2013第六周上机任务【项目4 三角形类】
- 第六周 项目四 求三角形面积,周长的类
- 第六周项目3-多文件三角形类
- 第六周项目四----用点类做成员的三角形类以及多文件组织的三角形类
- 三角形类和点类的结合(第六周实验报告(四))
- 第六周任务四(由点表示的三角形类)
- 第六周上机任务项目3-平面坐标点类
- 第六周 项目三:平面坐标点类
- 第六周项目三—平面坐标点类
- 2013第六周上机任务【项目3 点类】
- 第六周项目三:平面坐标点类
- 第六周项目3:平面坐标点类
- 如何发掘孩子的兴趣点
- chrome33下模拟手机显示页面(开启设备模拟器)
- Underscore一个非常实用的JavaScript库
- 第六周 项目3 用多文件组织多个类的程序
- [ 前端 ] 腾讯前端回复效果!
- 第六周项目2-点类与三角形类
- OpenGL(12)GL库API
- note3版本介绍,优劣总结
- Linux 的启动流程
- 简单登陆密码破解
- 23种设计模式(2):工厂方法模式
- 用JCeator编译器,编译出现问题怎么解决?
- Windows实用API使用集合
- 【Android】代码引用资源 [<package_name>.]R.<resource_type>.<resource_name>