...:::Schnauzer Del Mal:::...

Mas maléfico que un perro común

  • Welcome Message

Código fuente de Dev c para realizar operaciones con números complejos, con sobre carga de operadores y con estructuras de tipo de dato

/*
Name: Practica 1
Copyright: Sabbat.Co
Author: Ky0r!
Date: 23/02/10 13:25
Description: Operaciones con números imaginarios
*/

#include "stdio.h"
#include "stdlib.h"

typedef struct
{
float real;
float imag;
}Complejo;


Complejo operator+(Complejo a,Complejo b);
Complejo operator-(Complejo a,Complejo b);
Complejo operator*(Complejo a,Complejo b);
Complejo operator/(Complejo a,Complejo b);

main ()
{
Complejo a,b,c;
int i;
printf("\n\n Programa que realiza las operaciones básicas con números complejos");
printf("\n\n Introduce la parte real de a: ");
scanf("%f",&a.real);
printf(" la parte imaginaria: ");
scanf("%f",&a.imag);
printf("\n Introduce la parte real de b: ");
scanf("%f",&b.real);
printf(" la parte imaginaria: ");
scanf("%f",&b.imag);
printf("\n\n Elige la operación que deseas realizar \n\n 1.- Suma \n 2.- Resta \n 3.- Multiplicación \n 4.- División \n\n Opción: ");
scanf("%d",&i);
switch (i)
{
default:
{
printf("\n\n Operación no valida, se terminara el programa!!! \n\n");
system("PAUSE");
break;
}
case 1:
{
c=a+b;
printf("\n\n (%f+%fi)+(%f+%fi)=%f+%fi \n\n",a.real,a.imag,b.real,b.imag,c.real,c.imag);
system("PAUSE");
break;
}
case 2:
{
c=a-b;
printf("\n\n (%f+%fi)-(%f+%fi)=%f+%fi \n\n",a.real,a.imag,b.real,b.imag,c.real,c.imag);
system("PAUSE");
break;
}
case 3:
{
c=a*b;
printf("\n\n (%f+%fi)(%f+%fi)=%f+%fi \n\n",a.real,a.imag,b.real,b.imag,c.real,c.imag);
system("PAUSE");
break;
}
case 4:
{
c=a/b;
printf("\n\n (%f+%fi)/(%f+%fi)=%f+%fi \n\n",a.real,a.imag,b.real,b.imag,c.real,c.imag);
system("PAUSE");
break;
}
}
}

Complejo operator+(Complejo a,Complejo b)
{
Complejo r;
r.real=a.real+b.real;
r.imag=a.imag+b.imag;
return (r);
}

Complejo operator-(Complejo a,Complejo b)
{
Complejo r;
r.real=a.real-b.real;
r.imag=a.imag-b.imag;
return (r);
}

Complejo operator*(Complejo a,Complejo b)
{
Complejo r;
r.real=(a.real*b.real)-(a.imag*b.imag);
r.imag=(a.real*b.imag)+(b.real*a.imag);
return (r);
}

Complejo operator/(Complejo a,Complejo b)
{
Complejo r;
r.real=((a.real*b.real)+(a.imag*b.imag))/((b.real*b.real)+(b.imag*b.imag));
r.imag=((a.imag*b.real)-(a.real*b.imag))/((b.real*b.real)+(b.imag*b.imag));
return (r);
}


Categories: ,

5 Response for the "Operaciones con imaginarios"

  1. ooooooooooooooooooorale

    que interesante >.>

  2. Ky0r! says:

    ke! u.u

  3. y si imagino que todo el mundo se va a la mierda? XD

  4. Anónimo says:

    buena

  5. Podrian explicarme por favor como funciona esta linea.
    Complejo operator+(Complejo a,Complejo b);

Publicar un comentario