小区自助洗衣机:c++类 谢谢 没有错误可以运行但是结果不对

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 16:11:20
#include <iostream.h>
#include <math.h>
class tpoint
{
public:
tpoint(tpoint &d)
{
X=d.X;
Y=d.Y;
}
getxy(double ,double );
distance(tpoint &,tpoint &);
private:
double X,Y;
};
tpoint::getxy(double x,double y)
{
X=x;
Y=y;
}
int tpoint::distance(tpoint &p,tpoint &q)
{
double xx,yy,s;
xx=p.X-q.X;
yy=p.Y-q.Y;
s=sqrt(xx*xx+yy*yy);
}
void main()
{
double ax,ay,bx,by,d;
tpoint p1,p2;
cout<<"第一个数的横坐标:"<<endl;
cin>>ax;
cout<<"第一个数的纵坐标:"<<endl;
cin>>ay;
p1.getxy(ax,bx);
cout<<"第二个数的横坐标:"<<endl;
cin>>bx;
cout<<"第二个数的纵坐标:"<<endl;
cin>>by;
p2.getxy(bx,by);
d=distance(p1,p2);
cout<<"距离为"<<d<<endl;
}

没有错误可以运行但是结果不对,希望大家帮我改正!!1谢谢

朋友,你好,我给你修改了一下,现在可以用了,我在VC++6.0上执行过,没有错

#include <iostream.h>
#include <math.h>
class tpoint
{
public:
tpoint(){X=0;Y=0;}
tpoint(tpoint &d)
{
X=d.X;
Y=d.Y;
}
void getxy(double ,double );
friend double distance(tpoint &,tpoint &);
private:
double X,Y;
};

void tpoint::getxy(double x,double y)
{
X=x;
Y=y;
}
double distance(tpoint &p,tpoint &q)
{
double xx,yy,s;
xx=p.X-q.X;
yy=p.Y-q.Y;
s=sqrt(xx*xx+yy*yy);
return s;
}

void main()
{
double ax,ay,bx,by,d;
tpoint p1,p2;
cout<<"第一个数的横坐标:"<<endl;
cin>>ax;
cout<<"第一个数的纵坐标:"<<endl;
cin>>ay;
p1.getxy(ax,ay);
cout<<"第二个数的横坐标:"<<endl;
cin>>bx;
cout<<"第二个数的纵坐标:"<<endl;
cin>>by;
p2.getxy(bx,by);
d=distance(p1,p2);
cout<<"距离为"<<d<<endl;
}

是不是因为没有返回值的原因,类里面的两个变量是私有变量。楼主看一下是不是跟这个有关

p1.getxy(ax,bx);
bx是你程序错了,还是发贴失误??:)
应是ay