none
TABLAS DE MULTIPLICAR EN C#

    Вопрос

  • Hola quisiera que me ayudara con el siguiente trabajo

    tengo el siguiente codigo:

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);

    for (int i = del; i <= al; i++)
    {
    cb_tablas.Items.Add("Tabla de multiplicar del "+i);

    }

    lo que ese codigo hace es que tengo 2 numeric up down entonces yo en ellos marco el inicio de las tablas que quiero ver, al darle click en el botn cargar se me despliegan en un combo box las tablas, elemplo: del 0 al 1 el combo box se llena con la informacion tabla de miltiplicar del 0 , tabla de multiplicar de 1, hasta ahi todo perfecto, lo que ocupo es que al seleccionar alguna opcion del combo se me despliegue la tabla en un list box, ejemplo: selecciono la opcion tabla de multiplicar del 1, en el list box me aparezca la tabla del 1 completa, en realidad no c como hacer eso, gracias

    NECESITO AYUDA GRACIAS

    6 февраля 2012 г. 8:03

Ответы

  • cuando hace esto

    for (int i = del; i <= al; i++)
    {
       lista.Add(new dato(){ clave= i,  texto= string.Format("Tabla de multiplicar del {0}", i));

    }

    validas que la "clave" tenga un valor diferente ? porque recuerda que luego al usar

    cb_tablas.Items.ValueMember = "clave"

    defines este como valor para recuperar en el SelectedValue

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:31
    7 февраля 2012 г. 0:41
  • //no se como hacer para mostrar la tabla de multiplicar escogida en el combo

    Que tal si haces lo siguiente:

    Toma el valor Index del combox, si imaginamos que haras las tablas del 1 al 9, obten el valor y le sumas 1.

    así obtendras la tabla que quieres mostrar:

    int ntabla=int.parse(combobox1.SelectedIndex.tostring())+1;

    luego en el for empiezas.

     

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);

    cb_tablas.items.clear();

    for (int i = del; i <= al; i++)
    {


    cb_tablas.Items.Add(ntabla.tostring() + " X " + i.tostring() + " = " + (ntabla*i));

    }

     

    Saludos.

     

     

    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:33
    6 февраля 2012 г. 19:27
  • bien pero el problema cual seria, porque si la idea es cargar el comno esta correcto

    aunque podrias usar

    define una clase

    public class dato{

      public int clave{get; set;}

      public string texto{get; set;}

    }

    luego usas

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);

    List<dato> lista = new List<dato>();

    for (int i = del; i <= al; i++)
    {
       lista.Add(new dato(){ clave= i,  texto= string.Format("Tabla de multiplicar del {0}", i));

    }

    cb_tablas.Items.DisplayMember = "valor";

    cb_tablas.Items.ValueMember = "clave"

    cb_tablas.Items.DataSource = lista;

     

    si haces esto podrias usar el SelectedValue del combo para tomar el valor de la tabla que se quiere cargar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:33
    6 февраля 2012 г. 19:41
  • Hola, creo ya te he entendido.... solo haria falta modificar un poco el codido de Leandro {SEGUN ENTIENDO, CALRO ESTA.}
    public class dato
    { 
      public int clave{get; set;} 
      public string texto{get; set;} 
    }
     
    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);
     
    List<dato> lista = new List<dato>();
     
    for (int i = 1; i <= 10; i++)
     {
        lista.Add(new dato(){ clave= i,  texto= string.Format("Tabla de multiplicar del {0}", i));
     
    }
     
    cb_tablas.Items.DisplayMember = "valor"; 
    cb_tablas.Items.ValueMember = "clave" 
    cb_tablas.Items.DataSource = lista;
    
    


    Como veras dejo el valor del las tablas de multioplicar que se maneja por defecto, del 1 al 10. Luego solo bastaria hacer lo que ya tenias:

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);
    int tablaDel = Convert.ToInt32(cb_Tablas.Selectedvalue);
     
    for (int i = del; i <= al; i++)
    {
         //publicar tablaDel * i; 
    }
    
    

    Espero haberte entendido y que te sea de ayuda.

    Saludos.


    Nicolás Herrera
    Bogotá - Colombia
    BLOG - Leader Group BogotaDotNet
    "Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes
    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:32
    6 февраля 2012 г. 22:51
  • claro eso es exactamente lo que planteo

    defines la calse que cargas segun el rando seleccionado, y lo usas para definir lo item del combo cb_tablas

    solo queda que hagas

    private void cb_tablas_SelectedChangeCommited(..){
        
    listbox1.Items.Clear();

     int del = Convert.ToInt32(cb_tablas.SelectedValue); for (int i = 0; i <= 10; i++) { listbox1.Items.Add(string.Format("{0} x {1} = {2}", i, del, i*del)); } }
    usa este evento SelectedChangeCommited

    como veras el evento del cb_tablas carga la tabla de multimplicar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Изменено Leandro TuttiniMVP 6 февраля 2012 г. 23:03
    • Предложено в качестве ответа Leandro TuttiniMVP 6 февраля 2012 г. 23:03
    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:32
    6 февраля 2012 г. 23:03

Все ответы

  • hola

    pero si la idea es mostrar la tabla de multiplicar d eun valor, para que seleccionas dos ? con uno solo alcanza

    algo como ser

    int del = Convert.ToInt32(num_1.Value);
    <br/>cb_tablas.Items.Clear();<br/><br/>for (int i = 0; i <= 10; i++)
    {
         cb_tablas.Items.Add(string.Format("{0} x {1} = {2}", i, del, i*del));
    
    }
    

    iteras 10 veces, y lo usas para calcular la tabla del valor que seleccionas

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    6 февраля 2012 г. 11:55
  • Hola !!! Es que los 2 numeric up down son para mostrar un rango de las tablas de multiplicar que quiero que se muestren en un comboBox. Asi cuando escojo la tabla de multiplicar esta se me muestra en el listbox.. elemplo: del 0 al 1 el combo box se llena con la informacion tabla de miltiplicar del 0 , tabla de multiplicar de 1, hasta ahi todo perfecto, lo que ocupo es que al seleccionar alguna opcion del combo se me despliegue la tabla en un list box, ejemplo: selecciono la opcion tabla de multiplicar del 1, en el list box me aparezca la tabla del 1 completa, en realidad no c como hacer eso, gracias te lo agradeceria demasiado si me pudieras ayudar.

    Mira un ejemplo de lo que necesito..

    tengo el siguiente codigo:

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);

    for (int i = del; i <= al; i++)
    {
    cb_tablas.Items.Add("Tabla de multiplicar del "+i);

    }

    //no se como hacer para mostrar la tabla de multiplicar escogida en el combo


    Gracias
    • Предложено в качестве ответа Maiku Kamishiro 6 февраля 2012 г. 19:18
    6 февраля 2012 г. 18:26
  • //no se como hacer para mostrar la tabla de multiplicar escogida en el combo

    Que tal si haces lo siguiente:

    Toma el valor Index del combox, si imaginamos que haras las tablas del 1 al 9, obten el valor y le sumas 1.

    así obtendras la tabla que quieres mostrar:

    int ntabla=int.parse(combobox1.SelectedIndex.tostring())+1;

    luego en el for empiezas.

     

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);

    cb_tablas.items.clear();

    for (int i = del; i <= al; i++)
    {


    cb_tablas.Items.Add(ntabla.tostring() + " X " + i.tostring() + " = " + (ntabla*i));

    }

     

    Saludos.

     

     

    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:33
    6 февраля 2012 г. 19:27
  • bien pero el problema cual seria, porque si la idea es cargar el comno esta correcto

    aunque podrias usar

    define una clase

    public class dato{

      public int clave{get; set;}

      public string texto{get; set;}

    }

    luego usas

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);

    List<dato> lista = new List<dato>();

    for (int i = del; i <= al; i++)
    {
       lista.Add(new dato(){ clave= i,  texto= string.Format("Tabla de multiplicar del {0}", i));

    }

    cb_tablas.Items.DisplayMember = "valor";

    cb_tablas.Items.ValueMember = "clave"

    cb_tablas.Items.DataSource = lista;

     

    si haces esto podrias usar el SelectedValue del combo para tomar el valor de la tabla que se quiere cargar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:33
    6 февраля 2012 г. 19:41
  • el problema es que al cargar el combo con las tablas, debo seleccionar la tabla del combo que quiero ver para que me la muestre en la listbox
    Gracias
    6 февраля 2012 г. 21:52
  • Hola, creo ya te he entendido.... solo haria falta modificar un poco el codido de Leandro {SEGUN ENTIENDO, CALRO ESTA.}
    public class dato
    { 
      public int clave{get; set;} 
      public string texto{get; set;} 
    }
     
    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);
     
    List<dato> lista = new List<dato>();
     
    for (int i = 1; i <= 10; i++)
     {
        lista.Add(new dato(){ clave= i,  texto= string.Format("Tabla de multiplicar del {0}", i));
     
    }
     
    cb_tablas.Items.DisplayMember = "valor"; 
    cb_tablas.Items.ValueMember = "clave" 
    cb_tablas.Items.DataSource = lista;
    
    


    Como veras dejo el valor del las tablas de multioplicar que se maneja por defecto, del 1 al 10. Luego solo bastaria hacer lo que ya tenias:

    int del = Convert.ToInt32(num_1.Value);
    int al = Convert.ToInt32(num_2.Value);
    int tablaDel = Convert.ToInt32(cb_Tablas.Selectedvalue);
     
    for (int i = del; i <= al; i++)
    {
         //publicar tablaDel * i; 
    }
    
    

    Espero haberte entendido y que te sea de ayuda.

    Saludos.


    Nicolás Herrera
    Bogotá - Colombia
    BLOG - Leader Group BogotaDotNet
    "Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes
    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:32
    6 февраля 2012 г. 22:51
  • claro eso es exactamente lo que planteo

    defines la calse que cargas segun el rando seleccionado, y lo usas para definir lo item del combo cb_tablas

    solo queda que hagas

    private void cb_tablas_SelectedChangeCommited(..){
        
    listbox1.Items.Clear();

     int del = Convert.ToInt32(cb_tablas.SelectedValue); for (int i = 0; i <= 10; i++) { listbox1.Items.Add(string.Format("{0} x {1} = {2}", i, del, i*del)); } }
    usa este evento SelectedChangeCommited

    como veras el evento del cb_tablas carga la tabla de multimplicar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Изменено Leandro TuttiniMVP 6 февраля 2012 г. 23:03
    • Предложено в качестве ответа Leandro TuttiniMVP 6 февраля 2012 г. 23:03
    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:32
    6 февраля 2012 г. 23:03
  • Leandro  todo esta perfecto ya logramos mostrar la tablas en la listbox. Pero esta instruccion

    int del = Convert.ToInt32(cb_tablas.SelectedValue);

    siempre me cargar un cero y no el resultado de las tablas de multiplicar por que todo me lo multiplica por cero (el que tienen "del") y ese el que necesito para hacer la multiplicacion.

    Le adjunto la imagen para que veas lo que muestra.

    Por favor ayudame ya casi estamos cerca.


    Gracias

    7 февраля 2012 г. 0:34
  • cuando hace esto

    for (int i = del; i <= al; i++)
    {
       lista.Add(new dato(){ clave= i,  texto= string.Format("Tabla de multiplicar del {0}", i));

    }

    validas que la "clave" tenga un valor diferente ? porque recuerda que luego al usar

    cb_tablas.Items.ValueMember = "clave"

    defines este como valor para recuperar en el SelectedValue

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Помечено в качестве ответа cheitojose 7 февраля 2012 г. 5:31
    7 февраля 2012 г. 0:41
  • EXCELENTE MUY BIEN AHORA SI ME FUNCIONO!!! MUCHISIMAS GRACIAS!!

    Gracias

    7 февраля 2012 г. 5:32
  • Hola cheito como vas alfin lograste hacerlo me puedes enviar la aplicación ya que no logre realizarlo mi corrreo es marioaet@gmail.com muchas gracias de antemano 
    22 октября 2012 г. 21:03
  • EXCELENTE MUY BIEN AHORA SI ME FUNCIONO!!! MUCHISIMAS GRACIAS!!

    Gracias

    Hola cheito como vas alfin lograste hacerlo me puedes enviar la aplicación ya que no logre realizarlo mi corrreo es marioaet@gmail.com muchas gracias de antemano 
    22 октября 2012 г. 21:09