C ++ program komplex számok hozzáadásához struktúra átadásával egy függvényhez

Ez a program két összetett számot vesz fel struktúraként, és a függvények használatával hozzáadja őket.

A példa megértéséhez ismernie kell a következő C ++ programozási témákat:

  • C ++ struktúrák
  • C ++ felépítése és funkciója

Példa: Forráskód két összetett szám hozzáadásához

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

Kimenet

 Adja meg a valós és a képzeletbeli részeket: 3,4 5,5 A 2. komplex szám esetén adja meg a valós és a képzeletbeli részeket: -4,5 -9,5 Összeg = -1,1-4i

Ebben a programban a felhasználó által beírt két összetett számot a num1 és a num2 struktúrák tárolják.

Ezt a két struktúrát átadják a addComplexNumbers()függvénynek, amely kiszámítja az összeget és az eredményt visszaadja a main()függvénynek.

Ezt az eredményt a complexSum struktúra tárolja.

Ezután meghatározzuk az összeg képzeletbeli részének előjelét és eltároljuk a charsignOfImag változóban.

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

Ha a complexSum képzeletbeli része pozitív, akkor a signOfImag értéket kapja '+'. Egyébként hozzá van rendelve az érték '-'.

Ezután beállítjuk a complexSum.imag értékét.

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

Ez a kód a complexSum.imag-ot pozitívra változtatja, ha kiderül, hogy negatív értékű.

Ez azért van, mert ha negatív, akkor a signOfImag mellé nyomtatva két negatív előjelet kapunk a kimenetben.

Tehát az értéket pozitívra változtatjuk, hogy elkerüljük a jelismétlődést.

Ezek után végül megjelenítjük az összeget.

érdekes cikkek...