2015年大一下第4周项目1-体验常成员函数
来源:互联网 发布:剑三异瞳萝莉捏脸数据 编辑:程序博客网 时间:2024/06/01 09:33
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:Annpion.cpp *作者:王耀鹏 *完成日期:2015年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 Distance1(CPoint p) const; //两点之间的距离(一点是当前点——想到this了吗?,另一点为p) double Distance0() const; // 到原点(0,0)的距离 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{ double d; d=sqrt((p.x-this->x)*(p.x-this->x)+(p.y-this->y)*(p.y-this->y)); return d;}double CPoint::Distance0() const{ return sqrt(x*x+y*y);}CPoint CPoint::SymmetricAxis(char style) const{ CPoint p; switch(style) { case 'x': p.y=-y; p.x=x; break; case 'y': p.x=-x; p.y=y; break; case 'o': p.x=-x; p.y=-y; break; } return p;}void CPoint::input(){ char ch; cout<<"请输入坐标点(格式x,y ):"; cin>>x>>ch>>y; while(ch!=',') { cout<<"输入的数据格式不符合规范,请重新输入:"; cin>>x>>ch>>y; }}void CPoint::output(){ cout<<"("<<x<<", "<<y<<")"<<endl;}int main( ){ double distance; CPoint p1,p2,p; cout<<"第1个点p1,"; p1.input(); cout<<"第2个点p2,"; p2.input(); distance=p1.Distance1(p2); cout<<"两点的距离为:"<<distance<<endl; distance=p1.Distance0(); cout<<"p1到原点的距离为:"<<distance<<endl; p=p1.SymmetricAxis('x'); cout<<"p1关于x轴的对称点为:"; p.output(); p=p1.SymmetricAxis('y'); cout<<"p1关于y轴的对称点为:"; p.output(); p=p1.SymmetricAxis('o'); cout<<"p1关于原点的对称点为:"; p.output(); return 0;}
运行结果:
0 0
- 2015年大一下第4周项目1-体验常成员函数
- 2015年大一下第5周项目4-成员函数、友元函数和一般函数有区别
- 2015年大一下第1周项目4-时间类
- 2015年大一下第5周项目1-深复制体验
- 2015年大一下第4周项目4-静态成员应用
- 2015年大一下第4周项目2-对象作为数据成员
- 2015年第五周项目一:体验常成员函数
- 2015-第5周项目1-体验常成员函数
- 2015年大一下第1周项目2-旱冰场造价
- 2015年大一下第1周项目3-长方体类
- 2015年大一下第11周项目4-点、圆的关系(1)重载输入输出函数
- 2015年大一下第13周项目4-处理C++源代码的程序(1)main()函数
- 2015年大一下第2周项目5-数组作数据成员
- 2015年大一下第12周项目4-链表类(1)
- 第五周项目:体验常成员函数
- 第五周项目体验常成员函数
- 项目1-体验常成员函数
- 项目1--体验常成员函数
- 程序猿眼里的高并发
- jdbc连接数据库操作步骤
- ios Crash闪退日志获取和上传至服务器
- 创建项目时,提示 overlaps the workspace location
- Apache Thrift
- 2015年大一下第4周项目1-体验常成员函数
- Java程序员也应该知道的一些网络知识
- p2p的基本实现过程
- java学习(9)java向上转型 向下转型
- 在线HTTP接口测试工具
- 多重部分和问题
- android building workspace has encountered a problem
- 黑马程序员——[C语言]数据类型总结
- FFmpeg发送流媒体的命令(UDP,RTP,RTMP)