第六周任务3

实验目的:加强对类的认识。
实验内容:设计平面坐标点类,并进行相应运算。
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:2012                             
* 作    者:王明星                           
* 完成日期:  20112年 03月 27 日
* 版 本 号: 2012         

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 算法说明:* 程序头部的注释结束(此处也删除了斜杠)
#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=00);
          double Distance (Cpoint p)const;//两点之间的距离
	double Distance0() const;//到原点的距离
	Cpoint symmetricaxis(symmetricstyle style) const;//返回对称点
	void input();//输入坐标
	void output();//输出坐标
};
Cpoint::Cpoint(double xx,double yy)
{
	x=xx;
	y=yy;
}
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(x,y);
	switch (style)
	{
	case axisx:p.y=-y;break;
	case axisy: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;
		else
			break;
	}
}
void Cpoint::output()
{
	cout<<'('<<x<<','<<y<<')'<<endl;
}
void main()
{
	Cpoint p1,p2,p;
	cout<<"请输入第一个点!";
	p1.input();
	cout<<"请输入第二个点!";
	p2.input();
	double distance=p1.Distance(p2);
	cout<<"两点之间的距离为:"<<distance<<endl;
	p=p1.symmetricaxis(axisx);
	p.output();
	p=p2.symmetricaxis(axisy);
	p.output();
	p=p2.symmetricaxis(point);
	p.output();
	distance=p2.Distance0();
	cout<<"到原点的距离为:"<<distance<<endl;
}


上机感言;通过对类得学习,我发现了在面向过程和面向对象之间他们是有差别的,我觉得面向对象根据有实际的应用价值,操作起来更方便!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值