예제 #1
0
        protected static double ObtenerResultado(ColectoraDeNumeros cn, ETipoResultado tipo)
        {
            switch (tipo)
            {
            case ETipoResultado.Suma:
                return(cn.SumaPriConTodos);

            case ETipoResultado.Resta:
                return(cn.RestaPriConTodos);

            case ETipoResultado.Multiplicacion:
                return(cn.ProductoPriConTodos);

            default:
                return(cn.DivPriConTodos);
            }
        }
예제 #2
0
        protected static double ObtenerResultadoColectoraDeNumeros(ETipoResultado tipo, ColectoraDeNumeros a)
        {
            if (a._numeros.Count != 0)
            {
                double acumulador = a._numeros[0].Num;
                foreach (Numero item in a._numeros)
                {
                    if (item == a._numeros[0])
                    {
                        continue;
                    }

                    switch (tipo)
                    {
                    case ETipoResultado.Suma:
                        acumulador += (double)item.Num;
                        break;

                    case ETipoResultado.Resta:
                        acumulador -= item.Num;
                        break;

                    case ETipoResultado.Multiplicacion:
                        acumulador *= item.Num;
                        break;

                    case ETipoResultado.Division:
                        acumulador = acumulador / (double)item.Num;
                        break;
                    }
                }
                if (double.IsInfinity(acumulador))
                {
                    throw new Exception("No se puede dividir por 0!");
                }
                return(acumulador);
            }
            else
            {
                throw new Exception("No hay numeros en la lista.");
            }
        }
예제 #3
0
        protected static double ObtenerResultado(ColectoraDeNumeros cn, ETipoResultado tipo)
        {
            double rta = 0;
            Numero n;
            double rtaSuma  = 0;
            double rtaResta = 0;
            double rtaMulti = 0;
            double rtaDiv   = 0;

            for (int i = 1; i < cn._numeros.Count; i++)
            {
                n = cn._numeros[0];
                switch (tipo)
                {
                case ETipoResultado.Suma:
                    rta += n + cn._numeros[i];
                    break;

                case ETipoResultado.Resta:
                    rta += n - cn._numeros[i];
                    break;

                case ETipoResultado.Multiplicacion:
                    rta += n * cn._numeros[i];
                    break;

                case ETipoResultado.Division:
                    rta += n / cn._numeros[i];
                    break;

                default:
                    break;
                }
            }
            return(rta);
        }