/// <summary> /// Divide una cantidad de dinero por el valor que le pasemos /// </summary> /// <param name="din1">Dinero</param> /// <param name="valor">Valor por el que será dividido</param> /// <returns></returns> public static Dinero operator /(Dinero din1, decimal valor) { Dinero resultado; decimal cant; cant = din1.Cantidad / valor; resultado = new Dinero(cant, din1.Moneda); return(resultado); }
/// <summary> /// Resta dos cantidades de dinero. /// </summary> /// <param name="din1">Dinero1</param> /// <param name="din2">Dinero2</param> /// <returns></returns> public static Dinero operator -(Dinero din1, Dinero din2) { decimal cant; Dinero resultado; if (din1.Moneda == din2.Moneda) { cant = din1.Cantidad + din2.Cantidad; resultado = new Dinero(cant, din1.Moneda); } else { cant = din1.Cantidad + din2.ValorEn(din1.Moneda); resultado = new Dinero(cant, din1.Moneda); } return(resultado); }
static void Main(string[] args) { Dinero euroo = new Dinero(10, TipoMoneda.Euro); Dinero dolaar = new Dinero(10, TipoMoneda.Dolar); Dinero francoo = new Dinero(10, TipoMoneda.Libra); Console.WriteLine("Suma de euros "); Console.WriteLine(euroo + euroo); Console.WriteLine("Suma de euros y dolares"); Console.WriteLine(euroo + dolaar); Console.WriteLine("Suma de euros y francos"); Console.WriteLine(euroo + francoo); Console.WriteLine("10 euros a Francos y dolares."); Console.WriteLine("10 a francos -----> " + euroo.ValorEn(TipoMoneda.Libra)); Console.WriteLine("10 a dolares -----> " + euroo.ValorEn(TipoMoneda.Dolar)); Console.ReadKey(); }
/// <summary> /// Convierte nuestro dinero a otra moneda /// </summary> /// <param name="tmoneda">moneda en la que convertiremos nuestra moneda</param> /// <returns>Conversión de nuestro dinero a la nueva moneda</returns> public Dinero ConvierteEn(TipoMoneda tmoneda) { Dinero din = new Dinero(ValorEn(tmoneda), tmoneda); return(din); }