/*complessi.cpp*/

/* Dichiarazione di una struttura in grado di contenere un numero complesso */

#include <iostream>
using namespace std;

struct complesso {
double R, I;
};

// Somma di due numeri complessi.
// Sfrutta le proprietà di copia delle strutture
complesso somma (complesso C1, complesso C2)
{
complesso C;
C.R = C1.R + C2.R;
C.I = C1.I + C2.I;
return C;
}

int main (void)
{
//Dichiarazione di tre numeri complessi
complesso A, B, C;

// Inserimento di valori nel primo numero
A.R = 1;
A.I = 2;

// Copia del primo numero nel secondo
B = A;

// Somma dei due numeri e copia del risultato in C
C = somma (A, B);

// Scrittura del risultato
cout << C.R << "+i" << C.I << endl;

return 0;
}