qq_57266436
qq_57266436
2021-05-26 16:33
采纳率: 100%
浏览 17

求大佬指点下为什么一直提示axisx,axisy not declared么?

#include<iostream>
#include<Cmath>
using namespace std;

class CPoint
{
public:
    CPoint(double xx=0,double yy=0);
    double Distance1(CPoint p) const;
    double Distance0() const;
    void SymmetricAxis(char style) const;
    void input();
    void output();
private:
    double x,y;
};
CPoint::CPoint(double xx,double yy):x(xx),y(yy){}
double CPoint::Distance1(CPoint p) const
{
    return sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y));
}
double CPoint::Distance0() const
{
    return sqrt(x*x+y*y);
}
void CPoint::SymmetricAxis(char style) const
{
    double a,b;
    switch(style)
    {
    case axisx:
    {
        a=x,b=-y;
    }
    break;
    case axisy:
    {
        a=-x,b=y;
    }
    break;
    case point:
    {
        a=-x,b=-y;
    }
    break;
    }
    cout<<"("<<a<<","<<b<<")"<<endl;
}
void CPoint::input()
{
    char c;
    cout<<"请输入坐标(形式:x,y):";
    cin>>x>>c>>y;
    if(c!=',')
    {
        cout<<"输入错误"<<endl;
    }
}
void CPoint::output()
{
    cout<<"输入的坐标为:"<<"("<<x<<","<<y<<")"<<endl;
}
int main()
{
    CPoint CP;
    CP.input();
    CPoint cp(1,1);
    CP.output();
    cout<<"该点到p点的距离为:"<<CP.Distance1(cp)<<endl;
    cout<<"该点到原点的距离为:"<<CP.Distance0()<<endl;
    cout<<"style的类型(symmetricX按x轴对称,symmetricY按y轴对称,symmetricO按原点轴对称)"<<endl;
    cout<<"该点关于x轴对称的点为:"<<CP.SymmetricAxis(axisx)<<endl;
    cout<<"该点关于y轴对称的点为:"<<CP.SymmetricAxis(axisy)<<endl;
    cout<<"该点关于o点对称的点为:"<<CP.SymmetricAxis(point)<<endl;
    return 0;
}
 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • qfl_sdu
    qfl_sdu 2021-05-26 16:52
    已采纳

    你代码中axisx,axisy,point都没有定义。

    可以把他们定义成宏或者全局变量

    #define axisx  'x';

    #define axisy  'y';

    #define point  '.'

    点赞 评论
  • weixin_43681859
    答题大神 2021-05-26 16:38

    这个报错是说:main函数里面的axisx和axisy这两个变量没有定义,我确实在代码中没有看到你定义这两个变量啊。

    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-27 11:05

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐