缦ㄟ兮 发表于 2014-3-22 16:17:40

求高手帮忙改一下 !!!

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

class Point
{
public:
        void setCoordinate (int x , int y , int m , int n ,double d );
        void setxy (int x, int y);
        void setmn (int m, int n);
       

        void print() ;
          
private:
        int X ;
        int Y ;
        int M ;
        int N ;
        double D;
        double Distance() ;


};


void Point::setCoordinate(int x, int y, int m, int n,double d)
{
        X=x;
        Y=y;
        M=m;
        N=n;
        D=d;

}

void Point::setxy(int x, int y)
{
   cout<< "请输入坐标一x,y"<< endl;
   cin >> x>> y;

}
void Point::setmn( int m,int n)
{
   cout<< "请输入坐标二m,n"<< endl;
   cin >> m>> n;
}

void Point::print()

{
    double Distance(double d)   
    {
                return sqrt((x-m)*(x-m)+(y-n)*(y-n));
        }
        cout<< "距离为" << Distance(d)<<'/n'<<endl;
}



int main()
{   int x,y,m,n;
    double d;
        Point p;
    p.setxy( x , y);
        p.setmn( m , n);
        p.setCoordinate(x,y,m,n,d);
        p.print();
        return 0;
}

1.cpp
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\作业三\1.cpp(53) : error C2601: 'Distance' : local function definitions are illegal
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\作业三\1.cpp(56) : error C2065: 'd' : undeclared identifier
执行 cl.exe 时出错.



不知道怎么改了   help!!!

machimilk 发表于 2014-3-22 16:17:41

改完了,能实现2点间距离的计算

#include <stdio.h>
#include <iostream>
using namespace std;
#include <cmath>
class Point
{
public:
        void setxy ();
        void setmn ();
        void print() ;
private:
        double X ;
        double Y ;
        double M ;
        double N ;
        double Distance() ;
};
void Point::setxy()
{
        cout<< "请输入坐标一x,y"<< endl;
        scanf("%lf,%lf",&X,&Y);
}
void Point::setmn()
{
        cout<< "请输入坐标二m,n"<< endl;
        scanf("%lf,%lf",&M,&N);
}
double Point::Distance()   
{
        return sqrt(double(X-M)*(X-M)+(Y-N)*(Y-N));
}
void Point::print()
{
        cout<< "距离为" << Distance()<<endl;
}
int main()
{
        Point p;
    p.setxy();
    p.setmn();
    p.print();
        system("pause");
    return 0;
}

Simanzen 发表于 2014-3-22 17:36:55

本帖最后由 Simanzen 于 2014-3-22 18:03 编辑

#include <iostream>
#include <cmath>

using namespace std;

class Point
{
public:
      void setxy ();
      void setmn ();
      void print() ;
         
private:
      int X ;
      int Y ;
      int M ;
      int N ;
};



void Point::setxy()
{
   cout<< "请输入坐标一x,y"<< endl;
   cin >>X>>Y;

}
void Point::setmn()
{
   cout<< "请输入坐标二m,n"<< endl;
   cin >>M>>N;
}

void Point::print()

{
   cout<< "距离为 " <<sqrt(double((X-M)*(X-M)+(Y-N)*(Y-N))) <<endl;
}


int main()
{
      Point p;
      p.setxy();
      p.setmn();
      p.print();
      return 0;
}

说实话,lz这样使用类不是很好

缦ㄟ兮 发表于 2014-3-22 17:50:46

machimilk 发表于 2014-3-22 17:08 static/image/common/back.gif
改完了,能实现2点间距离的计算

我是哪里错了呢?我都改蒙了,公有函数里不能带参数吗?

Simanzen 发表于 2014-3-22 18:02:13

缦ㄟ兮 发表于 2014-3-22 17:50 static/image/common/back.gif
我是哪里错了呢?我都改蒙了,公有函数里不能带参数吗?

是不必要用别的参数,用类的私有数据成员就好了

聆听丨灬六月 发表于 2014-5-15 10:59:55

help????
页: [1]
查看完整版本: 求高手帮忙改一下 !!!