第六周项目3-多文件三角形类
来源:互联网 发布:工程量清单软件 编辑:程序博客网 时间:2024/06/04 20:15
/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:田成琳*完成日期:2014 年 4 月 1 日*版本号:v1.0*对任务及求解方法的描述部分:*输入描述:三个点坐标*问题描述:本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点。 利用设计的三角形类,输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。*程序输出:- -*问题分析:*算法设计:*/#include <iostream>#include"cpoint.h"#include"ctriangle.h" using namespace std; 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;}#ifndef CPOINT_H#define CPOINT_H#include<iostream>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 形式输入坐标点};#endif#include"CPoint.h"#include<cmath>double CPoint::Distance(CPoint p) const{return sqrt(pow(x-p.x,2)+pow(y-p.y,2));}#ifndef CTRANGLE_H#define CTRANGLE_H#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){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; //三边长};#endif#include "CTriangle.h"#include"CPoint.h"#include<cmath>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;}
运行结果:
心得体会:~
0 0
- 第六周项目3-多文件三角形类
- 第六周项目四----用点类做成员的三角形类以及多文件组织的三角形类
- 第六周 项目3 多文件执行
- 第六周项目四:三角形类(坐标类)
- 第六周项目2-点类与三角形类
- 第六周项目二-点类与三角形类
- 第六周上机任务项目4-三角形类
- 第六周项目四——三角形类
- 2013第六周上机任务【项目4 三角形类】
- 第六周 项目四 求三角形面积,周长的类
- 第六周—多文件组织三角形类
- 第四周项目3-多文件三角形类
- 第六周任务五。多文件组织三角形类
- 第六周 项目四:三角形类(判断是不是等腰或直角)
- 第六周上机任务项目4-三角形类(修改版)
- 第六周任务4(三角形类)
- 第六周—4.顶点三角形类
- 第六周任务4:三角形类
- Git 教程相关及resume制作
- C++文件(夹)选择对话框
- css样式的零碎用法总结
- visual studio编译:fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version)
- HTTP协议详解
- 第六周项目3-多文件三角形类
- 存储过程的优缺点个人总结
- 第三章作业
- 使用beanUtils操作javabean
- Ubuntu桌面图标消失解决办法
- JDBC的一个实例
- tex 如何安装package?
- OMXCodec源码分析---part2
- C-数组地址(4)