/*
*   04737 c++ 自学考试2019版 第四章课后练习
*   程序设计题 2
*   需求:为第二章习题设计中的二维坐标系下的类point,重载<< >>
*/
//标准流
#include<iostream>
//科学计算函数
#include<cmath>
using namespace std;class Point
{private://横坐标 double x;//纵坐标 double y;public://construtorPoint(){};Point(double x1,double y1);//getterdouble getX();double getY();//settervoid setX(double x1);void setY(double y1); //计算给定点到0,0的距离double  distance(Point p);//计算给定两点之间的距离double  distanceB2Points(Point p,Point p2);//给定的三个点是否是三角形bool isTriangle(Point p,Point p2,Point p3);  //声明重载流插入 流提取 只能重载为友元friend ostream & operator<<(ostream & out,Point &p); friend istream & operator>>(istream & in,Point &p);
};
//<<流插入定义
ostream & operator<<(ostream & out,Point &p)
{out<<"x="<<p.x<<endl;//输出x坐标out<<"y="<<p.y<<endl;//输出y坐标return out;
}
//>>流提取定义
istream & operator>>(istream & in,Point &p)
{cout<<"请输入数字(x)"<<endl;if(!(in>>p.x)){cout<<"x输入错误,请重新输入"<<endl;in>>p.x;}cout<<"请输入数字(y)"<<endl;if(!(in>>p.y)){cout<<"y输入错误,请重新输入"<<endl;in>>p.y;} return in;
}  //construtor
Point::Point(double x1,double y1)
{x = x1;y = y1;
}
//getter
double Point::getX(){return x;}
double Point::getY(){return y;}
//setter
void Point::setX(double x1){x = x1;}
void Point::setY(double y1){y = y1;}
//计算给定点到0,0的距离 公式: 根号(x1-x2)平方+(y1-y2)平方 的绝对值
double Point::distance(Point p)
{return abs(    sqrt(   pow(p.getX(),2) + pow(p.getY(),2)  )   );
}
//计算两点之间的距离
double Point::distanceB2Points(Point p,Point p2)
{return abs(    sqrt(   pow(p.getX()-p2.getX(),2) + pow(p.getY()-p2.getY(),2)  )   );
}
//给定的三个点是否是三角形 任意两边之和大于第三边即成立  或者判断是否在一条直线
bool Point::isTriangle(Point p,Point p2,Point p3)
{//第一条边double a =   abs(   sqrt(   pow(p.getX()-p2.getX(),2) + pow(p.getY()-p2.getY(),2)  )   );//第二条边double b =   abs(  sqrt(   pow(p.getX()-p3.getX(),2) + pow(p.getY()-p3.getY(),2)  )   );//第三条边double c =   abs(  sqrt(   pow(p2.getX()-p3.getX(),2) + pow(p2.getY()-p3.getY(),2)    )   );cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;cout<<"c="<<c<<endl;if( a+b > c && a+c > b &*& b+c > a)return true;return false;
}
//主函数
int main()
{Point p,p2,p3;cin>>p;cout<<p;}

04737 c++ 自学考试2019版 第四章课后练习 程序设计题 2相关推荐

  1. 04737 c++ 自学考试2019版 第六章课后练习 程序设计题 1

    /* * 04737 c++ 自学考试2019版 第六章课后练习 * 程序设计题 1 * 需求:将第五章习题中设计的交通工具...... */#include<iostream> #inc ...

  2. 04737 c++ 自学考试2019版 第四章课后程序设计题1

    /** * 04737 c++ 自学考试2019版 * 第四章程序设计题1 * 为程序4-2中的类myComplex重载乘法运算符 */ #include <iostream>//标准流 ...

  3. 04737 c++ 自学考试2019版 第五章程序设计题 1

    /* * 04737 c++ 自学考试2019版 第五章课后练习 * 程序设计题 1 * 需求:交通工具包含汽车,汽车又包含..... */#include<iostream> #incl ...

  4. 04737 c++ 自学考试2019版 第二章课后程序设计题 3

    /* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 3 * 需求:设计并实现一个类MyLine */ //标准流 #include<iostream> //科 ...

  5. 04737 c++ 自学考试2019版 第二章课后程序设计题 2

    /* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 2 * 需求:设计并实现二维坐标系下点的类Point.... */ //标准流 #include<iostrea ...

  6. 数据结构(C语言)第二版 第四章课后答案

    数据结构(C语言)第二版 第四章课后答案 1~5 B B C A B 6~10 B B C B B 11~15 A B D (C,B) C 1.选择题 (1)串是一种特殊的线性表,其特殊性体现在(B) ...

  7. 《计算机组成原理》第二版第四章课后习题解答

    <计算机组成原理>第四章课后习题解答 本文答案均为网上答案,作者仅将其补全组合在一起,错误之处欢迎指正. 1 .解释下列概念   主存.   辅存.  Cache .  RAM .  SR ...

  8. 《python编程从入门到实践》第2版 第四章课后练习

    第四章 练习4-1: 比萨 想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用 for 循环将每种比萨的名称打印出来. 修改这个 for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称 ...

  9. 线性代数第五版吉尔伯特课后答_线性代数同济第五版第四章课后习题答案!

    搜集 | 整理 |  测试 | @小愉 免责声明:以下资源或软件均来自互联网,仅供学习和交流使用,如有侵权请联系删除,请勿用于商业和非法途径等,如有法律纠纷与本人无关! 本文未经允许,不得转载! 适用 ...

最新文章

  1. java构造字符缓冲区_java学习笔记 | 学步园
  2. 在看世界杯的闲暇看看电视剧《长恨歌》
  3. linux查代替命令,Linux下查/删/替 命令(转)
  4. Analyzer报表结果行
  5. 4、Linux的文件系统结构(目录树结构)
  6. Java爬虫系列二:使用HttpClient抓取页面HTML
  7. 使用eclipse调试hive mapreduce
  8. python打开excel指定的sheet_pandds指定一个或多个sheet读取excel(sheet_name参数)
  9. 90 矩阵——矩阵微分与求导
  10. 解决Mysql的主从数据库没有同步的两种方法
  11. 前端50个精美登录注册模板
  12. win10误删的注册表能还原吗_win10怎么还原注册表_win10注册表恢复初始的图文教程...
  13. CHM 格式打开不显示网页
  14. ODPS SQL优化总结
  15. UE4大数据可视化教程(10)——设置背景音乐和播放MP3格式音乐
  16. vue : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本
  17. 管中窥豹,深入总部调研苏宁易购研发
  18. 算法笔记——基数排序
  19. Android Service服务不被杀死(保活)
  20. 一个非常好用的随机密码生成方法

热门文章

  1. 数值计算与优化(共轭梯度法和QR)
  2. 如何用Pygame写游戏(十九)
  3. Kubernetes—配置管理ConfigMap(十三)
  4. 使用media player控件播放歌曲 winform
  5. 扩展图形输出 1111 java
  6. linux-文件管理-不完整版
  7. 一键安装zabbix监控redis
  8. mysq由于主键冲突导致主从不同步
  9. Jenkins报错Error fetching remote repo 'origin'真正解决办法
  10. 关于手动栈 (模板)