예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
 /// <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);
     }
 }
예제 #5
0
        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);
        }
예제 #6
0
        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();
        }
예제 #7
0
        /// <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);
        }