SlideShare una empresa de Scribd logo
1G:respaldo importantedocumentospracticasCap03PropuestosCalculadoraForm1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Calculadora
{
public partial class Form1 : Form
{
private enum Entrada
{
NINGUNA,
DIGITO,
OPERADOR,
CE,
MEMMAS
}
private Entrada ultimaEntrada;
private bool comaDecimal;
private char operador;
private byte numOperandos;
private double operando1;
private double operando2;
private double memoria;
public Form1()
{
InitializeComponent();
ultimaEntrada = Entrada.NINGUNA;
comaDecimal = false;
operador = '0';
numOperandos = 0;
operando1 = 0;
operando2 = 0;
memoria = 0;
}
private void btDigito_Click(object sender, EventArgs e)
{
Button objButton = (Button)sender;
if (ultimaEntrada != Entrada.DIGITO)
{
if (objButton.Text == "0")
{
return;
}
etPantalla.Text = "";
ultimaEntrada = Entrada.DIGITO;
comaDecimal = false;
}
etPantalla.Text += objButton.Text;
}
private void btComaDec_Click(object sender, EventArgs e)
{
if (ultimaEntrada != Entrada.DIGITO)
{
etPantalla.Text = "0,";
ultimaEntrada = Entrada.DIGITO;
}
else if (comaDecimal == false)
etPantalla.Text = etPantalla.Text + ",";
2G:respaldo importantedocumentospracticasCap03PropuestosCalculadoraForm1.cs
comaDecimal = true;
}
private void btOperacion_Click(object sender, EventArgs e)
{
// Obtener el id del botón que generó el evento
Button objButton = (Button)sender;
// Obtener el texto del botón pulsado
string textoBoton = objButton.Text;
if ((numOperandos == 0) && (textoBoton[0] == '-'))
ultimaEntrada = Entrada.DIGITO;
if (ultimaEntrada == Entrada.DIGITO)
numOperandos += 1;
if (numOperandos == 1)
operando1 = double.Parse(etPantalla.Text);
else if (numOperandos == 2)
{
operando2 = double.Parse(etPantalla.Text);
switch (operador)
{
case '+':
operando1 += operando2;
break;
case '-':
operando1 -= operando2;
break;
case 'x':
operando1 *= operando2;
break;
case '/':
operando1 /= operando2;
break;
case '=':
operando1 = operando2;
break;
}
// Visualizar el resultado
etPantalla.Text = operando1.ToString();
numOperandos = 1;
}
operador = textoBoton[0]; // carácter de la posición 0
ultimaEntrada = Entrada.OPERADOR;
}
private void btTantoPorCiento_Click(object sender, EventArgs e)
{
double resultado;
if (ultimaEntrada == Entrada.DIGITO)
{
resultado = operando1 * double.Parse(etPantalla.Text) / 100;
// Visualizar el resultado
etPantalla.Text = resultado.ToString();
// Simular que se ha hecho clic en "="
btIgual.PerformClick();
// Enfocar la tecla %
btTantoPorCiento.Focus();
}
}
private void btIniciar_Click(object sender, EventArgs e)
{
etPantalla.Text = "0,";
ultimaEntrada = Entrada.NINGUNA;
comaDecimal = false;
3G:respaldo importantedocumentospracticasCap03PropuestosCalculadoraForm1.cs
operador = '0';
numOperandos = 0;
operando1 = 0;
operando2 = 0;
}
private void btBorrarEntrada_Click(object sender, EventArgs e)
{
etPantalla.Text = "0,";
ultimaEntrada = Entrada.CE;
comaDecimal = false;
}
private void btCambiarSigno_Click(object sender, EventArgs e)
{
// Cambiar el signo del dato mostrado en la pantalla
double resultado;
resultado = -double.Parse(etPantalla.Text);
// Visualizar el resultado
etPantalla.Text = resultado.ToString();
}
private void btRaizCuadrada_Click(object sender, EventArgs e)
{
// Raíz cuadrada
double resultado;
resultado = Math.Sqrt(double.Parse(etPantalla.Text));
// Visualizar el resultado
etPantalla.Text = resultado.ToString();
}
private void btSumAMem_Click(object sender, EventArgs e)
{
memoria += double.Parse(etPantalla.Text);
ultimaEntrada = Entrada.MEMMAS;
}
private void btLeerMem_Click(object sender, EventArgs e)
{
// Leer el valor de memoria
etPantalla.Text = memoria.ToString();
}
private void btBorrarMem_Click(object sender, EventArgs e)
{
// Borrar memoria
memoria = 0;
}
}
}

Más contenido relacionado

La actualidad más candente

Practica de visual basic sistema de facturación
Practica de visual basic sistema de facturaciónPractica de visual basic sistema de facturación
Practica de visual basic sistema de facturación
milenka796
 
Explicacion
ExplicacionExplicacion
Explicacion
macorchero001
 
Por pagar
Por pagarPor pagar
Ejemplo de aplicación cliente-servidor en C#
Ejemplo de aplicación cliente-servidor  en C#Ejemplo de aplicación cliente-servidor  en C#
Ejemplo de aplicación cliente-servidor en C#
José Antonio Sandoval Acosta
 
Programacion ii
Programacion iiProgramacion ii
Programacion ii
Pipe Triana
 
Hp
HpHp
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
jubacalo
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
edgar muñoz
 
Ejercicios de programacion concurrente
Ejercicios de programacion concurrenteEjercicios de programacion concurrente
Ejercicios de programacion concurrente
edgar muñoz
 
026 guia j query
026 guia j query026 guia j query
026 guia j query
JoseMilton6
 
Manejo de Eventos en java
Manejo de Eventos en javaManejo de Eventos en java
Manejo de Eventos en java
Silvana Vargas
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScript
jubacalo
 
Qué es SQL
Qué es SQL Qué es SQL
Qué es SQL
William Sánchez
 
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVANOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA
Shirley Contreras Ulloa
 
Tutorial n°3 excel 2010
Tutorial n°3 excel 2010Tutorial n°3 excel 2010
Tutorial n°3 excel 2010
Cristian Salazar C.
 
Codigo tarea deposito
Codigo tarea depositoCodigo tarea deposito
Codigo tarea deposito
John Davidson Redon
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
climancc
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
Ismael Perea
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Silvia Boscan
 
Copilacion de ejercicios en java
Copilacion de ejercicios en javaCopilacion de ejercicios en java
Copilacion de ejercicios en java
Jonathan Israel
 

La actualidad más candente (20)

Practica de visual basic sistema de facturación
Practica de visual basic sistema de facturaciónPractica de visual basic sistema de facturación
Practica de visual basic sistema de facturación
 
Explicacion
ExplicacionExplicacion
Explicacion
 
Por pagar
Por pagarPor pagar
Por pagar
 
Ejemplo de aplicación cliente-servidor en C#
Ejemplo de aplicación cliente-servidor  en C#Ejemplo de aplicación cliente-servidor  en C#
Ejemplo de aplicación cliente-servidor en C#
 
Programacion ii
Programacion iiProgramacion ii
Programacion ii
 
Hp
HpHp
Hp
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Ejercicios de programacion concurrente
Ejercicios de programacion concurrenteEjercicios de programacion concurrente
Ejercicios de programacion concurrente
 
026 guia j query
026 guia j query026 guia j query
026 guia j query
 
Manejo de Eventos en java
Manejo de Eventos en javaManejo de Eventos en java
Manejo de Eventos en java
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScript
 
Qué es SQL
Qué es SQL Qué es SQL
Qué es SQL
 
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVANOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA
 
Tutorial n°3 excel 2010
Tutorial n°3 excel 2010Tutorial n°3 excel 2010
Tutorial n°3 excel 2010
 
Codigo tarea deposito
Codigo tarea depositoCodigo tarea deposito
Codigo tarea deposito
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Copilacion de ejercicios en java
Copilacion de ejercicios en javaCopilacion de ejercicios en java
Copilacion de ejercicios en java
 

Similar a Calculadora

C# calculadora
C# calculadoraC# calculadora
In 21
In 21In 21
Ejemplos recursividad.docx
Ejemplos recursividad.docxEjemplos recursividad.docx
Ejemplos recursividad.docx
KevinPeaChavez
 
Ejemplos recursividad.docx
Ejemplos recursividad.docxEjemplos recursividad.docx
Ejemplos recursividad.docx
KevinPeaChavez
 
Ejercicio simple java
Ejercicio simple javaEjercicio simple java
Ejercicio simple java
coruniversitec
 
Ejercicios con arreglos presentación gráfica
Ejercicios con arreglos presentación gráficaEjercicios con arreglos presentación gráfica
Ejercicios con arreglos presentación gráfica
Diroplan
 
Ppt diagrama flujo tipo_datos_variables
Ppt diagrama flujo tipo_datos_variablesPpt diagrama flujo tipo_datos_variables
Ppt diagrama flujo tipo_datos_variables
Centro Educativos JSP / UTP
 
Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2
xjordi
 
Resumen
ResumenResumen
Jose
JoseJose
Taller interfaz 2
Taller interfaz 2Taller interfaz 2
Taller interfaz 2
Řỉgö VẻGầ
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
andermijan
 
Proyecto final calculadora
Proyecto final calculadoraProyecto final calculadora
Proyecto final calculadora
JuniorPerez43
 
Resumen
ResumenResumen
Arduino Basico.pptx
Arduino Basico.pptxArduino Basico.pptx
Arduino Basico.pptx
rosbelomarresendezra1
 
Ejemplos_funciones.pdf
Ejemplos_funciones.pdfEjemplos_funciones.pdf
Ejemplos_funciones.pdf
DavidQuispeHuamani1
 
ListBox in C#
ListBox in C#ListBox in C#
ListBox in C#
atakweb
 

Similar a Calculadora (17)

C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
In 21
In 21In 21
In 21
 
Ejemplos recursividad.docx
Ejemplos recursividad.docxEjemplos recursividad.docx
Ejemplos recursividad.docx
 
Ejemplos recursividad.docx
Ejemplos recursividad.docxEjemplos recursividad.docx
Ejemplos recursividad.docx
 
Ejercicio simple java
Ejercicio simple javaEjercicio simple java
Ejercicio simple java
 
Ejercicios con arreglos presentación gráfica
Ejercicios con arreglos presentación gráficaEjercicios con arreglos presentación gráfica
Ejercicios con arreglos presentación gráfica
 
Ppt diagrama flujo tipo_datos_variables
Ppt diagrama flujo tipo_datos_variablesPpt diagrama flujo tipo_datos_variables
Ppt diagrama flujo tipo_datos_variables
 
Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2
 
Resumen
ResumenResumen
Resumen
 
Jose
JoseJose
Jose
 
Taller interfaz 2
Taller interfaz 2Taller interfaz 2
Taller interfaz 2
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Proyecto final calculadora
Proyecto final calculadoraProyecto final calculadora
Proyecto final calculadora
 
Resumen
ResumenResumen
Resumen
 
Arduino Basico.pptx
Arduino Basico.pptxArduino Basico.pptx
Arduino Basico.pptx
 
Ejemplos_funciones.pdf
Ejemplos_funciones.pdfEjemplos_funciones.pdf
Ejemplos_funciones.pdf
 
ListBox in C#
ListBox in C#ListBox in C#
ListBox in C#
 

Último

TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (8)

TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

Calculadora

  • 1. 1G:respaldo importantedocumentospracticasCap03PropuestosCalculadoraForm1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Calculadora { public partial class Form1 : Form { private enum Entrada { NINGUNA, DIGITO, OPERADOR, CE, MEMMAS } private Entrada ultimaEntrada; private bool comaDecimal; private char operador; private byte numOperandos; private double operando1; private double operando2; private double memoria; public Form1() { InitializeComponent(); ultimaEntrada = Entrada.NINGUNA; comaDecimal = false; operador = '0'; numOperandos = 0; operando1 = 0; operando2 = 0; memoria = 0; } private void btDigito_Click(object sender, EventArgs e) { Button objButton = (Button)sender; if (ultimaEntrada != Entrada.DIGITO) { if (objButton.Text == "0") { return; } etPantalla.Text = ""; ultimaEntrada = Entrada.DIGITO; comaDecimal = false; } etPantalla.Text += objButton.Text; } private void btComaDec_Click(object sender, EventArgs e) { if (ultimaEntrada != Entrada.DIGITO) { etPantalla.Text = "0,"; ultimaEntrada = Entrada.DIGITO; } else if (comaDecimal == false) etPantalla.Text = etPantalla.Text + ",";
  • 2. 2G:respaldo importantedocumentospracticasCap03PropuestosCalculadoraForm1.cs comaDecimal = true; } private void btOperacion_Click(object sender, EventArgs e) { // Obtener el id del botón que generó el evento Button objButton = (Button)sender; // Obtener el texto del botón pulsado string textoBoton = objButton.Text; if ((numOperandos == 0) && (textoBoton[0] == '-')) ultimaEntrada = Entrada.DIGITO; if (ultimaEntrada == Entrada.DIGITO) numOperandos += 1; if (numOperandos == 1) operando1 = double.Parse(etPantalla.Text); else if (numOperandos == 2) { operando2 = double.Parse(etPantalla.Text); switch (operador) { case '+': operando1 += operando2; break; case '-': operando1 -= operando2; break; case 'x': operando1 *= operando2; break; case '/': operando1 /= operando2; break; case '=': operando1 = operando2; break; } // Visualizar el resultado etPantalla.Text = operando1.ToString(); numOperandos = 1; } operador = textoBoton[0]; // carácter de la posición 0 ultimaEntrada = Entrada.OPERADOR; } private void btTantoPorCiento_Click(object sender, EventArgs e) { double resultado; if (ultimaEntrada == Entrada.DIGITO) { resultado = operando1 * double.Parse(etPantalla.Text) / 100; // Visualizar el resultado etPantalla.Text = resultado.ToString(); // Simular que se ha hecho clic en "=" btIgual.PerformClick(); // Enfocar la tecla % btTantoPorCiento.Focus(); } } private void btIniciar_Click(object sender, EventArgs e) { etPantalla.Text = "0,"; ultimaEntrada = Entrada.NINGUNA; comaDecimal = false;
  • 3. 3G:respaldo importantedocumentospracticasCap03PropuestosCalculadoraForm1.cs operador = '0'; numOperandos = 0; operando1 = 0; operando2 = 0; } private void btBorrarEntrada_Click(object sender, EventArgs e) { etPantalla.Text = "0,"; ultimaEntrada = Entrada.CE; comaDecimal = false; } private void btCambiarSigno_Click(object sender, EventArgs e) { // Cambiar el signo del dato mostrado en la pantalla double resultado; resultado = -double.Parse(etPantalla.Text); // Visualizar el resultado etPantalla.Text = resultado.ToString(); } private void btRaizCuadrada_Click(object sender, EventArgs e) { // Raíz cuadrada double resultado; resultado = Math.Sqrt(double.Parse(etPantalla.Text)); // Visualizar el resultado etPantalla.Text = resultado.ToString(); } private void btSumAMem_Click(object sender, EventArgs e) { memoria += double.Parse(etPantalla.Text); ultimaEntrada = Entrada.MEMMAS; } private void btLeerMem_Click(object sender, EventArgs e) { // Leer el valor de memoria etPantalla.Text = memoria.ToString(); } private void btBorrarMem_Click(object sender, EventArgs e) { // Borrar memoria memoria = 0; } } }