Programa C ++ para agregar números complejos pasando estructura a una función

Este programa toma dos números complejos como estructuras y los agrega con el uso de funciones.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de C ++:

  • Estructuras C ++
  • Estructura y función de C ++

Ejemplo: código fuente para sumar dos números complejos

 // Complex numbers are entered by the user #include using namespace std; typedef struct complex ( float real; float imag; ) complexNumber; complexNumber addComplexNumbers(complex, complex); int main() ( complexNumber num1, num2, complexSum; char signOfImag; cout << "For 1st complex number," << endl; cout << "Enter real and imaginary parts respectively:" <> num1.real>> num1.imag; cout << endl << "For 2nd complex number," << endl; cout << "Enter real and imaginary parts respectively:" <> num2.real>> num2.imag; // Call add function and store result in complexSum complexSum = addComplexNumbers(num1, num2); // Use Ternary Operator to check the sign of the imaginary number signOfImag = (complexSum.imag> 0) ? '+' : '-'; // Use Ternary Operator to adjust the sign of the imaginary number complexSum.imag = (complexSum.imag> 0) ? complexSum.imag : -complexSum.imag; cout << "Sum = " << complexSum.real << signOfImag << complexSum.imag << "i"; return 0; ) complexNumber addComplexNumbers(complex num1, complex num2) ( complex temp; temp.real = num1.real + num2.real; temp.imag = num1.imag + num2.imag; return (temp); ) 

Salida

 Ingrese partes reales e imaginarias respectivamente: 3.4 5.5 Para el segundo número complejo, ingrese partes reales e imaginarias respectivamente: -4.5 -9.5 Suma = -1.1-4i

En este programa, dos números complejos ingresados ​​por el usuario se almacenan en las estructuras num1 y num2.

Estas dos estructuras se pasan a la addComplexNumbers()función que calcula la suma y devuelve el resultado a la main()función.

Este resultado se almacena en la estructura complexSum.

Luego, el signo de la parte imaginaria de la suma se determina y se almacena en la charvariable signOfImag.

 // Use Ternary Operator to check the sign of the imaginary number signOfImag = (complexSum.imag> 0) ? '+' : '-'; 

Si la parte imaginaria de complexSum es positiva, entonces signOfImag se le asigna el valor '+'. De lo contrario, se le asigna el valor '-'.

Luego ajustamos el valor de complexSum.imag.

 /// Use Ternary Operator to adjust the sign of the imaginary number complexSum.imag = (complexSum.imag> 0) ? complexSum.imag : -complexSum.imag; 

Este código cambia complexSum.imag a positivo si se encuentra que tiene un valor negativo.

Esto se debe a que si es negativo, imprimirlo junto con signOfImag nos dará dos signos negativos en la salida.

Entonces, cambiamos el valor a positivo para evitar la repetición de signos.

Después de esto, finalmente mostramos la suma.

Articulos interesantes...