技术标签: C++
/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: 三角形类.cpp
* 作者:李巧丽
* 完成日期: 2013年4月8日
* 版本号: v1.0
* 输入描述:无
* 问题描述:设计求三角形周长和面积的类。
* 程序输出:三角形的周长和面积
*/
#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 intput(); //输入点的坐标
void output(); //以(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);//
float perimeter(void);//计算三角形的周长
float area(void);//计算并返回三角形的面积
bool isRightTriangle(); //是否为直角三角形
bool isIsoscelesTriangle(); //是否为等腰三角形
private:
CPoint A,B,C; //三顶点
};
CPoint::CPoint(double xx,double yy)
{
x=xx;
y=yy;
}
// 求两点之间的距离
double CPoint::Distance(CPoint p) const
{
return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
//输入坐标点
void CPoint::intput()
{
char ch;
cout<<"请按(x,y)的格式输入三角形的顶点:";
while(1)
{
cin>>x>>ch>>y;
if (ch==',') break;
cout<<"输入的数据格式不符合规范,请重新输入\n";
}
}
// 输出坐标点
void CPoint::output()
{
cout<<"("<<x<<", "<<y<<")"<<endl;
}
//类的初始化
void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z)
{
A=X;
B=Y;
C=Z;
}
//计算三角形周长
float CTriangle::perimeter(void)
{
double a,b,c;
a=B.Distance(C);
b=C.Distance(A);
c=A.Distance(B);
return a+b+c;
}
//求三角形的面积
float 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)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
{
return true;
}
else
return false;
}
//是否为等腰三角形
bool CTriangle::isIsoscelesTriangle()
{
double a=B.Distance(C),b=C.Distance(A),c=A.Distance(B);
if((a==b)||(a==c)||(b==c))
{
return true;
}
else
return false;
}
int main()
{
CPoint X,Y,Z;
X.intput();
Y.intput();
Z.intput();
CTriangle Tri1(X,Y,Z); //定义三角形类的一个实例(对象)
cout<<"该三角形的周长为:"<<Tri1.perimeter()<<",面积为:"<<Tri1.area()<<endl<<endl;
cout<<"该三角形"<<(Tri1.isRightTriangle()?"是":"不是")<<"直角三角形"<<endl;
cout<<"该三角形"<<(Tri1.isIsoscelesTriangle()?"是":"不是")<<"等腰三角形"<<endl;
return 0;
}
运行结果:
心得体会:用const还是不怎么熟练呐,差一点掉迷糊阵去!
文章浏览阅读1.5k次,点赞2次,收藏2次。本篇内容:Java Virtual Machine Garbage Collection (Java 虚拟机 垃圾回收)~ 文章专栏:JVM深入挖掘原理调优 更新周期:2022年4月16日 ~ 2022年4月24日个人简介:一只二本院校在读的大三程序猿,本着注重基础,打卡算法,分享技术作为个人的经验总结性的博文博主,虽然可能有时会犯懒,但是还是会坚持下去的,如果你很喜欢博文的话,建议看下面一行~(疯狂暗示QwQ)点赞 收藏 留言 一键三连 关爱程序猿,从你我做起本文目录._java虚拟机-垃圾回收及性能调优
文章浏览阅读2.9k次。作为一个前端攻城狮,总有一个博客梦,想做一个好看的,有特色的博客,又不想从头开始造轮子,偶然的一天看到了别人用github pages搭的个人博客页,十分简洁大气,遂问了搭建方法,自己开始尝试,中途踩了不少的坑,花了半天的时间,看了这篇博客的亲们,肯定不会超过一个小时。_hexo+yilia点击随笔出现错误cannot get /tags/%e9%9a%8f%e7%ac%94/
文章浏览阅读1.1k次。"分配失败 - JavaScript 堆内存不足" 这个错误消息表明你的 JavaScript 程序试图分配了太多内存,超出了 Node.js 可用的内存限制。你可以通过增加 Node.js 可用的内存限制来解决这个问题,例如通过命令行参数 --max-old-space-size。..._allocation failed - javascript heap out of memory
文章浏览阅读318次,点赞9次,收藏7次。22-030、STM32单片机设计车牌识别系统摄像头图像处理系统设计光敏自动控制led开关设计产品功能描述:本系统有STM32F103RCT6单片机核心板、2.8寸TFT液晶屏显示、摄像头图像采集OV7670、蜂鸣器、LED电路、光敏电阻采集光照电路、组成。1、stm32单片机通过摄像头采集图像,并实时驱动TFT液晶屏显示相应图像。2、stm32单片机通过模式识别、匹配货的车牌的识别结果,并在屏幕上进行显示。3、识别主要过程包括图像采集、二值化分析、识别车牌区域、字符分割、字符匹配五个过程。4、车牌锁定后会_stm32 摄像头识别车牌
文章浏览阅读4.5k次,点赞3次,收藏7次。测试岗的笔试题——四道编程题!!!!没错,就是四道编程题!!!什么都不能阻止我吐槽!!!字节跳动的出题官!良心何在?!!!一、完美字符串呵呵……这一题告诉我,字符串的坑是踩不完的?!二、最优连续子序列……三、塔罗牌n张牌,选出x张排成一排,要求牌的高和宽都比前一张的大,符合要求的选择中,x最大为多少?四、工厂产品?……大脑已无法运转,连题目都看不进去了……鬼知道是什么!!!..._字节跳动测试工程师笔试题
文章浏览阅读4k次。场景:在文章编辑页面中点击插入图片按钮,弹出新窗口,完成选择后再获取选定的图片主窗口:{extend name="base/base" /}{block name="main"}<form id="form" method="post" class="layui-form layui-form-pane" action="{:url('/admin/article_chan..._layui admin.open
文章浏览阅读302次。2」搜“中文语言包”,下C开头的那个。现在开始新建项目,点“新建项目”。先汉化,因为这样后面好弄。「1」点击Plugins。直接点“创建”,就可以了。「3」静待下载完毕。然后点Install。_pcharm新建python文件可以中文命名吗
文章浏览阅读723次,点赞29次,收藏9次。【代码】中科方德服务器操作系统安装zabbix5(1),重难点整理。
文章浏览阅读8.8k次。推荐资源站:https://zhimalier.com/原因: 创建调试了多个项目,产生了N多个log文件,这些文件可能产生了影响。解决: 重新建一个avd调试,若还是没解决,删除avd重启开发工具,建立avd再调试..._/system/media/audio/ui/effect_tick.ogg: open failed: enoent (no such file or
文章浏览阅读1.1k次。版权声明:本文为CSDN博主「Anthony_tester」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/u011541946/article/details/64129041本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器。要用selenium打开fiefox浏览器。首先需要去下载一个driver插件geckodriver.exe, 下载地址https://gith_selenium打开火狐浏览器
文章浏览阅读5.1k次,点赞4次,收藏2次。错误描述:Unity XR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_HmdNotFound: “Hmd Not Found (108)”!产生原因:VR项目由HTC设备 改成PICO 设备.在PICO 运行时报错,并自动调用SteamVR应用.尝试关闭BuildSettings-PlayerSettings-XRSettings 关闭VirtualRealitySupported 无效果._hmd not found(108)
文章浏览阅读1k次。以往在nuxt项目中,打包静态化部署的的文件如下:路径为绝对路径,当项目的域名为二级域名的时候,就不能打包为这绝对路径了。nuxt不同于vue项目,思索了许久,终于找到了配置的地方:nuxt项目中 nuxt.config.js :module.exports = {router: {base: "./"}}打包后的文件:补充知识:nginx部署,nuxt静态部署,路由跳转失效的问题nuxt静态部署..._nuxt3 服务端 静态打包 路由拦截