第六周 任务三

来源:互联网 发布:iphone6s蜂窝数据快捷 编辑:程序博客网 时间:2024/06/11 13:57
/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称:score.cpp                           * 作    者:   刘玉金                        * 完成日期: 2013 年4 月 10  日* 版本号: 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 Distance(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::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(char style)const{  double x1=x,y1=y;switch(style){  case 'x':  y1=-y;  break;  case 'y':  x1=-x;  break;  case 'o':  x1=-x;  y1=-y;     break;} CPoint p(x1,y1);return p;}void CPoint::input(){ char ch;  cout<<"请输入(x,y)的值";  cin>>x>>ch>>y;  if(ch!=',')   cout<<"您输入的形式不对:";//   break;}void CPoint::output(){  cout<<"("<<x<<","<<y<<")";}int main(){ double d; CPoint a,b; cout<<"第一个点a:"<<endl; a.input();  cout<<"第二个点b:"<<endl; b.input();a.Distance(b);cout<<"点a到点b的距离为:"<<a.Distance<<endl;b.Distance(a);cout<<"点b到点a的距离为:"<<b.Distance<<endl;cout<<"点b关于y轴对称点为:";b.SymmetricAxis('y').output();cout<<endl;cout<<"点a关于x轴对称点为";a.SymmetricAxis('x').output();cout<<endl;cout<<"点b关于o的对称点为:";b.SymmetricAxis('o').output();cout<<endl;cout<<endl;return 0;}


运行结果:

原创粉丝点击