none
TABLAS DE MULTIPLICAR EN C#

    Pregunta

  • 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

    lunes, 06 de febrero de 2012 8:03

Respuestas

  • 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

    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:31
    martes, 07 de febrero de 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.

     

     

    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:33
    lunes, 06 de febrero de 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
    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:33
    lunes, 06 de febrero de 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
    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:32
    lunes, 06 de febrero de 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
    lunes, 06 de febrero de 2012 23:03

Todas las respuestas

  • 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
    lunes, 06 de febrero de 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
    • Propuesto como respuesta Maiku Kamishiro lunes, 06 de febrero de 2012 19:18
    lunes, 06 de febrero de 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.

     

     

    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:33
    lunes, 06 de febrero de 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
    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:33
    lunes, 06 de febrero de 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
    lunes, 06 de febrero de 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
    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:32
    lunes, 06 de febrero de 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
    lunes, 06 de febrero de 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

    martes, 07 de febrero de 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

    • Marcado como respuesta cheitojose martes, 07 de febrero de 2012 5:31
    martes, 07 de febrero de 2012 0:41
  • EXCELENTE MUY BIEN AHORA SI ME FUNCIONO!!! MUCHISIMAS GRACIAS!!

    Gracias

    martes, 07 de febrero de 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 
    lunes, 22 de octubre de 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 
    lunes, 22 de octubre de 2012 21:09