/// <summary> /// Nos devolverá un objeto de tipo Dinero correspondiente /// al valor del dinero. /// </summary> /// <param name="tmoneda">Tipo de moneda. Enumerado</param> /// <returns>Un objeto de tipo Dinero</returns> public Dinero ConvierteEn(TipoMoneda tmoneda) { Dinero devuelto; decimal nuevoV = this.ValorEn(tmoneda); devuelto = new Dinero(nuevoV, tmoneda); return(devuelto); }
/// <summary> /// Igualará los dos parámetros. /// </summary> /// <param name="d1">Objeto de tipo dinero</param> /// <param name="d2">Obejto de tipo dinero</param> /// <returns>Booleano</returns> public static bool operator <=(Dinero d1, Dinero d2) { bool esMenor = false; Dinero d3 = d2.ConvierteEn(d1.moneda); if (d1.cantidad <= d3.cantidad) { esMenor = true; } return(esMenor); }
/// <summary> /// Igualará los dos parámetros. /// </summary> /// <param name="d1">Objeto de tipo dinero</param> /// <param name="d2">Obejto de tipo dinero</param> /// <returns>Booleano</returns> public static bool operator !=(Dinero d1, Dinero d2) { bool iguales = false; Dinero d3 = d2.ConvierteEn(d1.moneda); if (d1.cantidad != d3.cantidad) { iguales = true; } return(iguales); }
/// <summary> /// Nos restará los dos parámetros de dinero /// </summary> /// <param name="d1">Objeto tipo dinero</param> /// <param name="d2">Objeto tipo dinero</param> /// <returns>Objeto tipo dinero con el resultado</returns> public static Dinero operator -(Dinero d1, Dinero d2) { if (d1.moneda == d2.moneda) { Dinero d3 = new Dinero(d1.cantidad - d2.cantidad, d1.moneda); return(d3); } else { Dinero d4 = d2.ConvierteEn(d1.moneda); Dinero d3 = new Dinero(d1.cantidad - d4.cantidad, d1.moneda); return(d3); } }
public static Dinero CrearDinero(double cantidad, string tipo) { Dinero d1 = new Dinero(0, 0); if (tipo == "euros") { d1 = new Dinero(cantidad, TipoMoneda.Euro); } if (tipo == "dolares") { d1 = new Dinero(cantidad, TipoMoneda.Dolar); } if (tipo == "libras") { d1 = new Dinero(cantidad, TipoMoneda.Libra); } if (tipo == "yenes") { d1 = new Dinero(cantidad, TipoMoneda.Yen); } return(d1); }
static void Main(string[] args) { // CREAR MENU Dinero d1 = new Dinero(0, 0); double cantidad; int opcion = -1; while (opcion != 0) { string opcion2 = ""; Console.WriteLine("¿Quieres actualizar? Si o No"); opcion2 = Console.ReadLine(); if (opcion2 == "si") { Dinero.ActualizarListaInternet(); } Console.Clear(); string tim; Console.Write("Tipo de moneda : euros , dolares , libras o yenes : "); tim = Console.ReadLine(); tim = tim.ToLower(); Console.Write("Cantidad de dinero : "); cantidad = double.Parse(Console.ReadLine()); d1 = Dinero.CrearDinero(cantidad, tim); Console.WriteLine("1º Sumar 2º Restar "); Console.WriteLine("3º Dividir 4º Multiplicar"); opcion = int.Parse(Console.ReadLine()); switch (opcion) { case 1: { double cantidad2; Console.WriteLine("Cantidad para sumar a la otra cantidad : "); cantidad2 = double.Parse(Console.ReadLine()); Dinero d2 = new Dinero(0, 0); d2 = Dinero.CrearDinero(cantidad2, tim); Console.WriteLine("Resultado de {0} + {1} : {2}", d1, d2, (d1 + d2)); } break; case 2: { double cantidad2; Console.WriteLine("Cantidad para restar a la otra cantidad : "); cantidad2 = double.Parse(Console.ReadLine()); Dinero d2 = new Dinero(0, 0); d2 = Dinero.CrearDinero(cantidad2, tim); Console.WriteLine("Resultado de {0} + {1} : {2}", d1, d2, (d1 - d2)); } break; case 3: { decimal cantidad2; Console.WriteLine("Cantidad para dividir a la otra cantidad : "); cantidad2 = decimal.Parse(Console.ReadLine()); Console.WriteLine("Resultado de {0} / {1} : {2}", d1, cantidad2, (d1 / cantidad2)); } break; case 4: { decimal cantidad2; Console.WriteLine("Cantidad para dividir a la otra cantidad : "); cantidad2 = decimal.Parse(Console.ReadLine()); Console.WriteLine("Resultado de {0} * {1} : {2}", d1, cantidad2, (d1 * cantidad2)); } break; default: break; } Console.WriteLine("¿Seguir? Si(-1) o No(0)"); opcion = int.Parse(Console.ReadLine()); } Console.ReadKey(); }
/// <summary> /// Nos multiplicará los dos parámetros. /// </summary> /// <param name="d1">Objeto tipo dinero</param> /// <param name="valor">Decimal</param> /// <returns>Objeto tipo dinero</returns> public static Dinero operator *(Dinero d1, decimal valor) { Dinero d2 = new Dinero(d1.cantidad * valor, d1.moneda); return(d2); }