Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL
- //
- // ===--===
- /*============================================================
- //
- // Clase: RangoEncuesta.cs
- //
- // Original en: http://goo.gl/l8YVIF
- //
- // Propósito: Implementar la entidad rango encuesta.
- //
- ============================================================*/
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace N1_Encuesta.Modelo
- {
- /// <summary>
- /// Representa la entidad RangoEncuesta del mundo del problema.
- /// </summary>
- public class RangoEncuesta
- {
- #region Campos
- /// <summary>
- /// Número de personas casadas.
- /// </summary>
- private int numeroCasados;
- /// <summary>
- /// Número de personas solteras.
- /// </summary>
- private int numeroSolteros;
- /// <summary>
- /// Total de las opiniones de los casados.
- /// </summary>
- private int totalOpinionCasados;
- /// <summary>
- /// Total de las opiniones de los solteros.
- /// </summary>
- private int totalOpinionSolteros;
- #endregion
- #region Propiedades
- /// <summary>
- /// Obtiene la cantidad de personas casadas.
- /// </summary>
- public int NumeroCasados
- {
- get
- {
- return numeroCasados;
- }
- }
- /// <summary>
- /// Obtiene la cantidad de personas que han realizado la encuesta.
- /// </summary>
- public int NumeroOpiniones
- {
- get
- {
- return numeroCasados + numeroSolteros;
- }
- }
- /// <summary>
- /// Obtiene el número de solteros.
- /// </summary>
- public int NumeroSolteros
- {
- get
- {
- return numeroSolteros;
- }
- }
- /// <summary>
- /// Obtiene el total de las opiniones de las personas casadas.
- /// </summary>
- public int TotalOpinionCasados
- {
- get
- {
- return totalOpinionCasados;
- }
- }
- /// <summary>
- /// Obtiene el total de las opiniones de las personas solteras.
- /// </summary>
- public int TotalOpinionSolteros
- {
- get
- {
- return totalOpinionSolteros;
- }
- }
- /// <summary>
- /// Obtiene el total de las opiniones de las personas de ambos estados civiles.
- /// </summary>
- public int TotalOpiniones
- {
- get
- {
- return totalOpinionCasados + totalOpinionSolteros;
- }
- }
- #endregion
- #region Constructores
- /// <summary>
- /// Crea un rango de encuesta con los valores por defecto.
- /// </summary>
- public RangoEncuesta()
- {
- numeroCasados = 0;
- numeroSolteros = 0;
- totalOpinionCasados = 0;
- totalOpinionSolteros = 0;
- }
- #endregion
- #region Métodos
- /// <summary>
- /// Agrega una opinión.
- /// </summary>
- /// <param name="estadoCivil">Estado civil del encuestado(a).</param>
- /// <param name="opinion"></param>
- public void AgregarOpinion(EstadoCivil estadoCivil, int opinion)
- {
- switch (estadoCivil)
- {
- case EstadoCivil.Casado:
- ++numeroCasados;
- totalOpinionCasados += opinion;
- break;
- case EstadoCivil.Soltero:
- ++numeroSolteros;
- totalOpinionSolteros += opinion;
- break;
- }
- }
- /// <summary>
- /// Calcula el promedio total.
- /// </summary>
- /// <returns>Promedio total</returns>
- public double CalcularPromedio()
- {
- return (double)TotalOpiniones / NumeroOpiniones;
- }
- /// <summary>
- /// Calcula el promedio para un estado civil concreto.
- /// </summary>
- /// <param name="estadoCivil">Estado civil del encuestado(a).</param>
- /// <returns>Promedio.</returns>
- public double CalcularPromedio(EstadoCivil estadoCivil)
- {
- switch (estadoCivil)
- {
- case EstadoCivil.Casado:
- return (double) totalOpinionCasados / numeroCasados;
- default:
- return (double)totalOpinionSolteros / numeroSolteros;
- }
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement