第五周上机实践项目3——用多文件组织多个类的程序
来源:互联网 发布:wordpress速度优化 编辑:程序博客网 时间:2024/05/21 08:38
问题及代码
main.cpp
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * 完成日期:2015 年 4 月 5 日 * 版 本 号:v1.0 * * 问题描述:设计一个三角形类(多文件)。 * 输入描述:平面坐标。 * 程序输出:面积、周长,并判断其是否为直角三角形和等腰三角形。 */#include <iostream>#include "cpointtriangle.h"using namespace std;int main(){ CPoint a1,a2,a3; cout<<"输入第一个点:"; a1.input(); cout<<"输入第二个点:"; a2.input(); cout<<"输入第三个点:"; a3.input(); CTriangle a; a.setTriangle(a1,a2,a3); cout<<"三角形的周长为:"<<a.perimeter()<<endl; cout<<"面积为:"<<a.area()<<endl; if(a.isRightTriangle()) cout<<"此三角形为直角三角形"<<endl; if(a.isIsoscelesTriangle()) cout<<"此三角形为等腰三角形"; return 0;}
cpointtriangle.h
#ifndef CPOINTTRIANGLE_H_INCLUDED#define CPOINTTRIANGLE_H_INCLUDEDclass CPoint{private: double x; // 横坐标 double y; // 纵坐标public: double Distance1(CPoint p) const; //两点之间的距离(一点是当前点——想到this了吗?,另一点为p) double Distance0() const; // 到原点(0,0)的距离 void input(); //以x,y 形式输入坐标点 void output(); //以(x,y) 形式输出坐标点};class CTriangle{public: void setTriangle(CPoint &X,CPoint &Y,CPoint &Z);// float perimeter(void);//计算三角形的周长 float area(void);//计算并返回三角形的面积 bool isRightTriangle(); //是否为直角三角形 bool isIsoscelesTriangle(); //是否为等腰三角形private: CPoint A,B,C; //三顶点 double a,b,c;};#endif // CPOINTTRIANGLE_H_INCLUDED
fun.cpp
#include <iostream>#include <cmath>#include "cpointtriangle.h"double CPoint::Distance1(CPoint p) const{ double dx=x-p.x,dy=y-p.y; return sqrt(dx*dx+dy*dy);}double CPoint::Distance0() const{ return sqrt(x*x+y*y);}void CPoint::input(){ char e; double xx,yy; std::cin>>e>>xx>>e>>yy>>e; x=xx; y=yy;}void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z){ A=X; B=Y; C=Z;}float CTriangle::perimeter(){ double a,b,c; a=A.Distance1(B); b=B.Distance1(C); c=C.Distance1(A); return a+b+c;}float CTriangle::area(){ double a,b,c; a=A.Distance1(B); b=B.Distance1(C); c=C.Distance1(A); double p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c));}bool CTriangle::isRightTriangle(){ double t; if(a>b) { t=b; b=a; a=t; } if(b>c) { t=c; c=b; b=t; } if(a*a+b*b==c*c) return true; else return false;}bool CTriangle::isIsoscelesTriangle(){ if(a==b||a==c||b==c) return true; else return false;}
0 0
- 第五周上机实践项目3——用多文件组织多个类的程序
- 第五周上机实践项目3-用多文件组织多个类的程序
- 第七周上机实践项目——项目3-用多文件组织多个类的程序
- 第六周上机实践项目——用多文件组织多个类的程序
- 第五周 课后实践:项目三——用多文件组织多个类的程序
- 第五周 课后实践:项目四——用多文件组织多个类的程序
- 第五周上机项目3 用多文件组织多个类的程序
- 第11周上机实践项目3——程序的多文件组织
- 第三周上机实践项目3——程序的多文件组织
- 第五周 【项目3-用多文件组织多个类的程序】
- 第五周项目3-用多文件组织多个类的程序
- 第五周 项目3-用多文件组织多个类的程序
- 第五周 项目3-用多文件组织多个类的程序
- 第五周项目3-用多文件组织多个类的程序
- 第五周项目3:用多文件组织多个类的程序
- 第五周项目3 用多文件组织多个类的程序
- 第五周项目3——用多文件组织多个类的程序
- 第五周项目3——用多文件组织多个类的程序
- n!素因子分解中素数p的幂
- Java基础---关于Java中类的修饰符问题的总结
- spin_lock浅析
- 类的第四个成员:初始化块的使用
- 武汉大学GNSS中心给IGS提供的数据产品下载地址
- 第五周上机实践项目3——用多文件组织多个类的程序
- 通知控件的使用步骤
- Path Sum--LeetCode
- WEP
- Mavlink协议理解Pixhawk APM(三)
- jsp超链接<a href="../servlet/DeleteProject?pid=<%=rs.getInt("pid")%>">删除</a>传参数到servlet时出现404错误
- 经典递归问题
- AndroidStudio参考资料整理
- zoj 3329 One Person Game(概率(期望)+dp)经典