Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct ComplexNum {
- double Real, Imagine;
- };
- ComplexNum ComplexSum (const ComplexNum &X, const ComplexNum &Y) {
- ComplexNum Z;
- Z.Real = X.Real + Y.Real;
- Z.Imagine = X.Imagine + Y.Imagine;
- return Z;
- }
- ComplexNum ComplexDif (const ComplexNum &X, const ComplexNum &Y) {
- ComplexNum Z;
- Z.Real = X.Real - Y.Real;
- Z.Imagine = X.Imagine - Y.Imagine;
- return Z;
- }
- ComplexNum ComplexMult (const ComplexNum &X, const ComplexNum &Y) {
- ComplexNum Z;
- Z.Real = X.Real * Y.Real - X.Imagine * Y.Imagine ;
- Z.Imagine = X.Real * Y.Imagine + X.Imagine * Y.Real;
- return Z;
- }
- ComplexNum ComplexDiv (const ComplexNum &X, const ComplexNum &Y) {
- ComplexNum Z;
- Z.Real = (X.Real * Y.Real + X.Imagine * Y.Imagine) / (Y.Real * Y.Real + Y.Imagine * Y.Imagine ) ;
- Z.Imagine = (X.Imagine * Y.Real - X.Real * Y.Imagine) / (Y.Real * Y.Real + Y.Imagine * Y.Imagine ) ;
- return Z;
- }
- int main()
- {
- cout << "Please enter the first expression: \n";
- ComplexNum A;
- cin >> A.Real >> A.Imagine;
- cout << "Please enter the second expression: \n";
- ComplexNum B;
- cin >> B.Real >> B.Imagine;
- cout << "OK, please enter the operation ( + ,- ,* , / ): \n";
- char Operation;
- cin >> Operation;
- ComplexNum C;
- switch (Operation) {
- case '-':
- C = ComplexDif(A, B);
- cout << "a - b = " << C.Real << ' ' << C.Imagine <<'\n';
- break;
- case '+':
- C = ComplexSum(A, B);
- cout << "a + b = " << C.Real << ' ' << C.Imagine <<'\n';
- break;
- case '*':
- C = ComplexMult(A, B);
- cout << "a * b = " << C.Real << ' ' << C.Imagine <<'\n';
- break;
- case '/':
- C = ComplexDiv(A, B);
- cout << "a / b = " << C.Real << ' ' << C.Imagine <<'\n';
- break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement