04737 c++ 自学考试2019版 第四章课后练习 程序设计题 2
/*
* 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相关推荐
- 04737 c++ 自学考试2019版 第六章课后练习 程序设计题 1
/* * 04737 c++ 自学考试2019版 第六章课后练习 * 程序设计题 1 * 需求:将第五章习题中设计的交通工具...... */#include<iostream> #inc ...
- 04737 c++ 自学考试2019版 第四章课后程序设计题1
/** * 04737 c++ 自学考试2019版 * 第四章程序设计题1 * 为程序4-2中的类myComplex重载乘法运算符 */ #include <iostream>//标准流 ...
- 04737 c++ 自学考试2019版 第五章程序设计题 1
/* * 04737 c++ 自学考试2019版 第五章课后练习 * 程序设计题 1 * 需求:交通工具包含汽车,汽车又包含..... */#include<iostream> #incl ...
- 04737 c++ 自学考试2019版 第二章课后程序设计题 3
/* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 3 * 需求:设计并实现一个类MyLine */ //标准流 #include<iostream> //科 ...
- 04737 c++ 自学考试2019版 第二章课后程序设计题 2
/* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 2 * 需求:设计并实现二维坐标系下点的类Point.... */ //标准流 #include<iostrea ...
- 数据结构(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) ...
- 《计算机组成原理》第二版第四章课后习题解答
<计算机组成原理>第四章课后习题解答 本文答案均为网上答案,作者仅将其补全组合在一起,错误之处欢迎指正. 1 .解释下列概念 主存. 辅存. Cache . RAM . SR ...
- 《python编程从入门到实践》第2版 第四章课后练习
第四章 练习4-1: 比萨 想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用 for 循环将每种比萨的名称打印出来. 修改这个 for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称 ...
- 线性代数第五版吉尔伯特课后答_线性代数同济第五版第四章课后习题答案!
搜集 | 整理 | 测试 | @小愉 免责声明:以下资源或软件均来自互联网,仅供学习和交流使用,如有侵权请联系删除,请勿用于商业和非法途径等,如有法律纠纷与本人无关! 本文未经允许,不得转载! 适用 ...
最新文章
- java构造字符缓冲区_java学习笔记 | 学步园
- 在看世界杯的闲暇看看电视剧《长恨歌》
- linux查代替命令,Linux下查/删/替 命令(转)
- Analyzer报表结果行
- 4、Linux的文件系统结构(目录树结构)
- Java爬虫系列二:使用HttpClient抓取页面HTML
- 使用eclipse调试hive mapreduce
- python打开excel指定的sheet_pandds指定一个或多个sheet读取excel(sheet_name参数)
- 90 矩阵——矩阵微分与求导
- 解决Mysql的主从数据库没有同步的两种方法
- 前端50个精美登录注册模板
- win10误删的注册表能还原吗_win10怎么还原注册表_win10注册表恢复初始的图文教程...
- CHM 格式打开不显示网页
- ODPS SQL优化总结
- UE4大数据可视化教程(10)——设置背景音乐和播放MP3格式音乐
- vue : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本
- 管中窥豹,深入总部调研苏宁易购研发
- 算法笔记——基数排序
- Android Service服务不被杀死(保活)
- 一个非常好用的随机密码生成方法