Aim: To implement a program to add two polar coordinates using operator overloading.
Code:
#define PI 3.14
class polar
{
double theta;
double r;
public:
void getdata();
void display();
double convert(double);
double revert(double);
polar operator+(polar p2);
};
void polar::display()
{
double t;
cout<
}
double polar::convert(double t)
{
double x;
x=(PI/180)*t;
return(x);
}
double polar::revert(double t)
{
double x;
x=(180*t)/PI;
return (x);
}
void polar::getdata()
{
double t;
cout<<"Enter value of 'r':";
cin>>r;
cout<<"Enter value of 'é':";
cin>>theta;
}
polar polar::operator+(polar p2)
{
polar p3;
double x,y,t1,t2,t;
t1=convert(theta);
t2=convert(p2.theta);
x=(r*cos(t1))+(p2.r*(cos(t2)));
y=(r*sin(t1))+(p2.r*(sin(t2)));
t=atan(y/x);
p3.theta=revert(t);
p3.r=sqrt((x*x)+(y*y));
return(p3);
}
void main()
{
polar p1,p2,p3;
clrscr();
p1.getdata();
p2.getdata();
cout<
p1.display();
cout<<"\nB:";
p2.display();
p3=p1+p2;
cout<<"\n\nAfter addition:\n\nA + B = ";
p3.display();
getch();
}
Output:
Enter value of 'r':1
Enter value of 'Θ':45
Enter value of 'r':1
Enter value of 'Θ':45
A:1 cos 45° + 1 sin 45°
B:1 cos 45° + 1 sin 45°
After addition:
A + B = 2 cos 45° + 2 sin 45°