C ++ program za dodavanje složenih brojeva prosljeđivanjem strukture funkciji

Ovaj program uzima dva složena broja kao strukture i dodaje ih uz upotrebu funkcija.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja na C ++:

  • C ++ strukture
  • Struktura i funkcija C ++

Primjer: Izvorni kod za dodavanje dva složena broja

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

Izlaz

 Unesite stvarne, odnosno imaginarne dijelove: 3,4 5,5 Za 2. kompleksni broj unesite realne i imaginarne dijelove: -4,5 -9,5 Zbroj = -1,1-4i

U ovom se programu dva složena broja koja je korisnik unio pohranjuju u strukture num1 i num2.

Te dvije strukture prosljeđuju se addComplexNumbers()funkciji koja izračunava zbroj i vraća rezultat main()funkciji.

Ovaj rezultat pohranjen je u strukturi complexSum.

Zatim se određuje znak imaginarnog dijela zbroja i pohranjuje u charvarijablu signOfImag.

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

Ako je imaginarni dio complexSum pozitivan, tada se signOfImag dodjeljuje vrijednost '+'. Inače, dodjeljuje joj se vrijednost '-'.

Zatim podešavamo vrijednost complexSum.imag.

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

Ovaj kod mijenja complexSum.imag u pozitivnu ako se utvrdi da ima negativnu vrijednost.

To je zato što ako je negativan, tada će nam ispis zajedno s signOfImag dati dva negativna predznaka u izlazu.

Dakle, vrijednost mijenjamo u pozitivnu kako bismo izbjegli ponavljanje znakova.

Nakon ovoga napokon prikazujemo zbroj.

Zanimljivi članci...