thespeedracer38

Complex Number in C++ Static

Jan 14th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. class Complex{
  8.     double real;
  9.     double img;
  10. public:
  11.     Complex();
  12.     Complex(double, double);
  13.     void input();
  14.     Complex add(Complex, Complex);
  15.     Complex add(Complex, Complex, Complex);
  16.     Complex subtract(Complex, Complex);
  17.     Complex subtract(Complex, Complex, Complex);   
  18.     Complex multiply(Complex,Complex);
  19.     Complex multiply(Complex,Complex, Complex);
  20.     Complex divide(Complex, Complex);
  21.     Complex divide(Complex, Complex, Complex);
  22.     void display();
  23.     ~Complex();
  24. };
  25.  
  26. Complex::~Complex(){
  27.    
  28. }
  29.  
  30. Complex::Complex(){
  31.     real = 0.0;
  32.     img = 0.0;
  33. }
  34.  
  35. Complex::Complex(double real, double img){
  36.     this->real = real;
  37.     this->img = img;
  38. }
  39.  
  40. void Complex::input(){
  41.     cout << "Enter the real part: ";
  42.     cin >> real;
  43.     cout << "Enter the imaginary part: ";
  44.     cin >> img;
  45. }
  46.  
  47. Complex Complex::add(Complex num1, Complex num2){
  48.     Complex result;
  49.     result.real = num1.real + num2.real;
  50.     result.img = num1.img + num2.img;
  51.     return result;
  52. }
  53.  
  54. Complex Complex::add(Complex num1, Complex num2, Complex num3){
  55.     return add(add(num1, num2), num3);
  56. }
  57.  
  58. Complex Complex::subtract(Complex num1, Complex num2){
  59.     Complex result;
  60.     result.real = num1.real - num2.real;
  61.     result.img = num1.img - num2.img;
  62.     return result;
  63. }
  64.  
  65. Complex Complex::subtract(Complex num1, Complex num2, Complex num3){
  66.     return subtract(subtract(num1, num2), num3);
  67. }
  68.  
  69. Complex Complex::multiply(Complex num1, Complex num2){
  70.     Complex result;
  71.     result.real = (num1.real * num2.real) - (num1.img * num2.img);
  72.     result.img = (num1.real * num2.img) + (num2.real * num1.img);
  73.     return result;
  74. }
  75.  
  76. Complex Complex::multiply(Complex num1, Complex num2, Complex num3){
  77.     return multiply(multiply(num1, num2), num3);
  78. }
  79.  
  80. Complex Complex::divide(Complex num1, Complex num2){
  81.     Complex result;
  82.     result.real = ((num1.real * num2.real) + (num1.img * num2.img))
  83.                     /(pow(num2.real, 2) - pow(num2.img, 2));
  84.     result.img = ((num2.real * num1.img) - (num1.real * num2.img))
  85.                     /(pow(num2.real, 2) - pow(num2.img, 2));
  86.     return result;
  87. }
  88.  
  89. Complex Complex::divide(Complex num1, Complex num2, Complex num3){
  90.     return divide(divide(num1, num2), num3);
  91. }
  92.  
  93. void Complex::display(){
  94.     cout << real << " + i" << img << endl;
  95. }
  96.  
  97. int main() {
  98.     system("cls");
  99.     cout << "For complex number 1" << endl;
  100.     Complex num1;double real, img;
  101.     num1.input();
  102.     cout << "For complex number 2" << endl;
  103.     cout << "Enter the real part: ";
  104.     cin >> real;
  105.     cout << "Enter the imaginary part: ";
  106.     cin >> img;
  107.     Complex num2(real, img);
  108.     Complex sum = num1.add(num1, num2);
  109.     Complex diff = num1.subtract(num1, num2);
  110.     Complex prod = num1.multiply(num1, num2);
  111.     Complex quot = num1.divide(num1, num2);
  112.     cout << "Sum" << endl;
  113.     sum.display();
  114.     cout << "Product" << endl;
  115.     prod.display();
  116.     cout << "Difference" << endl;
  117.     diff.display();
  118.     cout << "Division" << endl;
  119.     quot.display();
  120.     cin.ignore();
  121.     cin.get();
  122.     return 0;
  123. }
Add Comment
Please, Sign In to add comment