Advertisement
Durandaloueuse

Untitled

Oct 19th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct ComplexNum {
  6.     double Real, Imagine;
  7. };
  8. ComplexNum ComplexSum (const ComplexNum &X, const ComplexNum &Y) {
  9.     ComplexNum Z;
  10.     Z.Real = X.Real + Y.Real;
  11.     Z.Imagine = X.Imagine + Y.Imagine;
  12.     return Z;
  13.  
  14. }
  15. ComplexNum ComplexDif (const ComplexNum &X, const ComplexNum &Y) {
  16.     ComplexNum Z;
  17.     Z.Real = X.Real - Y.Real;
  18.     Z.Imagine = X.Imagine - Y.Imagine;
  19.     return Z;
  20.  
  21. }
  22. ComplexNum ComplexMult (const ComplexNum &X, const ComplexNum &Y) {
  23.     ComplexNum Z;
  24.     Z.Real = X.Real * Y.Real - X.Imagine * Y.Imagine ;
  25.     Z.Imagine = X.Real * Y.Imagine + X.Imagine * Y.Real;
  26.     return Z;
  27.  
  28. }
  29. ComplexNum ComplexDiv (const ComplexNum &X, const ComplexNum &Y) {
  30.     ComplexNum Z;
  31.     Z.Real = (X.Real * Y.Real + X.Imagine * Y.Imagine) / (Y.Real * Y.Real + Y.Imagine * Y.Imagine ) ;
  32.     Z.Imagine = (X.Imagine * Y.Real - X.Real * Y.Imagine) / (Y.Real * Y.Real + Y.Imagine * Y.Imagine ) ;
  33.     return Z;
  34.  
  35. }
  36. int main()
  37. {
  38.     cout << "Please enter the first expression: \n";
  39.     ComplexNum A;
  40.     cin >> A.Real >> A.Imagine;
  41.     cout << "Please enter the second expression: \n";
  42.     ComplexNum B;
  43.     cin >> B.Real >> B.Imagine;
  44.     cout << "OK, please enter the operation ( + ,- ,* , / ): \n";
  45.     char Operation;
  46.     cin >> Operation;
  47.     ComplexNum C;
  48.     switch (Operation) {
  49.         case '-':
  50.             C = ComplexDif(A, B);
  51.             cout << "a - b = " << C.Real << ' ' << C.Imagine <<'\n';
  52.             break;
  53.         case '+':
  54.             C = ComplexSum(A, B);
  55.             cout << "a + b = " << C.Real << ' ' << C.Imagine <<'\n';
  56.             break;
  57.             case '*':
  58.             C = ComplexMult(A, B);
  59.             cout << "a * b = " << C.Real << ' ' << C.Imagine <<'\n';
  60.             break;
  61.             case '/':
  62.             C = ComplexDiv(A, B);
  63.             cout << "a / b = " << C.Real << ' ' << C.Imagine <<'\n';
  64.             break;
  65.     }
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement