Program C ++ pentru a adăuga numere complexe prin trecerea structurii la o funcție

Acest program ia două numere complexe ca structuri și le adaugă cu utilizarea funcțiilor.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C ++:

  • Structuri C ++
  • Structura și funcția C ++

Exemplu: Cod sursă pentru a adăuga două numere complexe

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

Ieșire

 Introduceți părți reale și respectiv imaginare: 3.4 5.5 Pentru al doilea număr complex, introduceți părți reale și respectiv imaginare: -4.5 -9.5 Suma = -1.1-4i

În acest program, două numere complexe introduse de utilizator sunt stocate în structurile num1 și num2.

Aceste două structuri sunt transmise addComplexNumbers()funcției care calculează suma și returnează rezultatul main()funcției.

Acest rezultat este stocat în structura complexSum.

Apoi, semnul părții imaginare a sumei este determinat și stocat în charvariabila signOfImag.

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

Dacă partea imaginară din complexSum este pozitivă, atunci semnOfImag i se atribuie valoarea '+'. Altfel, i se atribuie valoarea '-'.

Apoi ajustăm valoarea complexSum.imag.

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

Acest cod schimbă complexSum.imag în pozitiv dacă se constată că are o valoare negativă.

Acest lucru se datorează faptului că, dacă este negativ, imprimarea acestuia împreună cu signOfImag ne va da două semne negative în ieșire.

Deci, schimbăm valoarea în pozitiv pentru a evita repetarea semnelor.

După aceasta, în cele din urmă afișăm suma.

Articole interesante...