【任务3】设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等

原创 2012年03月26日 20:23:37

* 程序头部注释开始* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.* 文件名称:

* 作 者: 时永杰

* 完成日期: 2012 年 3月 26日

* 版 本 号:4308

#include <iostream>

#include <cmath>

using namespace std;

enum SymmetricStyle{ axisx,axisy,point};

class Cpoint
{
private:
	double x;
	double y;
public:
	Cpoint (double xx=0,double yy=0);

	double Distance (Cpoint &p) const;

	double Distance0() const;

	Cpoint symmertricAxis(SymmetricStyle style) const;

	void intput();

	void output();

	double returnx(){return x;} ;

	double returny(){return y;} ;

};

Cpoint::Cpoint (double xx,double yy)
{
	x=xx;
	y=yy;
}
double Cpoint::Distance (Cpoint &p) const
{
	cout<< "到p点距离"<<sqrt((x-p.returnx())*(x-p.returnx())+((y-p.returny())*(y-p.returny())))<<endl;
	return 0;
}

double Cpoint::Distance0() const
{
	cout<< "到原点距离"<<sqrt(x*x+y*y)<<endl;
	return 0;
}
Cpoint Cpoint::symmertricAxis(SymmetricStyle style) const
{
	double a,b;
	switch(style)
	{
	case axisx:{
		a=-x;
		b=y;
		cout<<"按x轴对称"<<"("<<a<<","<<b<<")"<<endl;
		   };
	case axisy:{
		a=x;
		b=-y;
		cout<<"按y轴对称"<<"("<<a<<","<<b<<")"<<endl;
		   };
	case point:{
		a=-x;
		b=-y;
		cout<<"按原点对称"<<"("<<a<<","<<b<<")"<<endl;
		   }break;
	default:cout<<"输入错误";break;
	}
	return 0;
}

void Cpoint::intput()
{
	char ch1,ch2,ch3;
	do
	{
		cout<<"请以(x,y)的方式输入x,y:";
		cin>>ch1>>x>>ch2>>y>>ch3;
		if(ch1 == '(' && ch2 == ',' && ch3 == ')')
			break;
	}
	while (1);
}
void Cpoint::output()
{
	cout<<"该点为"<<"("<<x<<","<<y<<")"<<endl;
}
int main()
{
	 SymmetricStyle style;
	Cpoint p(5,6);
	Cpoint a;
	a.intput();
	a.Distance ( p);
	a.Distance0();

	cout<<"style的类型(axisx按x轴对称,axisy按y轴对称,point按原点轴对称)"<<endl;

	style=axisx;

	a.symmertricAxis( style);
	a.output();
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

第六周任务三设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: *...

C++第六周任务三设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:设计...

设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等

#include #include #include using namespace std; class CPoint { private: double x; // 横坐标 double y...

输出一个平面点关于X轴Y轴以及原点的对称点

#include using namespace std; enum SymmetricStyle{axisx, axisy, point};//分别表示按x轴, y轴, 原点对称三种方式 voi...

输出一点的对称点,两点间的距离

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:  ...

第6周-任务3-设计平面坐标点类

【题目】设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等enum SymmetricStyle { axisx,axisy,point};//分别表示按x轴, y轴, 原点对...

第六周任务3(设计平面坐标点类)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: ...

GPS坐标(大地坐标)转高斯平面坐标,并计算 GPS 坐标(大地坐标)两点间的距离

不知道啥时候在网上找到的算法,经实验发现貌似挺精确的,经修改后备用: #include //高斯平面坐标系 struct CRDCARTESIAN {     double x;     d...
  • fylsle
  • fylsle
  • 2013年04月15日 09:56
  • 2170

在matlab中寻找曲线上离原点距离最近的点的坐标的思考

syms y x=linspace(-2,2,200) n=length(x) g=[]; for i=1:n a=x(i); t=vpa(solve(y/(1+a^2...

给定一个平面内三个不同的点p1、p2和p3,求出任意两点(即点p1和点p2、点p1和点p3、点p2和点p3)之间的距离。

import java.util.Scanner; class point { double x, y; point(double x, double y) { this...
  • ilosing
  • ilosing
  • 2011年10月08日 23:19
  • 1608
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【任务3】设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
举报原因:
原因补充:

(最多只允许输入30个字)