坐标类型的类

来源:互联网 发布:滁州淘宝服饰 编辑:程序博客网 时间:2024/06/10 05:00
/**Corpyright (c)2013,烟台大学计算机学院*All right reseved.*作者:张梦佳*完成日期:2014年3月31日*版本号:v1.0*输入描述:*问题描述:类的指针!const 的坐标应用*程序输出:*问题分析:*算法设计:*/#include <iostream>#include <cmath>using namespace std;class CPoint{private:  double x;  // 横坐标  double y;  // 纵坐标public:  CPoint(double xx=0,double yy=0)  {    x=xx;    y=yy; }  double Distance1(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) 形式输出坐标点  void set_l(double,double);};void   CPoint::set_l(double a,double b){    x=a;    y=b;}double CPoint::Distance1(CPoint p) const{    double s;    s=sqrt((x-(p.x))*(x-(p.x))+(y-(p.y))*(y-(p.y)));    return s;}double CPoint::Distance0() const{    double s;    s=sqrt(x*x+y*y);    return s;}CPoint CPoint::SymmetricAxis(char style) const{    CPoint t;    if (style=='x')    {        t.set_l(x,-y);    }    else if(style=='y')    {        t.set_l(-x,y);    }    else if(style=='o')    {        t.set_l(-y,-x);    }    return t;}void CPoint::input(){    cout<<"请依次输入X和Y的值:"<<endl;    cin>>x>>y;    CPoint(x,y);}void CPoint::output(){    cout<<"("<<x<<","<<y<<")"<<endl;}int main(){    char a;    CPoint st;    st.input();    st.output();    cout<<"'x','y'和'o'分别表示按x轴, y轴, 原点对称"<<endl;    cin>>a;    st.Distance0();    st.SymmetricAxis(a).output();    cout<<"到原点的距离是:"<<st.Distance0()<<endl;    cout<<"两点间的距离是:"<<st.Distance1(st.SymmetricAxis(a))<<endl;    return 0;}


感悟:

总感觉有问题,却有找不出来

望指点!
0 0
原创粉丝点击