下列程序有几个错误,请修正,并运行,写出执行结果。 #include <iostream> #include <cmath> using namespace std; class point { public: void set(double ix,double iy) { x=ix; y=iy; } double xoffset() { return x; } double yoffset() { return y; } double angle() { return (180/3.14159)*atan2(y,x); } double radius() { return sqrt(x*x+y*y); } protected: double x; double y; } int main() { point p; double x,y; cout<<"Enter x and y:\n";cin>>x>>y; p.set(x,y); p.x+=5; p.y+=6; cout<<"angle="<<p.angle() <<",radius="<<p.radius() <<",xoffset="<<p.xoffset() <<",yoffset=<<p.yoffset()"<<endl; return 0; }
时间: 2024-01-18 16:04:57 浏览: 62
代码中有两个错误:
1. 类定义中缺少一个分号;
2. 在 main 函数中,输出 p.yoffset() 的语句中,字符串中的引号没有匹配。
修改后的代码如下:
```
#include <iostream>
#include <cmath>
using namespace std;
class point {
public:
void set(double ix,double iy) {
x=ix;
y=iy;
}
double xoffset() {
return x;
}
double yoffset() {
return y;
}
double angle() {
return (180/3.14159)*atan2(y,x);
}
double radius() {
return sqrt(x*x+y*y);
}
protected:
double x;
double y;
}; // 此处需要加上分号
int main() {
point p;
double x,y;
cout<<"Enter x and y:\n";cin>>x>>y;
p.set(x,y);
p.x+=5;
p.y+=6;
cout<<"angle="<<p.angle() <<",radius="<<p.radius() <<",xoffset="<<p.xoffset() <<",yoffset="<<p.yoffset()<<endl;
return 0;
}
```
执行结果为:
```
Enter x and y:
3 4
angle=53.1301,radius=10,xoffset=8,yoffset=10
```
阅读全文