In: Computer Science
Please refer to screenshots
Code



Output


Code to copy
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
// structure to hold complex number
struct complexnumber{
    double real;
    double imaginary;
};
complexnumber add(complexnumber a, complexnumber b){
    complexnumber z;
    z.real = a.real + b.real; // calculating real
part
    z.imaginary = a.imaginary + b.imaginary; //
calculating imaginary part
  
    return z;
}
complexnumber subtract(complexnumber a, complexnumber b){
    complexnumber z;
    z.real = a.real - b.real; // calculating real
part
    z.imaginary = a.imaginary - b.imaginary; //
calculating imaginary part
  
    return z;
}
complexnumber multiply(complexnumber a, complexnumber b){
    complexnumber z;
  
    // calculating real part
    z.real = (a.real * b.real) - (a.imaginary *
b.imaginary);
  
    // calculating imaginary part
    z.imaginary = (a.real + a.imaginary) * (b.real +
b.imaginary);
    z.imaginary = z.imaginary - ((a.real * b.real) +
(a.imaginary * b.imaginary));
  
    return z;
}
complexnumber divide(complexnumber a, complexnumber b){
    // denominator of result, common for real and
imaginary part
    double den = (b.real * b.real) + (b.imaginary *
b.imaginary);
  
    complexnumber z;
  
    // calculating real part
    z.real = (a.real * b.real) + (a.imaginary *
b.imaginary);
    z.real = z.real / den;
  
    // calculating imaginary part
    z.imaginary = (a.imaginary * b.real) - (a.real *
b.imaginary);
    z.imaginary = z.imaginary / den;
  
    return z;
}
void calculator(){
    cout<<"Welcome to complex number
calculator\n\n";
  
    cout<<"1 for Addition\n";
    cout<<"2 for Subtration\n";
    cout<<"3 for Multiplication\n";
    cout<<"4 for Division\n";
  
    complexnumber a, b;
  
    // Input first number
    cout<<"Enter First Complex
Number\n";
    cout<<"Enter Real Part: ";
    cin>>a.real;
    cout<<"Enter Imaginary Part: ";
    cin>>a.imaginary;
  
    // Input second number
    cout<<"Enter Second Complex
Number\n";
    cout<<"Enter Real Part: ";
    cin>>b.real;
    cout<<"Enter Imaginary Part: ";
    cin>>b.imaginary;
  
    cout<<"\nChoose your operation\n";
  
    int ch;
    cin>>ch; // input choice
  
    complexnumber z;
  
    switch(ch){
        // if user choose
addition
        case 1: z = add(a,
b);
               
break;
              
               
// if user choose subtract
        case 2: z = subtract(a,
b);
               
break;
              
               
// if user choose multiply
        case 3: z = multiply(a,
b);
               
break;
              
               
// if user choose division
        case 4: z = divide(a,
b);
               
break;
              
               
// If user choose invalid option
        default:
cout<<"Invalid Operation\n";
               
return;
    }
  
    cout<<"Result of operation is\n";
    cout<< fixed << setprecision(1); //
setting precision to one decimal point
    cout<<z.real;
  
    if(z.imaginary < 0){
        z.imaginary *= -1; // if
imaginary part is negative
        cout<<" - ";
    } else {
        cout<<" + "; // if
imaginary part is positive
    }
  
    cout<<z.imaginary<<'\n'; // printing
imaginary part
}
int main(){
    calculator();
  
    return 0;
}
Thank you