任务三:设计平面坐标点类

来源:互联网 发布:windows 数据库客户端 编辑:程序博客网 时间:2024/06/02 23:37
/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:                              * 作    者:         田庆                     * 完成日期:         年  3     月    27    日* 版 本 号:          * 对任务及求解方法的描述部分* 输入描述: * 问题描述:计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等 * 程序输出: * 程序头部的注释结束*/#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;   // 两点之间的距离   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){}  // 输入坐标点   void CPoint::input()  {  char ch;  cout<<"请输入坐标点(格式x,y ):";  while(1)  {  cin>>x>>ch>>y;  if (ch!=',') {cout<<"输入格式不对,请重新输入:"<<endl; }else break;}}  // 输出坐标点   void CPoint::output()  {  cout<<"("<<x<<", "<<y<<")"<<endl;  }    // 求两点之间的距离   double CPoint::Distance(CPoint p) const  {  return sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y));  }  // 求点到原点的距离   double CPoint::Distance0() const  {  double d;  d=sqrt(x*x+y*y);  return d;  }  // 求对称点   CPoint CPoint::SymmetricAxis(SymmetricStyle style) const  {  CPoint p(x,y);//先指定一个点 switch(style)  {  case axisx:                //关于X轴对称p.y=-y; break;  case axisy:                 //关于y轴对称p.x=-x; break;  case point:                 //关于原点对称p.x=-x;p.y=-y;  }      return p;  }  void main(){  double distance;  CPoint p1,p2,p;  cout<<"第1个点p1,";  p1.input();  cout<<"第2个点p2,";  p2.input();  distance=p1.Distance(p2);  cout<<"两点的距离为:"<<distance<<endl;  distance=p1.Distance0();  cout<<"p1到原点的距离为:"<<distance<<endl;  p=p1.SymmetricAxis(axisx);  cout<<"p1关于x轴的对称点为:";  p.output();  p=p1.SymmetricAxis(axisy);  cout<<"p1关于y轴的对称点为:";  p.output();  p=p1.SymmetricAxis(point);  cout<<"p1关于原点的对称点为:";p.output();system("pause");}

类还是相对于以前学的别的简单些,给定函数,自己在下面分工就行啦!不过,对于指针方面的东西还要再研究!!
原创粉丝点击