none
Ayuda con ciclos y if C# (WPF) RRS feed

  • Pregunta

  • Hola buenas, les cuento tengo que hacer una escala de nota donde lo único que cambia es el puntaje máximo y el porcentaje de exigencia, tengo dos problemas el primero es como hago mediante un ciclo que me hago el puntaje obtenido me explico si el puntaje maximo es 100 que me muestre desde el puntaje 1 hasta el puntaje 100, las variables en este caso para sacar eso es el puntaje maximo / incremente que es uno había visto unos .map en ruby que era mas sencillo pero en c# no lo puedo hacer y lo otro como puedo mostrar esos 100 resultados en un label? Agradecería mucho si me pudieran ayudar aunque sea con solo unos de estos dos problemas adjunto el codigo y el wpf

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfPU1
    {
        /// <summary>
        /// Lógica de interacción para MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            double nmax = 7.0, nmin = 1.0, naprob = 4.0, exigencia,pmax, incremento=1.0, pob,mensaje;
            string strpmax, strexigencia;
            
            public MainWindow()
            {
                InitializeComponent();
    
            }
    
            private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
            {
                strpmax=this.txtMáximo.Text;
                Double.TryParse(strpmax, out pmax);
            }
    
            private void txtExigencia_TextChanged(object sender, TextChangedEventArgs e)
            {
                strexigencia = this.txtExigencia.Text;
                Double.TryParse(strexigencia, out exigencia);
            }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
    
                MostrarResultado();
                
            }
            private double DeterminarEscala()
            {
                while (pmax >= incremento)
                {
                    pob = pmax - 1 / incremento;
                }
    
                    if (pob < (exigencia * pmax))
                    {
                        return ((naprob - nmin) * pob / (exigencia / 100 * pmax) + nmin);
    
                    }
                    else
                    {
                        return ((nmax - naprob) * (pob - exigencia / 100 * pmax) / (pmax * (1 - exigencia)) + naprob);
                    }
            }
            
            private void MostrarResultado()
            {
                this.lblTabla.Content = mensaje;
                mensaje = DeterminarEscala();
            }
            
        }
    }
    
    https://mega.nz/#!TJlD2K7D

    sábado, 22 de septiembre de 2018 4:46