Desarrollo de un conversor de divisas en C#: implementación y optimización
Clasificado en Informática
Escrito el en español con un tamaño de 2,98 KB
Desarrollo de un conversor de divisas en C#
Código fuente
A continuación, se presenta el código fuente en C# para un formulario (Form1
) que implementa un conversor de divisas.
namespace Gráfico
{
public partial class Form1 : Form
{
private Conversor conversor;// Postcondición: inicializamos el atributo conversor e inicializamos ambas listbox mediante una lista donde añadiremos cada Divisa a ambas listbox.
public Form1()
{
InitializeComponent();
conversor = new Conversor();
List<String> l = new List<string>();
l = Conversor.mostrarDivisas();
for (int i = 0; i < l.Count(); i++)
{
listBox1.Items.Add(l[i]);
listBox2.Items.Add(l[i]);
}
}// Postcondición: tras hacer clic en el botón Salir, se cerrará la aplicación.
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}/* Precondición: en el textBox1 se deberá introducir un número para poder calcular el cambio.
Postcondición: utilizaremos TryParse ya que con dicho método vamos a obtener un booleano que nos dirá si el parámetro introducido,
en este caso el contenido del textBox1, es un double o no. Aquí se diferencian 3 casos:
1º Si introducimos un carácter por equivocación, el tryParse se pondrá a False y, por lo tanto, sabremos que el valor introducido es un carácter.
2º Si el valor introducido es un número negativo, se mostrará un MessageBox indicándolo.
3º Si el valor introducido es un double mayor que 0, se calculará perfectamente su resultado. */
private void button2_Click(object sender, EventArgs e)
{
String c = textBox1.Text;
double t = 0;
if (!Double.TryParse(c, out t))
{
MessageBox.Show("El valor introducido es un carácter", "Error");
} else
{
if (t > 0)
{
double r = this.conversor.Convertir(listBox2.SelectedItem.ToString(), listBox1.SelectedItem.ToString(), t);
textBox4.Text = Convert.ToString(r);
}
else
{
MessageBox.Show("El valor introducido es un número menor que 0", "Error");
}
}
}
}
}
Explicación del código
-
Constructor (
Form1()
): inicializa el formulario, crea una instancia de la claseConversor
y llena dos ListBoxes (listBox1
ylistBox2
) con las divisas disponibles obtenidas del métodoConversor.mostrarDivisas()
. -
Botón Salir (
button1_Click
): cierra la aplicación al hacer clic en el botón "Salir". -
Botón Convertir (
button2_Click
):- Obtiene el valor introducido en
textBox1
. - Utiliza
Double.TryParse
para validar si el valor es un número double válido. - Si no es válido, muestra un mensaje de error.
- Si es un número negativo, muestra un mensaje de error.
- Si es un número positivo, llama al método
Convertir
de la claseConversor
para realizar la conversión. - Muestra el resultado en
textBox4
.
- Obtiene el valor introducido en