Вы находитесь на странице: 1из 13

Calculadora Científica

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_N2_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "2";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "2";

}
}

private void Bottun_N3_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "3";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "3";

}
}

private void Bottun_N4_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "4";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "4";

private void Bottun_N5_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "5";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "5";

private void Bottun_N6_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "6";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "6";

}
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";

private void Bottun_N8_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "8";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "8";

}
}

private void Bottun_N9_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "9";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "9";

private void Button_N0_Click(object sender, EventArgs e)


{
if (Txtpantalla.TextLength <= 15)
if (detectaoperacion)
{
Txtpantalla.Text = "";
Txtpantalla.Text = "0";
detectaoperacion = false;
}
else
{
Txtpantalla.Text = Txtpantalla.Text + "0";

}
}
//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;
}

//Botón de la función de igual


private void Button_gual_Click(object sender, EventArgs e)
{
cantidad2 = double.Parse(Txtpantalla.Text);
detectaoperacion = true;

switch (operaciones)
{

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;

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 que realiza la operacion inversa 1/x


private void Button_1x_Click(object sender, EventArgs e)
{
cantidad1 = Convert.ToDouble(Txtpantalla.Text);
Txtpantalla.Text = "Reciproco(" + cantidad1.ToString() + ")";
Txtpantalla.Text = Convert.ToString(1 / cantidad1);

}
//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 seno inverso


private void Button_Asin_Click(object sender, EventArgs e)
{
funciones = "sin";
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 eleva a x a la -1


private void Button_Xmenos1_Click(object sender, EventArgs e)
{
cantidad1 = Convert.ToDouble(TextBox_Principal.Text);
Txtpantalla.Text = cantidad1.ToString() + "^-1";
TextBox_Principal.Text = Math.Pow(cantidad1, -1).ToString();
}

//Botón que devuelve el valor de e


private void Btne_Click(object sender, EventArgs e)
{
Txtpantalla.Text = "";
TextBox_Principal.Text = Convert.ToString(Math.E);

}
//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();

//Botón del logaritmo neperiano


private void Button_log_Click(object sender, EventArgs e)
{
cantidad1 = Convert.ToDouble(TextBox_Principal.Text);
Txtpantalla.Text = "log(" + cantidad1.ToString() + ")";
TextBox_Principal.Text = Convert.ToString(Math.Log10(cantidad1));

}
private void Txtpantalla_TextChanged(object sender, EventArgs e)
{

private void Form1_Load(object sender, EventArgs e)


{

}
}
PROGRAMA

Вам также может понравиться