实现一个Point类,采用多文件结构存放:
该类的数据成员只有四个:直角坐标(横与纵坐标,整型数据)、极坐标(角度与极半径,浮点型数据)
创建类对象时,必须给定直角坐标和极坐标中一个
成员函数要求能够实现两种坐标间的换算,并输出直角坐标和极坐标计算
//头文件.h
#ifndef _POINT_H_
#define _POINT_H_
#include<math.h>
#include<iostream>
#include<cstdio>
#define PI 3.1415926
using namespace std;
class Point{
public:
void ZHIJIAO();
void JI();
void CINXY();
void CINAP();
int x,y;
double angle,p;
};
#endif
//成员函数.cpp
#include<iostream>
#include"point.h"
using namespace std;
void Point::JI() {
angle=sqrt(x*x+y*y);
p=atan(y/1.0/x)*(180.0/PI);
}
void Point::ZHIJIAO(){
x=p*cos(angle*PI/180.0);
y=p*sin(angle*PI/180.0);
}
void Point::CINXY(){
cin>>x>>y;
}
void Point::CINAP(){
cin>>p>>angle;
}
//主函数.cpp
#include<iostream>
#include"point.h"
#include"point.cpp"
using namespace std;
int main()
{
int i;
Point point;
cout<<"直角坐标转为极坐标请输入1,极坐标转为直角坐标请输入0\n"<<endl;
cin>>i;
if(i==1){
point.CINXY();
point.JI();
printf("极坐标为:(%.1f,%.1f)", point.p, point.angle);
}else{
point.CINAP();
point.ZHIJIAO();
cout<<"直角坐标为:"<<"("<<point.x<<","<<point.y<<")"<<endl;
}
return 0;
}