//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); }
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"); }
//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()); } }
public void Calcular_extra(ICalcular cal) { numero = cal.Calcular(numero); }