lunes, 3 de abril de 2017

Pro C#: Módulo 06: Laboratorio 7: Código Fuente

Código Fuente de Ejemplo Laboratorio 7 

Debug.WriteLine( ... ), Debug.Assert( ... )


using System.Diagnostics;

    public partial class frmPrincipal : Form
    {
        private List<int> Numeros;

        /// <summary>
        /// Inicializa la lista de Números
        /// </summary>
        public frmPrincipal()
        {
            InitializeComponent();
            Numeros = new List<int>();
        }

        /// <summary>
        /// Agrega el valor a una lista si es entero
        /// Calcula el Promedio y retorna el valor
        /// </summary>
        /// <param name="Valor">Valor a Convertir</param>
        /// <returns>Promedio</returns>
        private decimal calcPromedio(string Valor)
        {
            int Numero = 0; bool EsNumero = false;
            decimal Promedio = 0;
           
            //Determina si el número es posible convertir a entero
            EsNumero = int.TryParse(Valor, out Numero);

            //Demostración de Debug.Assert
            //Si la expresión booleana es falsa.
            Debug.Assert( int.TryParse(Valor, out Numero) ,
                $"No es posible convertir {Valor} como entero"  );
           
            //Escribe valores en la Ventana de Output
            Debug.WriteLine($"Valor: {Valor}   Número {Numero}");
            //Si es número agrega a la lista
            if (EsNumero)
            {
                Numeros.Add(Numero);
            }

            //Encuentra el Promedio a retornar
            if (Numeros.Count > 0)
            {
                Promedio = 0;
                foreach(int x in Numeros)
                {
                    Promedio += x;
                }
                Promedio = Promedio / (decimal)Numeros.Count;
            }
            else
            {
                Promedio = (decimal)0;
            }

            return Promedio;          
        }

        private void btnPromedio_Click(object sender, EventArgs e)
        {
            //Invoca el método para Calcular Promedio
            decimal miPromedio =
                calcPromedio(txtNumero.Text);
            //Muestra el Promedio en la etiqueta
            lblPromedio.Text = $"El Promedio es: {miPromedio:N2}";
        }

    }


No hay comentarios.:

Publicar un comentario