第六周项目1-点的坐标与距离
来源:互联网 发布:怎么查国外数据 编辑:程序博客网 时间:2024/06/09 20:54
/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:田成琳*完成日期:2014 年 4 月 1 日*版本号:v1.0*对任务及求解方法的描述部分:*输入描述:-*问题描述:设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等。 在设计中,由于求距离、求对称点等操作对原对象不能造成任何改变, 所以,将这些函数设计为常成员函数是合适的,能够避免数据成员被无意更改。*程序输出:点坐标与距离*问题分析:*算法设计:*/#include<iostream>#include<cmath>#include<cstdlib>using namespace std;class CPoint{private:double x; // 横坐标double y; // 纵坐标public:CPoint(double xx=0,double yy=0);double Distance1(CPoint p) const; // 两点之间的距离(一点是当前点,另一点为参数p)double Distance0() const; // 到原点的距离CPoint SymmetricAxis(char style) const;//style取'x','y'和'o'分别表示按x轴, y轴, 原点对称void input(); //以x,y 形式输入坐标点void output(); //以(x,y) 形式输出坐标点};CPoint::CPoint(double xx,double yy){x=xx;y=yy;}double CPoint::Distance1(CPoint p) const{return sqrt(pow(x-p.x,2)+pow(y-p.y,2));}double CPoint::Distance0() const{return sqrt(x*x+y*y); }CPoint CPoint::SymmetricAxis(char style) const{CPoint p;switch(style){case 'x':p.x=x;p.y=-y;break;case 'y':p.x=-x;p.y=y;break;case 'o':p.x=-x;p.y=-y;}return p;}void CPoint::input(){cout<<"请输入点的坐标:"<<endl;cin>>x>>y;}void CPoint::output(){cout<<"该点坐标为:"<<endl;cout<<"("<<x<<","<<y<<")"<<endl;}int main(){CPoint a,b,c;int chose;a.input();a.output();while(1){cout<<"请选择何种操作:"<<endl;cout<<"1.计算到原点的距离 2.计算与x轴的对称点"<<endl;cout<<"3.计算与y轴的对称点 4.计算与原点的对称点"<<endl;cout<<"5.计算与另一点的距离 0.退出"<<endl;cin>>chose;switch(chose){case 0:exit(0);case 1:cout<<a.Distance0()<<endl;break;case 2:c=a.SymmetricAxis('x');c.output();break;case 3:c=a.SymmetricAxis('y');c.output();break;case 4:c=a.SymmetricAxis('o');c.output();break;case 5:b.input();cout<<a.Distance1(b)<<endl;break;default:cout<<"输入有误,请重新输入:"<<endl;cin>>chose;}}return 0;}
运行结果:
心得体会:
由于函数后加了const,在编写时要特别注意,不能改变其数据的值。其中CPoint SymmetricAxis(char style) const;把私有数据的值先给另一变量,再返回
0 0
- 第六周项目1-点的坐标与距离
- 《C++第六周实验报告3-1》---设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
- 第六周任务三设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
- C++第六周任务三设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
- 第六周上机任务项目3-平面坐标点类
- 第六周 项目三:平面坐标点类
- 第六周项目三—平面坐标点类
- 第六周项目三:平面坐标点类
- 第六周项目3:平面坐标点类
- 第六周项目三:平面坐标点类
- 第六周实验指导--任务3--设计平面坐标点类,计算两点之间距离
- 计算两个坐标点之间的距离
- 计算两个坐标点之间的距离
- 计算两个坐标点的距离
- 计算两平面坐标点的距离
- 第六周任务三 坐标点
- 第六周 RW3 关于坐标点类
- 项目1——距离是一个点到另外一个点的距离
- fedor 9 搭建自己的邮件服务器
- 合并两个路径
- kindeditor 编辑器手机访问默认为HTML编辑
- 国内Maven库
- SGU 106 在区间范围内的线性方程解个数
- 第六周项目1-点的坐标与距离
- VC++实现程序Drag
- android(4): 类库的学习
- Spoofax语言工作台学习笔记——命名的定义和声明
- 意念力促使生物演化论
- 【容斥原理】AOJ-557 Redraiment猜想2
- Oracle数据库学习
- android mimeType
- cocos2d-x画扇形