#include <stdio.h>
#include <stdlib.h>
struct ncomplejos {
int reales;
int imaginarios;
};
void pausa ();
int main() {
int opciones, n1, n2, n3;
struct ncomplejos a, b, x;
system("clear");
while(1) {
printf("Numero complejos\n");
printf("1. Sumar números\n");
printf("2. Restar numero\n");
printf("3. Multiplicar números\n");
printf("4. Dividir números\n");
printf("5. Presione para salir\n");
printf("Seleccione una opción: ");
scanf("%d", &opciones);
if( opciones == 5 )
exit(0);
if( opciones >= 1 && opciones <= 4 ) {
system("clear");
printf("Por favor introduzca el valor de A y B donde (A+iB) es el primer numero complejo\n");
printf("A: ");
scanf("%d",&a.reales);
printf("B: ");
scanf("%d",&a.imaginarios);
printf("Por favor introduzca el valor de X y Y donde (X+iY) es el segundo numero complejo.\n");
printf("X: ");
scanf("%d", &b.reales);
printf("Y: ");
scanf("%d", &b.imaginarios);
}
if( opciones == 1) {
x.reales = a.reales + b.reales;
x.imaginarios = a.imaginarios + b.imaginarios;
if( x.imaginarios >= 0 )
printf("La sumatoria de dos numero complejos es: %d + %di",x.reales,x.imaginarios);
else
printf("La sumatoria de dos numero complejos es: %d %di",x.reales,x.imaginarios);
pausa ();
}
else if( opciones == 2) {
x.reales = a.reales - b.reales;
x.imaginarios = a.imaginarios - b.imaginarios;
if( x.imaginarios >= 0 )
printf("La resta de dos numero complejos es: %d + %di",x.reales,x.imaginarios);
else
printf("La resta de dos numero complejos es: %d %di",x.reales,x.imaginarios);
pausa ();
}
else if( opciones == 3) {
x.reales = a.reales*b.reales - a.imaginarios*b.imaginarios;
x.imaginarios = a.imaginarios*b.reales + a.reales*b.imaginarios;
if( x.imaginarios >= 0)
printf("La multiplicación de dos numero complejos es: %d + %di",x.reales,x.imaginarios);
else
printf("La multiplicación de dos numero complejos es: %d %di",x.reales,x.imaginarios);
pausa ();
}
else if( opciones == 4) {
if( b.reales = 0 && b.imaginarios == 0)
printf("División de 0 no permitida.");
else {
n1 = a.reales*b.reales + a.imaginarios*b.imaginarios;
n2 = a.imaginarios*b.reales - a.reales+b.imaginarios;
n3 = b.reales*a.reales + b.imaginarios*b.imaginarios;
if( n1%n3 == 0 && n2%n3 == 0){
if( n2/n3 >=0 )
printf("La división de dos numero complejos es: %d + %di",n1/n3,n2/n3);
else
printf("La división de dos numero complejos es: %d %di",n1/n3,n2/n3);
pausa ();
}
else if( n1%n3 == 0 && n2%n3 != 0 ) {
if( n2/n3 >= 0)
printf("La división de dos numero complejos es: %d + %d/%di",n1/n3,n2,n3);
else
printf("La división de dos numero complejos es: %d %d/%di",n1/n3,n2,n3);
pausa ();
}
else if( n1%n3 != 0 && n2%n3 == 0 ) {
if( n2/n3 >= 0)
printf("La división de dos numero complejos es: %d/%d + %di",n1,n3,n2/n3);
else
printf("La división de dos numero complejos es: %d %d/%di",n1,n3,n2/n3);
pausa ();
}
else {
if( n2/n3 >= 0)
printf("La división de dos numero complejos es: %d/%d + %d/%di",n1,n3,n2,n3);
else
printf("La división de dos numero complejos es: %d/%d %d/%di",n1,n3,n2,n3);
pausa ();
}
}
}
else
printf("Opción invalida.\n");
printf("Vuelva a seleccionar una opción.\n\n");
}
}
void pausa () {
printf("\nPresione ENTER para volver al menú anterior");
getchar();
getchar();
system("clear");
}