Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
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°
}
double polar::convert(double t)
double x;
x=(PI/180)*t;
return(x);
double polar::revert(double t)
x=(180*t)/PI;
return (x);
void polar::getdata()
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°
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
A:1 cos 45° + 1 sin 45°
B:1 cos 45° + 1 sin 45°
After addition:
A + B = 2 cos 45° + 2 sin 45°
Syntax rules for writing constructor functions Its name must be similar as that of the class to which it belongs. It is declared with no return type (not even void). Ho
Determine the types of Container class Container class can be of 2 types: - Heterogeneous container - Here container class comprise a group of mixed objects - Homogeneou
Define virtual function?
#A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concatenation. For a string of
Write out pseudocode for a function called "and" that takes two arguments, both booleans, and returns the logical and of the inputs. DO NOT use the logical and operator: instead, w
The probabilistic Hough transform uses random sampling instead of an accumulator array. In this approach the number of random samples r, is not specified in the OpenCV call, but is
Problem #1: plugging the memory leak. When you employ the "normal" new operator, for example Foo* p = new Foo(), the compiler generates some special code to manage the case while t
develop a C program for Linux called pipes.c that does the following: In the main() function, it creates a pipe using the pipe() function, then creates two child processes with
For this program you will add and test 2 new member functions to the IntSLList class posted on the website. The two member functions are: insertByPosn(int el, int pos) Assuming t
what do you mean by control word
Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd