SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Calculadora en C Sharp (Visual Studio 2015).
Realiza las operaciones de forma secuencial, es decir, conforme van ingresándose se van realizando
los cálculos a manera de una sumadora sencilla, no hay aplicación de reglas de matemática discreta.
 Realiza las cuatro operaciones matemáticas básicas,
suma, resta, multiplicación y división.
 Tiene límite de 10 operaciones en memoria.
 Las operaciones son almacenadas en un arreglo,
cuando se da clic en el botón “=” se realizan todas las
operaciones de forma secuencial.
 Envía mensajes a la pantalla cuando hay error en el
cálculo como una división por cero.
 Envía mensaje a la pantalla cuando se intenta exceder
las 10 operaciones límite.
Desarrollo del programa en Visual Studio 2015; C Sharp.
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;
namespace calculadora
{
public partial class Form1 : Form
{
int[] valores = new int[10]; // permite maximo 10 operaciones secuenciales
string[] operaciones = new string[10];
int indice = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Shown(object sender, EventArgs e)
{
inicializa();
}
private void uno_Click(object sender, EventArgs e)
{
teclas("1");
}
private void borrar_Click(object sender, EventArgs e)
{
inicializa();
}
private void dos_Click(object sender, EventArgs e)
{
teclas("2");
}
private void tres_Click(object sender, EventArgs e)
{
teclas("3");
}
private void cuatro_Click(object sender, EventArgs e)
{
teclas("4");
}
private void cinco_Click(object sender, EventArgs e)
{
teclas("5");
}
private void seis_Click(object sender, EventArgs e)
{
teclas("6");
}
private void siete_Click(object sender, EventArgs e)
{
teclas("7");
}
private void ocho_Click(object sender, EventArgs e)
{
teclas("8");
}
private void nueve_Click(object sender, EventArgs e)
{
teclas("9");
}
private void cero_Click(object sender, EventArgs e)
{
teclas("0");
}
private void mas_Click(object sender, EventArgs e)
{
op_mate("+");
}
private void menos_Click(object sender, EventArgs e)
{
op_mate("-");
}
private void por_Click(object sender, EventArgs e)
{
op_mate("*");
}
private void div_Click(object sender, EventArgs e)
{
op_mate("/");
}
private void igual_Click(object sender, EventArgs e)
{
igualK();
}
private void reinicia_Click(object sender, EventArgs e)
{
reiniciarCE();
}
private void igual_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void cero_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void uno_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void dos_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void tres_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void cuatro_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void cinco_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void seis_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void siete_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void ocho_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void nueve_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void mas_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void menos_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void por_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void div_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void borrar_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void reinicia_KeyPress(object sender, KeyPressEventArgs e)
{
teclas(e.KeyChar.ToString());
}
private void inicializa()
{
resultado.Text = "0";
}
private void op_mate(string simbolo)
{
if (indice > 8) // se cargan los primeros 9 elementos del arreglo
{
MessageBox.Show("Límite de operaciones acanzado", "Error");
return;
}
int cantidad = Int32.Parse(resultado.Text);
valores[indice] = cantidad;
operaciones[indice] = simbolo.Trim();
indice++;
ope.Text = ope.Text + resultado.Text + simbolo.Trim();
inicializa();
}
private void convierte()
{
int valor = Int32.Parse(resultado.Text);
resultado.Text = valor.ToString();
}
private void igualK()
{
if (indice > 9) // se carga el decimo elemento del arreglo
{
MessageBox.Show("Límite de operaciones acanzado", "Error");
return;
}
int cantidad = Int32.Parse(resultado.Text);
valores[indice] = cantidad;
ope.Text = ope.Text + resultado.Text;
inicializa();
calcular();
}
private void reiniciarCE()
{
for (int i = 0; i <= 9; i++)
{
valores[i] = 0;
operaciones[i] = "";
}
ope.Text = "";
inicializa();
indice = 0;
}
private void calcular()
{
int res = valores[0];
for (int i = 1; i <= indice; i++)
{
try
{
if (operaciones[i - 1] == "+")
{
res = res + valores[i];
}
else
if (operaciones[i - 1] == "-")
{
res = res - valores[i];
}
else
if (operaciones[i - 1] == "*")
{
res = res * valores[i];
}
else
if (operaciones[i - 1] == "/")
{
res = res / valores[i];
}
}
catch (DivideByZeroException e)
{
inicializa();
MessageBox.Show("Operación no válida", "Error en operación");
return;
}
resultado.Text = res.ToString();
}
}
private void teclas(string tecla)
{
if (tecla == "1")
resultado.Text = resultado.Text + "1";
if (tecla == "2")
resultado.Text = resultado.Text + "2";
if (tecla == "3")
resultado.Text = resultado.Text + "3";
if (tecla == "4")
resultado.Text = resultado.Text + "4";
if (tecla == "5")
resultado.Text = resultado.Text + "5";
if (tecla == "6")
resultado.Text = resultado.Text + "6";
if (tecla == "7")
resultado.Text = resultado.Text + "7";
if (tecla == "8")
resultado.Text = resultado.Text + "8";
if (tecla == "9")
resultado.Text = resultado.Text + "9";
if (tecla == "0")
resultado.Text = resultado.Text + "0";
convierte();
if (tecla == "+")
op_mate("+");
if (tecla == "-")
op_mate("-");
if (tecla == "*")
op_mate("*");
if (tecla == "/")
op_mate("+/");
if (tecla == "=")
igualK();
if (tecla.ToUpper() == "C")
inicializa();
if (tecla.ToUpper() == "E")
reiniciarCE();
}
}
}

Más contenido relacionado

La actualidad más candente

Ejercicios y practicas en PHP
Ejercicios y practicas en PHPEjercicios y practicas en PHP
Ejercicios y practicas en PHPRobert Rodriguez
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasJunior Solano de Arco
 
Banco de preguntas de computacion i sistema operativo e internet-ok
Banco de preguntas de computacion i   sistema operativo e internet-okBanco de preguntas de computacion i   sistema operativo e internet-ok
Banco de preguntas de computacion i sistema operativo e internet-okdayanarturo
 
Actividad 1 Estructuras Discretas
Actividad 1 Estructuras DiscretasActividad 1 Estructuras Discretas
Actividad 1 Estructuras DiscretasYormanP
 
Ejercicios practicos basico de excel
Ejercicios practicos basico de excelEjercicios practicos basico de excel
Ejercicios practicos basico de excelAnielka Reyes
 
El ciclo mientras
El ciclo mientrasEl ciclo mientras
El ciclo mientrasAaronDBM
 
Banco de preguntas
Banco de preguntasBanco de preguntas
Banco de preguntasjamez36
 
Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo ikky2345
 
Ejerciciospseintparte3
Ejerciciospseintparte3Ejerciciospseintparte3
Ejerciciospseintparte3Claudia Poza
 
Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Arazelii Puentez
 
Python básico
Python básicoPython básico
Python básicoCodeSyntax
 
Número mayor y menor de una secuencia de enteros positivos en C++.
Número mayor y menor de una secuencia de enteros positivos en  C++.Número mayor y menor de una secuencia de enteros positivos en  C++.
Número mayor y menor de una secuencia de enteros positivos en C++.Carlos Aviles Galeas
 
Estructura de datos power point
Estructura de datos power pointEstructura de datos power point
Estructura de datos power pointunachi
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 

La actualidad más candente (20)

ejercicios-pascal
ejercicios-pascalejercicios-pascal
ejercicios-pascal
 
Ejercicios y practicas en PHP
Ejercicios y practicas en PHPEjercicios y practicas en PHP
Ejercicios y practicas en PHP
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
 
Banco de preguntas de computacion i sistema operativo e internet-ok
Banco de preguntas de computacion i   sistema operativo e internet-okBanco de preguntas de computacion i   sistema operativo e internet-ok
Banco de preguntas de computacion i sistema operativo e internet-ok
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Actividad 1 Estructuras Discretas
Actividad 1 Estructuras DiscretasActividad 1 Estructuras Discretas
Actividad 1 Estructuras Discretas
 
Ejercicio excel formulas
Ejercicio excel formulasEjercicio excel formulas
Ejercicio excel formulas
 
Ejercicios practicos basico de excel
Ejercicios practicos basico de excelEjercicios practicos basico de excel
Ejercicios practicos basico de excel
 
El ciclo mientras
El ciclo mientrasEl ciclo mientras
El ciclo mientras
 
Banco de preguntas
Banco de preguntasBanco de preguntas
Banco de preguntas
 
Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo Metodo de la burbuja en algoritmo
Metodo de la burbuja en algoritmo
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Ejerciciospseintparte3
Ejerciciospseintparte3Ejerciciospseintparte3
Ejerciciospseintparte3
 
Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Cuestionario de algoritmoss2
Cuestionario de algoritmoss2
 
Python básico
Python básicoPython básico
Python básico
 
Número mayor y menor de una secuencia de enteros positivos en C++.
Número mayor y menor de una secuencia de enteros positivos en  C++.Número mayor y menor de una secuencia de enteros positivos en  C++.
Número mayor y menor de una secuencia de enteros positivos en C++.
 
Estructura de datos power point
Estructura de datos power pointEstructura de datos power point
Estructura de datos power point
 
Excel avanzado
Excel avanzadoExcel avanzado
Excel avanzado
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 

Destacado

TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...
TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...
TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...José Antonio Sandoval Acosta
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)José Antonio Sandoval Acosta
 
ACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIAS
ACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIASACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIAS
ACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIASJosé Antonio Sandoval Acosta
 
Activite manuelle-pochoirs-18-moisl
Activite manuelle-pochoirs-18-moislActivite manuelle-pochoirs-18-moisl
Activite manuelle-pochoirs-18-moislMaman Dessine
 
Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347
Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347
Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347Maryem Canal
 
Formulacion y evaluacion de proyectos
Formulacion y evaluacion de proyectosFormulacion y evaluacion de proyectos
Formulacion y evaluacion de proyectosrossany araujo diaz
 
Prix Photo Potocki 2013
Prix Photo Potocki 2013Prix Photo Potocki 2013
Prix Photo Potocki 2013cominterne
 
NI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTE
NI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTENI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTE
NI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTEAnzorcComunica
 
Ensamble y mantenimiento de computadores
Ensamble y mantenimiento de computadoresEnsamble y mantenimiento de computadores
Ensamble y mantenimiento de computadoresJose9750
 
Foto di Robert Doisneau: la Parigi povera del Dopoguerra
Foto di Robert Doisneau: la Parigi povera del DopoguerraFoto di Robert Doisneau: la Parigi povera del Dopoguerra
Foto di Robert Doisneau: la Parigi povera del DopoguerraPaolo Della Sala
 

Destacado (20)

TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...
TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...
TESINA: USO DE METODOLOGÍAS ÁGLES PARA EL DESARROLLO DE SOFTWARE EN UNA EMPRE...
 
M3 actividad 4 lectura individual
M3 actividad 4 lectura individualM3 actividad 4 lectura individual
M3 actividad 4 lectura individual
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
 
ACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIAS
ACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIASACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIAS
ACTIVIDAD 2.1: MAPA CONCEPTUAL LA PLANEACIÓN POR COMPETENCIAS
 
Monografía Redes Inalámbricas
Monografía Redes InalámbricasMonografía Redes Inalámbricas
Monografía Redes Inalámbricas
 
Tarea 1 revista digital
Tarea 1 revista digitalTarea 1 revista digital
Tarea 1 revista digital
 
Activite manuelle-pochoirs-18-moisl
Activite manuelle-pochoirs-18-moislActivite manuelle-pochoirs-18-moisl
Activite manuelle-pochoirs-18-moisl
 
El retoque digital
El retoque digitalEl retoque digital
El retoque digital
 
Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347
Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347
Dialnet-EstimadoDeLaReduccionDeLaEmisionDeCo2PorAccioneDeA-3646347
 
Carte anniversaire
Carte anniversaireCarte anniversaire
Carte anniversaire
 
Du trait au caractere
Du trait au caractereDu trait au caractere
Du trait au caractere
 
Formulacion y evaluacion de proyectos
Formulacion y evaluacion de proyectosFormulacion y evaluacion de proyectos
Formulacion y evaluacion de proyectos
 
Prix Photo Potocki 2013
Prix Photo Potocki 2013Prix Photo Potocki 2013
Prix Photo Potocki 2013
 
NI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTE
NI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTENI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTE
NI SOMOS UN HOYO NEGRO NI UNA REPUBLICA INDEPENDIENTE
 
Programme
ProgrammeProgramme
Programme
 
Ecologia
EcologiaEcologia
Ecologia
 
Ensamble y mantenimiento de computadores
Ensamble y mantenimiento de computadoresEnsamble y mantenimiento de computadores
Ensamble y mantenimiento de computadores
 
Desde mi cruz
Desde mi cruzDesde mi cruz
Desde mi cruz
 
Foto di Robert Doisneau: la Parigi povera del Dopoguerra
Foto di Robert Doisneau: la Parigi povera del DopoguerraFoto di Robert Doisneau: la Parigi povera del Dopoguerra
Foto di Robert Doisneau: la Parigi povera del Dopoguerra
 
Amdec 6 annexes
Amdec 6 annexesAmdec 6 annexes
Amdec 6 annexes
 

Similar a calculadora en c sharp

Similar a calculadora en c sharp (20)

In 11
In 11In 11
In 11
 
Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
 
Vector
Vector Vector
Vector
 
Practica
PracticaPractica
Practica
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
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
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Ejercicios con bucles repetitivos
Ejercicios con bucles repetitivosEjercicios con bucles repetitivos
Ejercicios con bucles repetitivos
 
Bucles repetitivos
Bucles repetitivos Bucles repetitivos
Bucles repetitivos
 
Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.
 
Programa 25-27
Programa 25-27Programa 25-27
Programa 25-27
 
Ejercicios en consola csharp
Ejercicios en consola csharpEjercicios en consola csharp
Ejercicios en consola csharp
 
Jorge informe tecnico
Jorge informe tecnicoJorge informe tecnico
Jorge informe tecnico
 
Programas
ProgramasProgramas
Programas
 
Gutierres
GutierresGutierres
Gutierres
 
Programa arreglos 1
Programa arreglos 1Programa arreglos 1
Programa arreglos 1
 
Arreglos
ArreglosArreglos
Arreglos
 
Cicio 8 menu - switch
Cicio 8   menu - switchCicio 8   menu - switch
Cicio 8 menu - switch
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónjas021085
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 

Último (20)

Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporación
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 

calculadora en c sharp

  • 1. Calculadora en C Sharp (Visual Studio 2015). Realiza las operaciones de forma secuencial, es decir, conforme van ingresándose se van realizando los cálculos a manera de una sumadora sencilla, no hay aplicación de reglas de matemática discreta.  Realiza las cuatro operaciones matemáticas básicas, suma, resta, multiplicación y división.  Tiene límite de 10 operaciones en memoria.  Las operaciones son almacenadas en un arreglo, cuando se da clic en el botón “=” se realizan todas las operaciones de forma secuencial.  Envía mensajes a la pantalla cuando hay error en el cálculo como una división por cero.  Envía mensaje a la pantalla cuando se intenta exceder las 10 operaciones límite. Desarrollo del programa en Visual Studio 2015; C Sharp. 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; namespace calculadora { public partial class Form1 : Form { int[] valores = new int[10]; // permite maximo 10 operaciones secuenciales string[] operaciones = new string[10]; int indice = 0; public Form1() { InitializeComponent(); } private void Form1_Shown(object sender, EventArgs e) { inicializa();
  • 2. } private void uno_Click(object sender, EventArgs e) { teclas("1"); } private void borrar_Click(object sender, EventArgs e) { inicializa(); } private void dos_Click(object sender, EventArgs e) { teclas("2"); } private void tres_Click(object sender, EventArgs e) { teclas("3"); } private void cuatro_Click(object sender, EventArgs e) { teclas("4"); } private void cinco_Click(object sender, EventArgs e) { teclas("5"); } private void seis_Click(object sender, EventArgs e) { teclas("6"); } private void siete_Click(object sender, EventArgs e) { teclas("7"); } private void ocho_Click(object sender, EventArgs e) { teclas("8"); } private void nueve_Click(object sender, EventArgs e) { teclas("9"); } private void cero_Click(object sender, EventArgs e) { teclas("0"); } private void mas_Click(object sender, EventArgs e) { op_mate("+"); } private void menos_Click(object sender, EventArgs e) { op_mate("-"); } private void por_Click(object sender, EventArgs e) { op_mate("*"); }
  • 3. private void div_Click(object sender, EventArgs e) { op_mate("/"); } private void igual_Click(object sender, EventArgs e) { igualK(); } private void reinicia_Click(object sender, EventArgs e) { reiniciarCE(); } private void igual_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void cero_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void uno_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void dos_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void tres_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void cuatro_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void cinco_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void seis_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void siete_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void ocho_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void nueve_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void mas_KeyPress(object sender, KeyPressEventArgs e) {
  • 4. teclas(e.KeyChar.ToString()); } private void menos_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void por_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void div_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void borrar_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void reinicia_KeyPress(object sender, KeyPressEventArgs e) { teclas(e.KeyChar.ToString()); } private void inicializa() { resultado.Text = "0"; } private void op_mate(string simbolo) { if (indice > 8) // se cargan los primeros 9 elementos del arreglo { MessageBox.Show("Límite de operaciones acanzado", "Error"); return; } int cantidad = Int32.Parse(resultado.Text); valores[indice] = cantidad; operaciones[indice] = simbolo.Trim(); indice++; ope.Text = ope.Text + resultado.Text + simbolo.Trim(); inicializa(); } private void convierte() { int valor = Int32.Parse(resultado.Text); resultado.Text = valor.ToString(); } private void igualK() { if (indice > 9) // se carga el decimo elemento del arreglo { MessageBox.Show("Límite de operaciones acanzado", "Error"); return; } int cantidad = Int32.Parse(resultado.Text); valores[indice] = cantidad; ope.Text = ope.Text + resultado.Text; inicializa(); calcular(); }
  • 5. private void reiniciarCE() { for (int i = 0; i <= 9; i++) { valores[i] = 0; operaciones[i] = ""; } ope.Text = ""; inicializa(); indice = 0; } private void calcular() { int res = valores[0]; for (int i = 1; i <= indice; i++) { try { if (operaciones[i - 1] == "+") { res = res + valores[i]; } else if (operaciones[i - 1] == "-") { res = res - valores[i]; } else if (operaciones[i - 1] == "*") { res = res * valores[i]; } else if (operaciones[i - 1] == "/") { res = res / valores[i]; } } catch (DivideByZeroException e) { inicializa(); MessageBox.Show("Operación no válida", "Error en operación"); return; } resultado.Text = res.ToString(); } } private void teclas(string tecla) { if (tecla == "1") resultado.Text = resultado.Text + "1"; if (tecla == "2") resultado.Text = resultado.Text + "2"; if (tecla == "3") resultado.Text = resultado.Text + "3"; if (tecla == "4") resultado.Text = resultado.Text + "4";
  • 6. if (tecla == "5") resultado.Text = resultado.Text + "5"; if (tecla == "6") resultado.Text = resultado.Text + "6"; if (tecla == "7") resultado.Text = resultado.Text + "7"; if (tecla == "8") resultado.Text = resultado.Text + "8"; if (tecla == "9") resultado.Text = resultado.Text + "9"; if (tecla == "0") resultado.Text = resultado.Text + "0"; convierte(); if (tecla == "+") op_mate("+"); if (tecla == "-") op_mate("-"); if (tecla == "*") op_mate("*"); if (tecla == "/") op_mate("+/"); if (tecla == "=") igualK(); if (tecla.ToUpper() == "C") inicializa(); if (tecla.ToUpper() == "E") reiniciarCE(); } } }