Está en la página 1de 8

Programación Visual Avanzada

Carpeta de Ejercicios
EJERCICIO Nº 2

Insertamos:

 3 controles label
 Tres controles textBox
 Cuatro controles button

Label (Etiqueta)

Al primer label lo llamaremos lbl_numero en su propiedad name y Numero 1 en su propiedad


Text

Al segundo label lo llamaremos lbl_numero2 en su propiedad name y Numero 2 en su


propiedad Text

Al tercer label lo llamaremos lbl_resultado en su propiedad name y Resultado en su propiedad


Text

Texbox (Caja de Texto)

Al primer texbox lo llamaremos txt_numero1

Al segundo texbox lo llamaremos txt_numero2

Al tercer texbox lo llamaremos txt_resultado


Button (Botón)

Al primer botón lo llamaremos btn_suma en su propiedad Name y + en su propiedad Text

Al segundo btn_resta y -

Al tercero btn_multi y *

Al cuarto btn_div y /

Luego hacemos doble click sobre el control btn_suma y escribimos el siguiente código:

numero1 = Convert.ToInt32(txt_numero1.Text);
numero2 = Convert.ToInt32(txt_numero2.Text);
resultado = numero1 + numero2;
txt_resultado.Text = Convert.ToString(resultado);

Nos quedará así:

Luego agregamos este código para avisarle al programa con que datos vamos a trabajar. Esto
se hace al inicio de la clase. (Atributos).

decimal resultado, numero1 , numero2; // Acá inicializamos los atributos que


vamos a utilizar durante todo el programa. El formato es: TipodeDato
nombreAtributo.
Ahora vamos por partes:
numero1 = Convert.ToInt32(txt_numero1.Text);

En esta línea le asigno a numero1 el valor que venga por la caja txt_numero1.Text

Sin embargo, tengo un problema: numero1 acepta valores Decimal y txt_numero1


acepta valores de texto (string)

Entonces necesito un método que me permita convertir a número un texto.


Esto lo hace Convert.ToInt32()

Para mostrar el resultado en txt_resultado.Text lo tengo que convertir a Cadena.

Esto lo hace Convert.ToString()

txt_resultado.Text = Convert.ToString(resultado);

Pasemos a los siguientes botones:

Para el botón btn_resta el código es el siguiente:

private void btn_resta_Click(object sender, EventArgs e)


{

numero1 = Convert.ToInt32(txt_numero1.Text);
numero2 = Convert.ToInt32(txt_numero2.Text);
resultado = numero1 - numero2;
txt_resultado.Text = Convert.ToString(resultado);
}

Para el botón btn_multi es código es el siguiente:

private void btn_multi_Click(object sender, EventArgs e)


{

numero1 = Convert.ToInt32(txt_numero1.Text);
numero2 = Convert.ToInt32(txt_numero2.Text);
resultado = numero1 * numero2;
txt_resultado.Text = Convert.ToString(resultado);
}
Ahora analizamos el botón btn_div:

private void btn_div_Click(object sender, EventArgs e)


{
try
{
decimal resultado = 0, numero1, numero2;
numero1 = Convert.ToDecimal(txt_numero1.Text);
numero2 = Convert.ToDecimal(txt_numero2.Text);
resultado = numero1 / numero2;
resultado = Math.Round(Convert.ToDecimal(resultado), 2);
txt_resultado.Text = Convert.ToString(resultado);
}
catch (DivideByZeroException)
{

MessageBox.Show("La division por cero no está permitida");

}
}

Este botón ya es un poco más complejo.

Vamos por partes:

resultado = Math.Round(resultado, 2);

En esta línea le estoy pidiendo que al resultado le asigne 2 dígitos decimales.


Math.Round(VALOR, CANTIDAD DE DECIMALES)

A su vez estoy controlando que el programa no se “cuelgue” si divido por Cero

try
{
decimal resultado = 0, numero1, numero2;
numero1 = Convert.ToDecimal(txt_numero1.Text);
numero2 = Convert.ToDecimal(txt_numero2.Text);
resultado = numero1 / numero2;
resultado = Math.Round(Convert.ToDecimal(resultado), 2);
txt_resultado.Text = Convert.ToString(resultado);
}
catch (DivideByZeroException)
{

MessageBox.Show("La division por cero no está permitida");

}
El formato es:

Try {

DIVIDIR

} Catch( DivideByZeroException){ // Si detecta una división por cero, lanza una


excepción

ENTONCES MUESTRO UN MENSAJE EN VEZ DE QUE SE CUELGUE.


}

Pregunta: ¿Qué pasa si no ingresamos valores en las cajas txt_numero1 y


txt_numero2?

CODIGO COMPLETO DE LOS EJERCICIOS 1 y 2:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

decimal resultado, numero1 , numero2;

private void btn_enviar_Click(object sender, EventArgs e)


{
txt_datos.Text = txt_nombre.Text;
txt_nombre.Text = "";
btn_enviar.Enabled = false;
txt_nombre.Enabled = false;
txt_datos.ReadOnly = true;
}

private void btn_suma_Click(object sender, EventArgs e)


{
numero1 = Convert.ToInt32(txt_numero1.Text);
numero2 = Convert.ToInt32(txt_numero2.Text);
resultado = numero1 + numero2;
txt_resultado.Text = Convert.ToString(resultado);

private void btn_resta_Click(object sender, EventArgs e)


{

numero1 = Convert.ToInt32(txt_numero1.Text);
numero2 = Convert.ToInt32(txt_numero2.Text);
resultado = numero1 - numero2;
txt_resultado.Text = Convert.ToString(resultado);
}

private void btn_multi_Click(object sender, EventArgs e)


{

numero1 = Convert.ToInt32(txt_numero1.Text);
numero2 = Convert.ToInt32(txt_numero2.Text);
resultado = numero1 * numero2;
txt_resultado.Text = Convert.ToString(resultado);
}

private void btn_div_Click(object sender, EventArgs e)


{
try
{

numero1 = Convert.ToDecimal(txt_numero1.Text);
numero2 = Convert.ToDecimal(txt_numero2.Text);
resultado = numero1 / numero2;
resultado = Math.Round(resultado, 2);
txt_resultado.Text = Convert.ToString(resultado);
}
catch (DivideByZeroException)
{

MessageBox.Show("La división por cero no está permitida");

}
}
}
}

También podría gustarte