C ++ - programma om complexe getallen toe te voegen door structuur aan een functie door te geven

Dit programma neemt twee complexe getallen als structuren en voegt ze toe met behulp van functies.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C ++ programmeeronderwerpen:

  • C ++ -structuren
  • C ++ structuur en functie

Voorbeeld: broncode om twee complexe getallen toe te voegen

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

Uitvoer

 Voer respectievelijk reële en imaginaire delen in: 3,4 5,5 Voor 2e complex getal, voer respectievelijk reële en imaginaire delen in: -4,5 -9,5 Som = -1,1-4i

In dit programma worden twee complexe getallen ingevoerd door de gebruiker opgeslagen in de structuren num1 en num2.

Deze twee structuren worden doorgegeven aan de addComplexNumbers()functie die de som berekent en het resultaat aan de main()functie retourneert .

Dit resultaat wordt opgeslagen in de structuur complexSum.

Vervolgens wordt het teken van het imaginaire deel van de som bepaald en opgeslagen in de charvariabele signOfImag.

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

Als het imaginaire deel van complexSum positief is, wordt aan signOfImag de waarde toegewezen '+'. Anders krijgt het de waarde toegewezen '-'.

Vervolgens passen we de waarde van complexSum.imag aan.

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

Deze code verandert complexSum.imag in positief als blijkt dat deze een negatieve waarde heeft.

Dit komt omdat als het negatief is, het afdrukken ervan samen met signOfImag ons twee negatieve tekens in de uitvoer geeft.

We veranderen de waarde dus in positief om herhaling van tekens te voorkomen.

Hierna geven we eindelijk de som weer.

Interessante artikelen...