Програма C ++ за добавяне на сложни числа чрез предаване на структура на функция

Тази програма приема две сложни числа като структури и ги добавя с помощта на функции.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:

  • С ++ структури
  • Структура и функция на C ++

Пример: Изходен код за добавяне на две сложни числа

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

Изход

 Въведете съответно реални и въображаеми части: 3.4 5.5 За 2-ро комплексно число въведете съответно реални и въображаеми части: -4.5 -9.5 Сума = -1.1-4i

В тази програма две сложни числа, въведени от потребителя, се съхраняват в структурите num1 и num2.

Тези две структури се предават на addComplexNumbers()функция, която изчислява сумата и връща резултата на main()функцията.

Този резултат се съхранява в структурата complexSum.

След това знакът на въображаемата част от сумата се определя и съхранява в charпроменливата signOfImag.

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

Ако имагинерната част на complexSum е положителна, тогава на signOfImag се присвоява стойността '+'. В противен случай му се присвоява стойността '-'.

След това коригираме стойността на complexSum.imag.

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

Този код променя complexSum.imag на положителен, ако се установи, че има отрицателна стойност.

Това е така, защото ако е отрицателно, тогава отпечатването му заедно със signOfImag ще ни даде два отрицателни знака в изхода.

И така, променяме стойността на положителна, за да избегнем повторение на знака.

След това накрая показваме сумата.

Интересни статии...