Академический Документы
Профессиональный Документы
Культура Документы
DISEÑO
CODIFICACIÓN
namespace Calculadora_cientifica
{
public partial class Form1 : Form
{
bool detectaoperacion =
true,inicio=true,operacion1=true,operacion2=true,igual=true;
string operaciones,funciones;
double a,b,c,resultado;
double cantidad1;
double cantidad2;
public Form1()
{
InitializeComponent();
}
//Botones numericos
private void Button_N1_Click(object sender, EventArgs e)
{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "1";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "1";
}
}
}
}
}
private void Bottun_N7_Click(object sender, EventArgs e)
{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "7";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "7";
}
}
}
}
//Botón punto decimal
private void Button_Decimal_Click(object sender, EventArgs e)
{
Txtpantalla.Text = Txtpantalla.Text + ".";
btnpunto.Enabled = false;
}
//Botón de la función de suma
private void Button_Suma_Click(object sender, EventArgs e)
{
operaciones = "+";
detectaoperacion = true;
cantidad1 = double.Parse(Txtpantalla.Text);
}
//Botón de la función de resta
private void Button_Resta_Click(object sender, EventArgs e)
{
operaciones = "-";
detectaoperacion = true;
cantidad1 = double.Parse(Txtpantalla.Text);
}
//Botón de la función de multiplicar
private void Button_Multiplicacion_Click(object sender, EventArgs e)
{
operaciones = "*";
detectaoperacion = true;
cantidad1 = double.Parse(Txtpantalla.Text);
}
//Botón de la función de dividir
private void Button_Division_Click(object sender, EventArgs e)
{
operaciones = "/";
detectaoperacion = true;
cantidad1 = double.Parse(Txtpantalla.Text);
}
//Método con las operaciones de + - * /
private void Operaciones(double valor1, double valor2)
{
switch (operaciones)
{
case "+":
resultado = cantidad1 + cantidad2;
Txtpantalla.Text = resultado.ToString();
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
break;
case "-":
resultado = cantidad1 - cantidad2;
Txtpantalla.Text = resultado.ToString();
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
break;
case "*":
resultado = cantidad1 * cantidad2;
Txtpantalla.Text = resultado.ToString();
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
break;
case "/":
if (cantidad2 == 0)
{
Txtpantalla.Text = "ERROR";
break;
}
else
{
resultado = cantidad1 / cantidad2;
Txtpantalla.Text = resultado.ToString();
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
break;
}
case "raizX":
if (valor2<=0)
{
TextBox_Principal.Text="Error";
break;
}
else
{
Txtpantalla.Text=cantidad2+""+Txtpantalla.Text;
Txtpantalla.Text=Txtpantalla.Text.Remove(Txtpantalla.Text.Count()-
TextBox_Principal.Text.Count());
a=1;
c=a/cantidad2;
TextBox_Principal.Text=Math.Pow(valor1,c).ToString();
break;
}
switch (operaciones)
{
case "+":
case "-":
resultado = cantidad1 - cantidad2;
Txtpantalla.Text = resultado.ToString();
break;
case "/":
resultado = cantidad1 / cantidad2;
Txtpantalla.Text = resultado.ToString();
break;
case "*":
resultado = cantidad1 * cantidad2;
Txtpantalla.Text = resultado.ToString();
break;
}
}
//Botón con la función de RAIZ CUADRADA
private void Button_RaizCuadrada_Click(object sender, EventArgs e)
{
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
if (cantidad1 <= 0)
{
Txtpantalla.Text = "sqrt(" + cantidad1 + ")";
Txtpantalla.Text = Convert.ToString(Math.Sqrt(cantidad1));
}
else
{
Txtpantalla.Text = "ERROR";
}
}
}
//Botón con la función de C
private void Button_C_Click(object sender, EventArgs e)
{
Txtpantalla.Clear();
}
//Botón con la función de CE
private void Button_CE_Click(object sender, EventArgs e)
{
Txtpantalla.Text = "";
//Funciones trigonometricas
private void Trigonometría()
{
if (RadioButton_Sexages.Checked)
{
switch (funciones)
{
//Botón seno
case "sin":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "sin(" + cantidad1.ToString() + ")";
Txtpantalla.Text = Convert.ToString(Math.Sin(Math.PI *
(cantidad1) / 180));
break;
// Boton "asin"
case "asin":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "asin(" + cantidad1.ToString() + ")";
Txtpantalla.Text = Convert.ToString(Math.Asin(Math.PI *
(cantidad1) / 180));
break;
//Botón coseno
case "cos":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "cos(" + cantidad1.ToString() + ")";
Txtpantalla.Text = Convert.ToString(Math.Cos(Math.PI *
(cantidad1) / 180));
break;
//Boton acos
case "acos":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "acos(" + cantidad1.ToString() + ")";
Txtpantalla.Text = Convert.ToString(Math.Acos(Math.PI *
(cantidad1) / 180));
break;
//Botón tangente
case "tan":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "tan(" + cantidad1.ToString() + ")";
Txtpantalla.Text = Convert.ToString(Math.Tan(Math.PI *
(cantidad1) / 180));
break;
//Botón atan
case "atan":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "acos(" + cantidad1.ToString() + ")";
Txtpantalla.Text = Convert.ToString(Math.Atan(Math.PI *
(cantidad1) / 180));
break;
}
}
else
{
if (RadioButton_Radianes.Checked)
{
switch (funciones)
{
//Botón seno
case "sin":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "sin(" + cantidad1.ToString() +
")";
Txtpantalla.Text =
Convert.ToString(Math.Sin(cantidad1));
break;
// Boton "asin"
case "asin":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "asin(" + cantidad1.ToString() +
")";
Txtpantalla.Text =
Convert.ToString(Math.Asin(cantidad1));
break;
//Botón coseno
case "cos":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "cos(" + cantidad1.ToString() +
")";
Txtpantalla.Text =
Convert.ToString(Math.Cos(cantidad1));
break;
//Boton acos
case "acos":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "acos(" + cantidad1.ToString() +
")";
Txtpantalla.Text =
Convert.ToString(Math.Acos(cantidad1));
break;
//Botón tangente
case "tan":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "tan(" + cantidad1.ToString() +
")";
Txtpantalla.Text =
Convert.ToString(Math.Tan(cantidad1));
break;
//Botón atan
case "atan":
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "acos(" + cantidad1.ToString() +
")";
Txtpantalla.Text =
Convert.ToString(Math.Atan(cantidad1));
break;
}
}
}
}
private void Button_sin_Click(object sender, EventArgs e)
{
funciones="sin";
Trigonometría();
}
private void Button_Cos_Click(object sender, EventArgs e)
{
funciones="cos";
Trigonometría();
}
private void Button_Tan_Click(object sender, EventArgs e)
{
funciones="tan";
Trigonometría();
}
//Botón coseno inverso
private void Button_Acos_Click(object sender, EventArgs e)
{
funciones = "cos";
Trigonometría();
}
//Botón tangente inverso
private void Button_Atan_Click(object sender, EventArgs e)
{
funciones = "tan";
Trigonometría();
}
//Botón que saca la raiz x de un numero
private void Button_RaizX_Click(object sender, EventArgs e)
{
inicio = true;
cantidad1 = Convert.ToDouble(TextBox_Principal.Text);
Txtpantalla.Text = "√" + cantidad1;
operaciones="raizx";
operacion1=false;
igual= true;
}
//Botón que eleva a x al cubo
private void Button_Cubo_Click(object sender, EventArgs e)
{
cantidad1 = Convert.ToDouble(TextBox_Principal.Text);
Txtpantalla.Text="cube("+cantidad1.ToString()+")";
TextBox_Principal.Text= Math.Pow (cantidad1,3).ToString();
}
//Botón que devuelve el factorial de un numero
private void Button_Factorial_Click(object sender, EventArgs e)
{
a = 1;
cantidad1 = Convert.ToDouble(TextBox_Principal.Text);
Txtpantalla.Text = "fact" + cantidad1.ToString() + ")";
for (b = 1; b <= cantidad1; b++)
{
a = a * b;
}
TextBox_Principal.Text = Convert.ToString(a);
{
}
}
//Botón de la raíz cubica
private void Button_RaizCubica_Click(object sender, EventArgs e)
{
cantidad1 = Convert.ToDouble(TextBox_Principal.Text);
a = 1;
b=3;
c=a/b;
TextBox_Principal.Text = Math.Pow(cantidad1, c).ToString();
Txtpantalla.Text = "cuberoot(" + cantidad1.ToString() + ")";
}
//Botón eleva a x al cuadrado
private void Button_Cuadrado_Click(object sender, EventArgs e)
{
cantidad1 = Convert.ToDouble(TextBox_Principal.Text);
Txtpantalla.Text = "sqrt" + cantidad1.ToString() + ")";
TextBox_Principal.Text = Math.Pow(cantidad1,2).ToString();
}
private void Txtpantalla_TextChanged(object sender, EventArgs e)
{
}
}
PROGRAMA