Example #1
0
        static void Main(string[] args)
        {
            Console.Title = "Ejercicio 20";

            /*
             * Como ya tengo conversiones implicita de double a Dolar lo que hago es
             * asigno un numero 10, que para C# por default es double y se convierte a
             *
             */
            //Dolar d = 10;
            //Euro e = 10;
            //Pesos p = 10;

            Dolar d = new Dolar(10, 1);
            Euro  e = new Euro(10, 1.16);
            Pesos p = new Pesos(10, 38.33);

            Console.WriteLine("Cantidad de billetes por moneda cargados");
            Console.WriteLine($"Cantidad de Dolares: {d.GetCantidad()}");
            Console.WriteLine($"Cantidad de Euros: {e.GetCantidad()}");
            Console.WriteLine($"Cantidad de Pesos: {p.GetCantidad()}");

            Console.WriteLine("\nCotizacion de billetes por moneda respecto dolar");
            Console.WriteLine($"1 Dolar = {Euro.GetCotizacion():##0.00} Euros");
            Console.WriteLine($"1 Dolar = {Pesos.GetCotizacion():##0.00} Pesos");

            Dolar aux1 = d + e;

            Console.WriteLine($"\n{d.GetCantidad()} u$s + {e.GetCantidad()} EU = {aux1.GetCantidad():##0.00}");

            Dolar aux2 = d + p;

            Console.WriteLine($"{d.GetCantidad()} u$s + {e.GetCantidad()} ARS$ = {aux2.GetCantidad():##0.00}");

            Euro aux3 = e + p;

            Console.WriteLine($"{e.GetCantidad()} EU + {p.GetCantidad()} ARS$ = {aux3.GetCantidad():##0.00}");
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Console.Title = "Ejercicio 20";

            Euro  e = new Euro(2);
            Dolar d = new Dolar(2);
            Pesos p = new Pesos(2);

            Console.WriteLine("Cotizacion pesos: {0}\nCotizacion euro: {1}", Pesos.GetCotizacion(), Euro.GetCotizacion());

            Console.WriteLine("Cantidad de dolares: {0}\nCantidad de pesos: {1}\nCantidad de euros: {2}", d.GetCantidad(), p.GetCantidad(), e.GetCantidad());

            Console.WriteLine("Total pesificado: {0}", ((p + d) + e).GetCantidad());
            Console.WriteLine("Total dolarizado: {0}", ((d + p) + e).GetCantidad());
            Console.WriteLine("Total en euros: {0}", ((e + d) + p).GetCantidad());



            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            //Generar un nuevo proyecto del tipo Console Application. Construir tres clases dentro de un
            //namespace llamado Billetes: Pesos, Euro y Dolar.

            //a.Se debe lograr que los objetos de estas clases se puedan sumar, restar y comparar entre sí
            //con total normalidad como si fueran tipos numéricos, teniendo presente que 1 Euro
            //equivale a 1,16 dólares y 1 dólar equivale a 38,33 pesos.

            //b.El atributo cotizRespectoDolar y el método GetCotizacion son estáticos.

            //c.Sobrecargar los operadores explicit y/o implicit para lograr compatibilidad entre los
            //distintos tipos de datos.

            //d.Colocar dentro del Main el código necesario para probar todos los métodos.

            //e.Los constructores estáticos le darán una cotización respecto del dólar por defecto a las
            //clases.

            //f.Los comparadores == compararan cantidades.

            //g.Para operar dos tipos de monedas, se deberá convertir todo a una y luego realizar lo pedido.
            //Por ejemplo, si quiero sumar Dólar y Euro, deberé convertir el Euro a Dólar y luego
            //sumarlos.

            //h.Reutilizar el código.Sólo realizar las conversiones dentro de los operadores para dicho uso.

            Console.Title = "Ejercicio 20";

            Dolar dolar  = new Dolar(100);
            Dolar dolar2 = new Dolar(100);
            Peso  peso   = new Peso(1000);
            Euro  euro   = new Euro(100);
            Euro  euro2  = new Euro(100);

            Console.WriteLine($"Get cantidad: Euro {euro.GetCantidad()} Dolar {dolar.GetCantidad()} Peso {peso.GetCantidad()}");
            Console.WriteLine($"\nGet cotizacion: Euro {Euro.GetCotizacion()} Dolar {Dolar.GetCotizacion()} Peso {Peso.GetCotizacion()}");

            dolar = (Dolar)peso;
            Console.WriteLine($"\nConv. explicita peso a dolar: {dolar.GetCantidad()}");

            dolar = (Dolar)euro;
            Console.WriteLine($"Conv. explicita euro a dolar: {dolar.GetCantidad()}");

            euro = (Euro)peso;
            Console.WriteLine($"Conv. explicita peso a euro: {euro.GetCantidad()}");

            euro = (Euro)dolar2;
            Console.WriteLine($"Conv. explicita dolar a euro: {euro.GetCantidad()}");

            peso = (Peso)euro2;
            Console.WriteLine($"Conv. explicita euro a peso: {peso.GetCantidad()}");

            peso = (Peso)dolar2;
            Console.WriteLine($"Conv. explicita dolar a peso: {peso.GetCantidad()}");

            Console.WriteLine("\nConv. implicita desde double\n");

            dolar = 100;
            euro  = 100;
            peso  = 100;

            Console.WriteLine($"Dolar: {dolar.GetCantidad()} Euro: {euro.GetCantidad()} Peso: {peso.GetCantidad()}");

            dolar = (Dolar)peso;
            Console.WriteLine($"\nPeso a dolar {dolar.GetCantidad()}");

            peso = (Peso)dolar;
            Console.WriteLine($"Dolar a peso {peso.GetCantidad()}");

            peso = (Peso)euro;
            Console.WriteLine($"Euro a peso {peso.GetCantidad()}");

            euro = (Euro)peso;
            Console.WriteLine($"Peso a euro {euro.GetCantidad()}");

            dolar = (Dolar)euro;
            Console.WriteLine($"Euro a dolar {dolar.GetCantidad()}");

            euro = (Euro)dolar;
            Console.WriteLine($"Dolar a euro {euro.GetCantidad()}");

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Euro  euros   = new Euro(1);
            Dolar dolares = new Dolar(2);
            Pesos pesos   = new Pesos(3);

            Console.WriteLine("Cantidades de dinero disponibles y tipo de cambio respecto al Dólar:");
            Console.WriteLine("Cantidad de Euros: {0} Cotización: {1}", euros.GetCantidad(), Euro.GetCotizacion());
            Console.WriteLine("Cantidad de Dolares: {0} Cotización: {1}", dolares.GetCantidad(), dolares.GetCotizacion());
            Console.WriteLine("Cantidad de Pesos: {0} Cotización: {1}\n", pesos.GetCantidad(), Pesos.GetCotizacion());

            Console.WriteLine("Cantidad de dinero disponible y conversión a los otros tipos de cambio:");
            Console.WriteLine("Cantidad de Euros: {0} Dolares: {1} Pesos: {2}", euros.GetCantidad(), ((Dolar)euros).GetCantidad(), ((Pesos)euros).GetCantidad());
            Console.WriteLine("Cantidad de Dolares: {0} Euros: {1} Pesos: {2}", dolares.GetCantidad(), ((Euro)dolares).GetCantidad(), ((Pesos)dolares).GetCantidad());
            Console.WriteLine("Cantidad de Pesos: {0} Euros: {1} Dolares: {2}\n", pesos.GetCantidad(), ((Euro)pesos).GetCantidad(), ((Dolar)pesos).GetCantidad());

            Console.WriteLine("Sumando 10 euros: {0}", euros + 10);
            Console.WriteLine("Sumando 20 dólares: {0}", dolares + 20);
            Console.WriteLine("Sumando 5 pesos: {0}", pesos + 5);

            Console.ReadKey();
        }