//Aquí vamos a crear un objeto en base a la entrada del usuario en el programa principal.
        //Cuplimos con el patrón Factory porque dejamos todo el trabajo de la creación de objetos para esta clase.

        public ICalcular Definir_Operación(string Tipo_Operación)
        {
            ICalcular ObjetoDeLaFactoria = null;

            //Dependiendo del string que mande el usuario creamos un objeto de estas 4 clases, llamando su metodo constructor.
            if (Tipo_Operación.ToLower() == "sumar")
            {
                ObjetoDeLaFactoria = new Sumar();
            }
            else if (Tipo_Operación.ToLower() == "restar")
            {
                ObjetoDeLaFactoria = new Restar();
            }
            else if (Tipo_Operación.ToLower() == "multiplicar")
            {
                ObjetoDeLaFactoria = new Multiplicar();
            }
            else if (Tipo_Operación.ToLower() == "dividir")
            {
                ObjetoDeLaFactoria = new Dividir();
            }
            else
            {
                Console.WriteLine("Operación no valida / error ortografico.");
            }

            return(ObjetoDeLaFactoria);
        }
Пример #2
0
        public void Calcular(int eleccion)
        {
            ICalcular calc = calculadoras[eleccion];

            numero = calc.Calcular(numero);
            Console.WriteLine("\n" + "El numero tras la operacion realizada es: " + getNumero() + "\n");
        }
Пример #3
0
        //met que actualiza el numero utiizando una de las calculadoras al azar
        public void Calcular()
        {
            int       indice = rnd.Next(0, 5);
            ICalcular cal    = calculadoras[indice];

            numero = cal.Calcular(numero);
        }
        public void Calcular(int indice)
        {
            ICalcular xd        = calculadoras[indice];
            int       monochino = xd.Calcular(numero);

            numero = monochino;
        }
        static void Main(string[] args)
        {
            double numero1, numero2;

            Console.WriteLine("Provaremos el Patrón Factory con las funciones de una calculadora.");
            Console.WriteLine("Entra el primer numero; ");
            bool resultado = Double.TryParse(Console.ReadLine(), out numero1);

            if (!resultado)
            {
                Console.WriteLine("Por favor, entre un valor valido (numero): "); return;
            }

            Console.WriteLine("Entra el segundo numero; ");
            resultado = Double.TryParse(Console.ReadLine(), out numero2);
            if (!resultado)
            {
                Console.WriteLine("Por favor, entre un valor valido (numero): "); return;
            }

            Console.WriteLine("Que quiere hacer con estos dos numeros? (Escriba: Sumar, Restar, Multiplicar o Dividir)");
            //Aqui creamos un objeto de la clase que actuará como factoria, ella define cual objeto crear.
            Factoria_de_objetos Factoria = new Factoria_de_objetos();

            //Usando la interfaz definimos el tipo de operación y ejecutamos el metodo Calcular.
            ICalcular objeto = Factoria.Definir_Operación(Console.ReadLine());

            objeto.Calcular(numero1, numero2);


            Console.ReadLine();
        }
        public void Calcular()
        {
            int       TotalCalculadoras = calculadoras.Count;
            Random    rnd        = new Random();
            int       calcula2ra = rnd.Next(0, TotalCalculadoras);
            ICalcular xd         = calculadoras[calcula2ra];

            Console.WriteLine(calcula2ra);   //*Sirve para ver el indice de la operacion realizada(0=suma5, 1=Fibo...)
            numero = xd.Calcular(numero);
        }
        static void Main(string[] args)
        {
            Cubo            cubo            = new Cubo();
            PerroFactorial  perrofactorial  = new PerroFactorial();
            RobotFibonacci  robotfibonacci  = new RobotFibonacci();
            PersonaQueSuma5 personaquesuma5 = new PersonaQueSuma5();
            Cuadrado        cuadrado        = new Cuadrado();
            Random          random          = new Random();

            List <ICalcular> calculadoras = new List <ICalcular>();

            calculadoras.Add(cubo);
            calculadoras.Add(perrofactorial);
            calculadoras.Add(robotfibonacci);
            calculadoras.Add(personaquesuma5);
            calculadoras.Add(cuadrado);
            Calculadora calculadora = new Calculadora(2);

            Console.WriteLine("Ingresa el numero de calculos a realizar: ");
            int calculosarealizar = int.Parse(Console.ReadLine());

            for (int i = 1; i <= calculosarealizar; i++)
            {
                ICalcular calculadorautilizar = calculadoras[random.Next(0, 5)];
                Console.WriteLine("");
                Console.WriteLine("---El numero para calcular es : {0} y se usara la calculadora : {1} ----", calculadora.GetNumero(), calculadorautilizar);
                Console.WriteLine("EL RESULTADO ES:");
                int num = calculadorautilizar.Calcular(calculadora.GetNumero());
                calculadora.Calcular(num);
                Console.WriteLine(calculadora.GetNumero());
            }

            Console.WriteLine("------------PARTE 4-------------");
            Console.WriteLine("CALCULADORA");
            Console.WriteLine("[1] Cubo");
            Console.WriteLine("[2] Perro Factorial");
            Console.WriteLine("[3] Robot Fibonacci");
            Console.WriteLine("[4] Persona que suma 5");
            Console.WriteLine("[5] Cuadrado");
            Console.WriteLine("[6] Exit");


            int seleccion = int.Parse(Console.ReadLine());

            calculadora.Calcular(2);
            while (seleccion != 6)
            {
                Console.WriteLine("");
                Console.WriteLine("-----El numero a calcular es {0}-----", calculadora.GetNumero());
                Console.WriteLine("EL RESULTADO ES:");
                int numero = calculadoras[seleccion - 1].Calcular(calculadora.GetNumero());
                calculadora.Calcular(numero);
                Console.WriteLine(calculadora.GetNumero());

                Console.WriteLine("CALCULADORA");
                Console.WriteLine("[1] Cubo");
                Console.WriteLine("[2] Perro Factorial");
                Console.WriteLine("[3] Robot Fibonacci");
                Console.WriteLine("[4] Persona que suma 5");
                Console.WriteLine("[5] Cuadrado");
                Console.WriteLine("[6] Exit");
                Console.WriteLine("");

                seleccion = int.Parse(Console.ReadLine());
            }
        }
Пример #8
0
 public void Calcular_extra(ICalcular cal)
 {
     numero = cal.Calcular(numero);
 }