C ++ - program til at tilføje komplekse numre ved at overføre struktur til en funktion

Dette program tager to komplekse tal som strukturer og tilføjer dem ved brug af funktioner.

For at forstå dette eksempel skal du have kendskab til følgende C ++ programmeringsemner:

  • C ++ strukturer
  • C ++ struktur og funktion

Eksempel: Kildekode for at tilføje to komplekse numre

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

Produktion

 Indtast henholdsvis reelle og imaginære dele: 3.4 5.5 For henholdsvis 2. komplekse tal skal du indtaste reelle og imaginære dele: -4.5 -9.5 Sum = -1.1-4i

I dette program er to komplekse tal, der er indtastet af brugeren, gemt i strukturerne num1 og num2.

Disse to strukturer sendes til addComplexNumbers()funktion, der beregner summen og returnerer resultatet til main()funktionen.

Dette resultat lagres i strukturen complexSum.

Derefter bestemmes tegnet på den imaginære del af summen og lagres i charvariablen signOfImag.

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

Hvis den imaginære del af complexSum er positiv, tildeles signOfImag værdien '+'. Ellers tildeles den værdien '-'.

Vi justerer derefter værdien af ​​complexSum.imag.

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

Denne kode ændrer complexSum.imag til positiv, hvis den viser sig at være af negativ værdi.

Dette skyldes, at hvis det er negativt, vil udskrivning af det sammen med signOfImag give os to negative tegn i output.

Så vi ændrer værdien til positiv for at undgå gentagelse af tegn.

Herefter viser vi endelig summen.

Interessante artikler...