Programa C ++ para adicionar números complexos ao passar estrutura para uma função

Este programa pega dois números complexos como estruturas e os adiciona com o uso de funções.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C ++:

  • Estruturas C ++
  • Estrutura e função C ++

Exemplo: código-fonte para adicionar dois números complexos

 // 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); ) 

Resultado

 Insira as partes reais e imaginárias respectivamente: 3,4 5,5 Para o segundo número complexo, insira as partes reais e imaginárias respectivamente: -4,5 -9,5 Soma = -1,1-4i

Neste programa, dois números complexos inseridos pelo usuário são armazenados nas estruturas num1 e num2.

Essas duas estruturas são passadas para a addComplexNumbers()função que calcula a soma e retorna o resultado para a main()função.

Este resultado é armazenado na estrutura complexSum.

Em seguida, o sinal da parte imaginária da soma é determinado e armazenado na charvariável signOfImag.

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

Se a parte imaginária de complexSum for positiva, o valor será atribuído a signOfImag '+'. Caso contrário, é atribuído o valor '-'.

Em seguida, ajustamos o 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 altera complexSum.imag para positivo se for considerado de valor negativo.

Isso ocorre porque se for negativo, imprimi-lo junto com signOfImag nos dará dois sinais negativos na saída.

Portanto, alteramos o valor para positivo para evitar a repetição do sinal.

Depois disso, finalmente exibimos a soma.

Artigos interessantes...