6-2-对象作为数据成员
来源:互联网 发布:手机全透明软件 编辑:程序博客网 时间:2024/06/06 01:43
01./* 02.* 程序的版权和版本声明部分: 03.* Copyright (c) 2011, 烟台大学计算机学院 04.* All rights reserved. 05.* 文件名称:test.cpp 06.* 作 者:刘芳07.* 完成日期:201 4年04 月 07日 08.* 版 本 号:v1.0 09.* 对任务及求解方法的描述部分: 10.* 输入描述:无 11.* 问题描述: 输入三点,构成三角形,求面积,周长,做出判断12.* 程序输出:面积,周长,做出判断 13.* 问题分析:略 14.* 算法设计:略 15.*/
#include <iostream>#include <cmath>using namespace std;class CPoint { public: void input(); //以a,b 形式输入坐标点 void output(); //以(a,b) 形式输出坐标点 CPoint(double xx=0,double yy=0); double Distance1(CPoint p) const; // 两点之间的距离 private: double a;//横坐标 double b;//纵坐标 };class CTriangle{public: CTriangle(CPoint &X,CPoint &Y,CPoint &Z); //给出三点的构造函数 void setTriangle(CPoint &X,CPoint &Y,CPoint &Z);// float perimeter(void);//计算三角形的周长 float area(void);//计算并返回三角形的面积 bool isRightTriangle(); //是否为直角三角形 bool isIsoscelesTriangle(); //是否为等腰三角形private: CPoint A,B,C; //三顶点};int main(){ CPoint x,y,z; CTriangle CT(x,y,z); cout<<"请输入第一个点的坐标:"<<endl; z.input(); cout<<"请输入第二个点的坐标:"<<endl; y.input(); cout<<"请输入第三个点的坐标:"<<endl; z.input(); CT.setTriangle(x,y,z); CT.perimeter(); cout<<"三角形的周长是"<<CT.perimeter()<<endl; CT.area(); cout<<"三角形的面积是:"<<CT.area()<<endl; if(!CT.isRightTriangle()) cout<<"此三角形不是直角三角形"<<endl; else cout<<"此三角形是直角三角形"<<endl; if(!CT.isIsoscelesTriangle()) cout<<"此三角形不是等腰三角形"<<endl; else cout<<"此三角形是等腰三角形"<<endl; return 0;}void CPoint::input(){ cin>>a>>b;} CPoint::CPoint(double xx,double yy) { a=xx; b=yy; }CTriangle::CTriangle(CPoint &X,CPoint &Y,CPoint &Z) { A=X; B=Y; C=Z; } void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z) { A=X; B=Y; C=Z; } double CPoint::Distance1(CPoint p) const { double L; L=sqrt((p.a-a)*(p.a-a)+(p.b-b)*(p.b-b)); return L; } float CTriangle::perimeter(void) { double c,d,e; c=A.Distance1(B); d=A.Distance1(C); e=B.Distance1(C); return c+d+e; }float CTriangle::area(void){ double c,d,e,s; c=A.Distance1(B); d=A.Distance1(C); e=B.Distance1(C); s=(c+d+e)/2; return sqrt(s*(s-c)*(s-d)*(s-e));}bool CTriangle::isRightTriangle(){ double c,d,e; c=A.Distance1(B); d=A.Distance1(C); e=B.Distance1(C); if(c*c+d*d==e*e||c*c+e*e==d*d||e*e+d*d==c*c) return true; else return false;}bool CTriangle::isIsoscelesTriangle(){ double c,d,e; c=A.Distance1(B); d=A.Distance1(C); e=B.Distance1(C); if(c==d||c==e||e==d) return true; else return false;}
有点坎坷。。
0 0
- 6-2对象作为数据成员
- 6-2-对象作为数据成员
- 6-2-对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 对象作为数据成员
- 2-5-2 对象作为数据成员
- 项目2 - 对象作为数据成员
- dlkfj ldj
- Util包下常用的数据结构介绍
- 快速开发平台 WebBuilder 6.8.2 发布
- Codeforces 389A Fox and Number Game(贪心)
- 黑马程序员-观察者模式(Observer)
- 6-2-对象作为数据成员
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- NYOJ25 A Famous Music Composer
- 移植wince 5.0到2440
- Win7+IIS+PHP+MySql 配置
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- 大数加法乘法
- 第十七集 常用sql技巧
- java 线程(三) 互斥和同步