static void Main(string[] args)
        {
            Dolar d1 = new Dolar(10, 1);
            Dolar d2 = new Dolar(10, 1);
            Dolar d3 = new Dolar(20, 1);
            Euro  e1 = new Euro(30);
            Euro  e2 = new Euro(40);
            Euro  e3 = new Euro(40);
            Pesos p1 = new Pesos(50);
            Pesos p2 = new Pesos(60);
            Pesos p3 = new Pesos(60);

            Console.WriteLine("d1: {0} d2: {1} d3: {2}", d1.GetCantidad(), d2.GetCantidad(), d3.GetCantidad());
            Console.WriteLine("e1: {0} e2: {1} e3: {2}", e1.GetCantidad(), e2.GetCantidad(), e3.GetCantidad());
            Console.WriteLine("e1: {0} e2: {1} e3: {2}", p1.GetCantidad(), p2.GetCantidad(), p3.GetCantidad());
            Console.WriteLine("d1 = d2?: {0}", d1 == d2);
            Console.WriteLine("d1 = d3?: {0}", d1 == d3);
            Console.WriteLine("d1 != d3?: {0}", d1 != d3);
            //Console.WriteLine("d1 + d2 = {0}", d1 + d2);
            Console.WriteLine("e1 a dolar: {0}", ((Dolar)e1).GetCantidad());
            Console.WriteLine("d1 a euro: {0}", ((Euro)d1).GetCantidad());
            Console.WriteLine("e1 a pesos: {0}", ((Pesos)e1).GetCantidad());

            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            /*
             * 20. 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 privados 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 = "Ej_20";

            Euro  e = new Euro(10, 0.80);
            Dolar d = new Dolar(10);
            Pesos p = new Pesos(10, 60.0);

            Euro aux_e = e + d;

            Console.WriteLine("Euro + Dólar (E10|u$s10): {0}", aux_e.GetCantidad());
            aux_e = e + p;
            Console.WriteLine("Euro + Pesos (E20|$10)  : {0}", aux_e.GetCantidad());
            Console.WriteLine("----------------------------------------------");

            Dolar aux_d = d + e;

            Console.WriteLine("Dólar + Euro (u$s10|E10) : {0}", aux_d.GetCantidad());
            aux_d = d + p;
            Console.WriteLine("Dólar + Pesos (u$s10|$10): {0}", aux_d.GetCantidad());
            Console.WriteLine("----------------------------------------------");

            Pesos aux_p = p + e;

            Console.WriteLine("Pesos + Euro ($10 | E10 ): {0}", aux_p.GetCantidad());
            aux_p = p + d;
            Console.WriteLine("Pesos + Dólar ($10|u$s10): {0}", aux_p.GetCantidad());

            Console.ReadKey();
        }