Lic. Alfredo Enrique Zelaya Mejia
Contador y Auditor
Visite nuestra pagina web aqui
se utiliza Visual Studio
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MiLibreriaDeClases
{
public class Calculos
{
/* numeros primos
* ejemplo, el numero 6 no es primo ya que es divisble entre 2, 3 y 6
* sin embargo el 5 sí es primo
* aqui se usa MOD = muestra el residuo de una division
*/
/* creamos un metodo para el calculo del numero primo
* este meto de booleano, retorna true o false
*/
public bool NumeroPrimo(int numero)
{
bool EsPrimo = true;
for (int i = numero - 1; i >= 2; i--)
// i-- significa que la variable i disminuye una unidad por cada vuelta
{
if (numero % i == 0)
{
// no es primo
EsPrimo = false;
break; //se sale del ciclo for
}// cierr del if
}// cierre del ciclo for
if (EsPrimo)
return true;
else
return false;
}// llave de cierre del metodo del calculo del numero primo
/* meotod para calcular el factorial de un nuemro
* n! = n*n-1*n-2*n-3*...*1
* 5! = 5*4*3*2*1 = 120
*/
public long Factorial(int numero)
{
long fact = 1;
for (int i = 1; i <= numero; i++)
{
fact = fact * i;
}// cierre del ciclo for del emtodo factorial
return fact;
// retona el factorial del numero
}// llave de cierre del metodo factorial
/* este es un metodo de nos permite convertir temparaturas entre diferentes
* sistemas tales como centigrados, farengeit, kelvin, etc
*/
public double Temperatura(float grados, int tipo)
{
double temp = 0;
switch (tipo) // es el equivalente de la estructura hagase segun el caso
{
case 1:// convertir de °C a °F
// °F = 9 * °C / 5 + 32
temp = 9 * grados / 5 + 32;
break;
case 2:// convertir de °F a °C
// °C = (°F-32)*(5/9)
temp = (grados - 32) * (5 / 9);
break;
case 3:// convetir de °K a °C
// °C = °K -273.15
temp = grados - 273.15;
break;
default:
temp = 0;
break;
} // cierre de switch
return temp;
} // cierre del metodo de temparutra
}//llave de cierre de la clase de calculo
public class Funciones
{
/*
* se creara un meto de devuelva un calculo de un descuento
*/
public float CalcularDesucento(float monto, float porc)
{
float desc = 0;
desc = monto * (porc / 100);
return desc;
} // cierr del metood CalcularDesucento
public float CalcularRenta(float monto)
{
return monto * 0.1f;// f indica que el numero que se esta digitando es un float
}// cierre del metodo calculo de renta
}// cierre de la clase funciones
public class Autor
{
string _nombre = "Lic. Alfredo Zelaya";
string _fecha = "19 Abr 2015";
public string pAutor
// propiedad de lectura que devuelve el autor
// de la DLL
{
get { return _nombre; }
}// cierre de la propiedad pAutor
public string pFecha
{
get { return _fecha; }
}// cierre de la propiedad pFecha
}// fin de la clase Autor
}//cierre de la DLL
despues de generado el archivo DLL se procede a elaborar el formulario, esto lo hacemos de la siguiente manera:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MiLibreriaDeClases;//refencia de la DLL donde estan todos los metodos
namespace UsarDLL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Instancia de la clase Calculos de la DLL
Calculos cal = new Calculos();
// Instancia de la clase funcione de la DLL
Funciones fun = new Funciones();
// Instancia de la clase Autor de la DLL
Autor aut = new Autor();
private void btnPrimo_Click(object sender, EventArgs e)
{
int numero = int.Parse(txtValor1.Text);
bool EsPrimo = cal.NumeroPrimo(numero);
if (EsPrimo)
txtResultado.Text = "El numero es primo";
else//False
txtResultado.Text = "el numero no es primo";
}
private void btnFactorial_Click(object sender, EventArgs e)
{
int numero = int.Parse(txtValor1.Text);
long fact = cal.Factorial(numero);
txtResultado.Text = fact.ToString();
}
private void btnTemp_Click(object sender, EventArgs e)
{
float grados = float.Parse(txtValor1.Text);
int tipo = int.Parse(txtValor2.Text);
double temp = cal.Temperatura(grados, tipo);
/* cuando el tipo es 1 = es de C a F
* cuando el tipo es 2 = es de F a C
* cuando el tipo es 3 = es de K a C
*/
txtResultado.Text = temp.ToString();
}
private void btnDesc_Click(object sender, EventArgs e)
{
float monto = float.Parse(txtValor1.Text);
float porc = float.Parse(txtValor2.Text);
float desc = fun.CalcularDesucento(monto, porc);
txtResultado.Text = "Descuento: " + desc.ToString();
}
private void btnRenta_Click(object sender, EventArgs e)
{
float monto = float.Parse(txtValor1.Text);
float renta = fun.CalcularRenta(monto);
txtResultado.Text = "Renta: " + renta.ToString();
}
private void btnAutor_Click(object sender, EventArgs e)
{
txtResultado.Text = aut.pAutor + " - " + aut.pFecha;
}
}
}
No hay comentarios:
Publicar un comentario