第六周任务三
来源:互联网 发布:张居正 高拱 知乎 编辑:程序博客网 时间:2024/06/11 17:40
【任务3】设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
#include <iostream>#include <Cmath>using namespace std;enum SymmetricStyle { axisx,axisy,point};//分别表示按x轴, y轴, 原点对称class CPoint{private:double x; // 横坐标double y; // 纵坐标public:CPoint(double xx=0,double yy=0);double Distance(CPoint p) const; // 两点之间的距离(一点是当前点,另一点为参数p)double Distance0() const; // 到原点的距离CPoint SymmetricAxis(SymmetricStyle style) const; // 返回对称点void input(); //以x,y 形式输入坐标点void output(); //以(x,y) 形式输出坐标点};CPoint::CPoint(double xx,double yy):x(xx),y(yy){}double CPoint::Distance(CPoint p) const {return sqrt ( (p.x - x) * (p.x - x) + ( p.y - y ) * ( p.y - y ) ) ;}double CPoint::Distance0() const{return sqrt ( ( x * x ) + ( y * y ) );}CPoint CPoint::SymmetricAxis(SymmetricStyle style) const{CPoint p( x, y );switch ( style ){case axisx: //关于x轴对称p.y = -y; break;case axisy: //关于y轴对称p.x = -x; break;case point: //关于原点对称p.x = -x; p.y = -y;}return p;}void CPoint::input(){char ch;while(1){cin >> x >> ch >> y;if ( ch != ',' )cout << "输入格式错误" << endl;elsebreak;}}void CPoint::output(){cout << "(" << x << "," << y << ")" << endl;}void main(){ CPoint c1,c2,c;cout << "①请输出x、y的值" << endl;c1.input();cout << "②请输出x、y的值" << endl;c2.input();c1.output();c2.output();cout << "①②两点间距离" << c1.Distance(c2) << endl;cout << "①距原点距离" << c1.Distance0() << endl; cout << "②距原点距离" << c2.Distance0() << endl;c = c1.SymmetricAxis(axisx);cout << "①关于x轴对称" << endl;c.output();c = c2.SymmetricAxis(axisy);cout << "②关于y轴对称" << endl;c.output();c = c1.SymmetricAxis(point);cout << "①关于原点对称" << endl;c.output();system("pause");}
上机感言:程序很长是一点一点写的,反过去看有种成就感哈~
- 第六周 任务三
- 第六周任务三
- 第六周任务三
- 第六周 任务三
- 第六周任务三
- 第六周任务三
- 第六周任务三
- 第六周任务三。
- 第六周任务三
- 第六周任务三
- 第六周任务三
- 第六周 任务三
- 第六周作业任务三
- 第六周任务三 坐标点
- 第六周实验报告 任务三
- 第六周上机任务(三)
- C++程序设计实验报告(四十五)---第六周任务三
- 第六周实验报告 任务三(改进)
- Android--入门---18---(Android SQLite存储数据)
- Linux 编辑器(二)--emacs -editing macros,宏编辑器
- C++学习笔记:有用的算法
- ARM9学习笔记之——MMU
- 实验一:显示各位数
- 第六周任务三
- ORACLE/PLSQL 游标的简单使用
- 在绑定中使用数组------ArrayCollection
- 第六周实验报告5
- Linux 编辑器(三)--grep-Global search Regular Expression and Print out
- 如何有效管理工时 - 1
- win7 ubuntu10.10 重装win7 丢失grub菜单问题解决方法
- POJ-1149 参考大牛的构图..
- 第六周任务3(设计平面坐标点类)