Учебный пример работы с комплексными числами

#include <iostream.h>
struct Complex  // структура "хранения" комплексного числа
{   float re;   // действительная часть
    float im;   // мнимая часть
};


void print( char * txt, Complex x)  // вывод комплексного числа
{
   printf("%s=(%f,%fi)", txt, x.re, x.im);
   return;
};
Complex new_Complex(float a, float b)   // задать значение комплексному числу
{  Complex temp;
   temp.re=a;
   temp.im=b;
   return temp;
};
Complex plus_Complex(Complex a, Complex b)  // сложить два комплексных чисел
{ Complex temp;
  temp.re=a.re+b.re;
  temp.im=a.im+b.im;
  return temp;
}

int main() // простая тестовая программа
{
Complex z;
z.re=1;
z.im=2;
print( "z", z); printf("\n");
Complex q;
q=new_Complex(5,25);
print("q", q); printf("\n");
Complex sum;
sum=plus_Complex(z,q);
print("q+z", sum); printf("\n");
return 0;
}