• Lunes 29 de Abril de 2024, 01:59

Autor Tema:  divison entre 0  (Leído 895 veces)

marcotulio

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
divison entre 0
« en: Miércoles 28 de Octubre de 2009, 04:00 »
0
bueno tengo un problema con una calcu que etoy haciendo el erro es cuando introduce el numero 0 no me aparece nada en el display auque yo tengo la instruccion que cuando es 0 aparezca math error les dejo el codio no se que hice mal.  en este caso el numero 2 es el denominador que lo extrae del textBox1.text  pero no se si esta bien la comparacion
Código: C#
  1. else if (ondivi)
  2.             {
  3.                 numero2 = Convert.ToDouble(textBox1.Text);
  4.                 textBox1.Text = "";
  5.                 if (numero2 == 0)
  6.                     textBox1.Text = "math error";
  7.                 else
  8.                     division = (numero1 / numero2);
  9.                 textBox1.Text = Convert.ToString(division);
  10.                 button24.Enabled = true;
  11.                 ondivi = false;
  12.             }
  13.  
  14.  

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: divison entre 0
« Respuesta #1 en: Miércoles 28 de Octubre de 2009, 16:04 »
0
Bueno, segun lo que veo cuando numero2 es igual a 0 si te pone el "math error" pero luego seguidamente le metes:

textBox1.Text = Convert.ToString(division);

con lo que estas borrando el math error.

supongo que esta seria la solucion:
Código: C#
  1.  
  2.  else if (ondivi)
  3.              {
  4.                  numero2 = Convert.ToDouble(textBox1.Text);
  5.                  textBox1.Text = "";
  6.                  if (numero2 == 0)
  7.                      textBox1.Text = "math error";
  8.                  else
  9.                      {
  10.                      division = (numero1 / numero2);
  11.                      textBox1.Text = Convert.ToString(division);
  12.                      }
  13.                  button24.Enabled = true;
  14.                  ondivi = false;
  15.              }
  16.  
  17.  

digo supongo porque creo que el  button24.Enabled = true; y   ondivi = false; se ejecuten sea o no "numero2" igual a 0

recuerda que las sentencias if, else, else if, for, etc...
deben ir seguidos de { } y dentro de los corchetes metes todo el codigo que quieras que ejecute la sentencia.
si no los pones, que tambien es correcto, solo te ejecutarán la siguiente linea, que en este caso era el (division = (numero1 / numero2);) y las siguientes 3 lineas se ejecutan sea o no numero2 igual a cero.

Espero haberme explicado bien (soy un poco malo para ello) y espero que ese esa el error.

Si te quedas con cualquier duda avisa. Saludos :)

marcotulio

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: divison entre 0
« Respuesta #2 en: Miércoles 28 de Octubre de 2009, 22:11 »
0
tenias razon ese es el error ahor ya me da el "" math error"" gracias por la ayuda