六周任务三

原创 2012年03月28日 20:26:31
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:                              
* 作    者:   张启立                          
* 完成日期:   2012      年   3    月    28   日
* 版 本 号:          

* 对任务及求解方法的描述部分
* 输入描述:   
* 问题描述:   设计平面坐标点类,计算两点间的距离,到原点的距离以及关于x轴,y轴,原点对称的点.
* 程序输出: 
* 程序头部的注释结束
*/

#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;  
}  

// 两点之间的距离(一点是当前点,另一点为参数p)

double CPoint::Distance ( CPoint p ) const   
{
	return sqrt (( x - p.x ) * ( x - p.x ) + ( y - p.y ) * ( y - p.y ));
}

// 到原点的距离
double CPoint:: Distance0 ( ) const
{
	return sqrt ( x * x + y * y );
}
// 返回对称点
CPoint CPoint::SymmetricAxis ( SymmetricStyle style) const
{
	CPoint p;

	switch ( style )
	{

	case axisx:

		p.y = -y; break;

	case axisy:

		p.x = -x; break;

	case point:

		p.x = -x;

		p.y = -y;
	}
	return p;
}

//以x,y 形式输入坐标点

void CPoint:: input ( )

{

	char ch ;

	while ( 1 )
	{
		cin >> x >> ch >> y;

		if ( ch != ',' )
		{

			cout << " 你输入的格式错误 " << endl;

		}

		else

		{

			break;

		}

	}

}

void CPoint::output ( )//以(x,y) 形式输出坐标点

{

	cout << x <<',' << y << endl;
	
}
 
void main ( )

{
	double distance;

	CPoint p1 , p2 , p ;

	cout << "请分别输入两点坐标:格式为  x,y " << endl;

	p1.input ();

	p2.input ();

	distance = p1.Distance ( p2 );

	cout << "两点的距离为:" << distance << endl;

	distance = p1.Distance0();

	cout << "点距离坐标原点的距离为 " << distance << endl;

	p = p1.SymmetricAxis ( axisx );

	cout << "关于x轴对称的点:"  << endl;

	p.output();

	p = p1.SymmetricAxis ( axisy );

	cout << "关于y轴对称的点:" << endl;

	p.output();

	p = p1.SymmetricAxis ( point );

	cout<<"关于原点对称的点坐标为: "<<endl;

	p.output();
}


第十六周任务(三)

#include #include #include using namespace std; class Word { private: string english; string ch...
  • xuguochen99
  • xuguochen99
  • 2012年06月07日 19:42
  • 2479

第十六周 任务三

#include #include #include #include using namespace std; class Student { public: ...
  • hb9206
  • hb9206
  • 2012年06月04日 18:48
  • 756

十六周任务三

(程序头部注释开始)  * 程序的版权和版本声明部分  * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved.  * 文件名称: ...
  • sdhzwuxia
  • sdhzwuxia
  • 2012年06月06日 17:25
  • 2018

第十六周 任务三

/* * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. *...
  • xgcfxl2011
  • xgcfxl2011
  • 2012年06月03日 00:57
  • 757

六周一次课

1、  正则__grep:   正则就是一串有规律的字符串 掌握好正则对于编写shell脚本有很大帮助 各种编程语言中都有正则,原理是一样的   grep [-cinvABC] ‘word...
  • csdn_chenc
  • csdn_chenc
  • 2018年01月15日 14:48
  • 15

六周三次课

1、  awk命令:   -F   #指定分隔符 OFS   #print的时候指定的分隔符 NR    #表示行 NF    #表示段 awk –F ‘:’ ‘{print $1}’ t...
  • csdn_chenc
  • csdn_chenc
  • 2018年01月17日 17:50
  • 12

第十六周任务三(电子词典)

/* 【任务 3】电子词典 做一个简单的电子词典。在文件 dictionary.txt 中,保存的是英汉对照的一个词典,词汇量近 8000 个, 英文、中文释义与词性间用’\t’隔开。建一...
  • fengzhenq
  • fengzhenq
  • 2012年06月05日 17:14
  • 814

C++第十六周【任务三】

/* * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:C++第十六周【任务三】 ...
  • lihongxuanli
  • lihongxuanli
  • 2012年06月05日 18:24
  • 370

十六周任务三电子词典

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: ...
  • shitoujianqiang123
  • shitoujianqiang123
  • 2012年06月05日 16:38
  • 1077

十六周任务三---字典

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:电子词典 ...
  • mingmingbang666
  • mingmingbang666
  • 2012年06月06日 23:01
  • 2175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:六周任务三
举报原因:
原因补充:

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