#include <stdio.h>
#include <math.h>

typedef struct st_complejo{
    float r;
    float i;
}complejo;

complejo suma(complejo z1, complejo z2);
void mostrar_complejo(complejo z);
float modulo_complejo(complejo z);

int main()
{
    complejo z1, z2;
    printf("Ingrese parte real del complejo 1: ");
    scanf("%f", &z1.r);
    printf("Ingrese parte imaginaria del complejo 1: ");
    scanf("%f", &z1.i);
    printf("\nIngrese parte real del complejo 2: ");
    scanf("%f", &z2.r);
    printf("Ingrese parte imaginaria del complejo 2: ");
    scanf("%f", &z2.i);
    printf("\nLos complejos ingresados son:\n");
    mostrar_complejo(z1);
    mostrar_complejo(z2);
    printf("La suma de los complejos es:\n");
    mostrar_complejo(suma(z1,z2));
    printf("El m%cdulo del primer complejo ingresado es:\n"
           "%f\n\n", 162, modulo_complejo(z1));
    system("pause");
    return 0;
}

complejo suma(complejo z1, complejo z2)
{
    complejo suma;
    suma.r=z1.r+z2.r;
    suma.i=z1.i+z2.r;
    return suma;
}

void mostrar_complejo(complejo z)
{
    printf("%f + %fi\n\n", z.r, z.i);
}

float modulo_complejo(complejo z)
{
    float mod;
    mod=sqrt(z.r*z.r+z.i*z.i);
    return mod;
}
