Menú de operaciones con complejos

Jonathan Ráfales

/* Este programa te permite elegir entre diversas operaciones
(suma, producto y división) de dos complejos dados. */

#include <iostream>

using namespace std;

struct complejo
{
float real;
float imaginario;
};
typedef struct complejo Complejo;

void leer_compl(Complejo *);
void escribir_comp(Complejo);
Complejo suma(Complejo,Complejo);
Complejo producto(Complejo,Complejo);
Complejo division(Complejo,Complejo);

int main()
{
Complejo s;
Complejo t;
int p;
Complejo d;
Complejo q;
Complejo m;
cout << "En primer lugar vamos a introducir el primer complejo:\n\n";
leer_compl(&s);
escribir_comp(s);
cout << "\n\nAhora vamos a introducir el segundo complejo:\n\n";
leer_compl(&t);
escribir_comp(t);
cout << "\n\nA continuacion ofrecemos el menu de las operaciones a elegir.\n";
cout << "\n1. Suma.\n";
cout << "\n2. Producto.\n";
cout << "\n3. Division.\n";
cout << "\nEscribe el numero que corresponde a la operacion que quieres realizar:";
cin >> p;

switch(p)
{
case 1:
d=suma(s,t);
cout << "\nLa suma de los complejos dados es: " << d.real << " + i" << d.imaginario << "\n";
break;

case 2:
q=producto(s,t);
cout << "\nEl producto de los complejos dados es: " << q.real << " + i" << q.imaginario << "\n";
break;

case 3:
m=division(s,t);
cout << "\nLa division de los complejos dados es: " << m.real << " + i" << m.imaginario << "\n";
break;
}
return 0;
}

void leer_compl(Complejo *s)
{
cout << "Dame parte real de tu complejo: ";
cin >> s->real;
cout << "\nDame parte imaginaria de tu complejo: ";
cin >> s->imaginario;
return;
}

void escribir_comp(Complejo s)
{
cout << "\nTu complejo es el siguiente: ";
cout << s.real << " + i" << s.imaginario;
return;
}

Complejo suma(Complejo m, Complejo n)
{
Complejo s;
s.real=m.real+n.real;
s.imaginario=m.imaginario+n.imaginario;
return s;
}

Complejo producto(Complejo m, Complejo n)
{
Complejo s;
s.real=m.real*n.real-m.imaginario*n.imaginario;
s.imaginario=m.imaginario*n.real+m.real*n.imaginario;
return s;
}

Complejo division(Complejo m, Complejo n)
{
Complejo s;
float v;
v=n.real*n.real+n.imaginario*n.imaginario;
s.real=(m.real*n.real+m.imaginario*n.imaginario)/v;
s.imaginario=(m.imaginario*n.real-m.real*n.imaginario)/v;
return s;
}
Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Menú de operaciones con complejos

  1. No usas la función escribir_comp(), aunque se supone que la usarías en los casos 1-2-3.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s