第六周任务4
来源:互联网 发布:封装json数据 编辑:程序博客网 时间:2024/05/16 14:11
#include<iostream>#include<Cmath>using namespace std;class Cpoint //定义一个点类{private:double x;double y;public:Cpoint(double xx=0,double yy=0);double distance(Cpoint p) const;//求两点间的距离 void input(); //输入点 void output();//输出点};class CTriangle //定义一个三角形类 {public:void setCTriangle(Cpoint &x,Cpoint &y,Cpoint &z);double perimeter(void);//求三角形的周长double area(void);//求三角形的面积bool isRightTriangle();//是否为直角三角形bool isIsoscelesTriangle();//是否为等腰三角形private: Cpoint A,B,C;};Cpoint::Cpoint(double xx,double yy):x(xx),y(yy){} //输入坐标点 void Cpoint::input(){char ch;while(1){cin>>x>>ch>>y;if(ch!=',')cout<<"格式出现错误!"<<endl;elsebreak;}}void Cpoint::output(){ cout<<"("<<x<<','<<y<<")"<<endl;}double Cpoint::distance(Cpoint p) const{return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));}void CTriangle::setCTriangle(Cpoint &x,Cpoint &y,Cpoint &z){A=x;B=y;C=z;}double CTriangle::perimeter(void)//求周长{double a=B.distance(C),b=C.distance(A),c=A.distance(B);return (a+b+c);}double CTriangle::area(void)//求面积{ double a=B.distance(C),b=C.distance(A),c=A.distance(B);double p=(a+b+c)/2;return sqrt(p*(p-a)*(p-b)*(p-c));}bool CTriangle::isRightTriangle(){ double a=B.distance(C),b=C.distance(A),c=A.distance(B);if((a*a+b*b-c*c)<(1e-6)||(c*c+b*b-a*a)<(1e-6)||(a*a+c*c-b*b)<(1e-6))return true;elsereturn false;}bool CTriangle::isIsoscelesTriangle(){ double a=B.distance(C),b=C.distance(A),c=A.distance(B);if(((a-b)<1e-6)||((b-c)<1e-6)||((c-a)<1e-6))return true;else return false;}void main(void){ CTriangle Tri1(Cpoint(4,0),Cpoint(0,0),Cpoint(0,4)); //定义三角形类的一个实例(对象) cout<<"该三角形的周长为:"<<Tri1.perimeter()<<endl;cout<<"该三角形的面积为:"<<Tri1.area()<<endl; cout<<"该三角形"<<(Tri1.isRightTriangle()?"是":"不是")<<"直角三角形"<<endl; cout<<"该三角形"<<(Tri1.isIsoscelesTriangle()?"是":"不是")<<"等腰三角形"<<endl; system("pause");}
感悟:
感悟;在遇到函数调试不出来时,先把主函数中的函数调用一个一个注销掉,一个个找出错误来,否则一块找时,无从下手。或者有时尽是一个错误,就把所有的错误解决掉了。
- 第六周任务4
- 第六周任务4
- 第六周任务4
- 第六周任务4
- 第六周上机任务4
- 第六周任务(4)
- 《第六周实验报告任务4》
- 第六周实验报告(任务4)
- 第六周任务4(三角形类)
- 第六周实验报告任务4
- 第六周实验报告任务4
- 第六周任务4:三角形类
- 第六周 任务二
- 第六周 任务三
- 第六周 任务四
- 第六周任务一
- 第六周 任务一
- 第六周任务1
- 代码规范的自动化监管
- 六周任务2.2
- 第六周任务(四)
- android 使用双缓冲辨析及surfaceview使用例程
- 六周任务三
- 第六周任务4
- Syslog协议介绍
- 设计模式一:java设计模式之策略模式(一)
- 六周任务四
- 什么是复合类型
- vector,list,deque,set,map of STL
- 我们还差多少
- 不是因你们而来
- Tomcat实现多个webapps共享session的解决方法