using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace OnTap
{
public partial class Form1 : Form
{
//Dung de su dung trong cac phep tinh
private bool check;
private double memory;
private int op;
private const int PLUS = 1;
private const int MINUS = 2;
private const int MULTI = 3;
private const int DEVIDE = 4;
//Dung de su dung trong day memory
private double m;
public Form1()
{
InitializeComponent();
}
private void btn1_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 1;
check = false;
}
private void btn2_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 2;
check = false;
}
private void btn3_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 3;
check = false;
}
private void btn4_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 4;
check = false;
}
private void btn5_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 5;
check = false;
}
private void btn6_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 6;
check = false;
}
private void btn7_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 7;
check = false;
}
private void btn8_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 8;
check = false;
}
private void btn9_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 9;
check = false;
}
private void btn0_Click(object sender, EventArgs e)
{
if (check)
txtDisplay.Clear();
txtDisplay.Text += 0;
check = false;
}
private void btnResult_Click(object sender, EventArgs e)
{
try
{
double result;
double memory2 = double.Parse(txtDisplay.Text);
switch(op){
case PLUS:
result = memory + memory2;
txtDisplay.Text = result.ToString();
check = true;
memory = 0;
break;
case MINUS:
result = memory - memory2;
txtDisplay.Text = result.ToString();
check = true;
memory = 0;
break;
case MULTI:
result = memory * memory2;
txtDisplay.Text = result.ToString();
check = true;
memory = 0;
break;
case DEVIDE:
result = memory / memory2;
txtDisplay.Text = result.ToString();
check = true;
memory = 0;
break;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnPlus_Click(object sender, EventArgs e)
{
try
{
memory += double.Parse(txtDisplay.Text);
txtDisplay.Text = memory.ToString();
op = PLUS;
check = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnMinus_Click(object sender, EventArgs e)
{
try
{
memory -= double.Parse(txtDisplay.Text);
txtDisplay.Text = memory.ToString();
op = MINUS;
check = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnMulti_Click(object sender, EventArgs e)
{
try
{
if(memory==0)
memory = double.Parse(txtDisplay.Text);
else
memory = memory * double.Parse(txtDisplay.Text);
txtDisplay.Text = memory.ToString();
op = MULTI;
check = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnDivide_Click(object sender, EventArgs e)
{
try
{
if(memory==0)
memory = double.Parse(txtDisplay.Text);
else
memory = memory/double.Parse(txtDisplay.Text);
txtDisplay.Text = memory.ToString();
op = DEVIDE;
check = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnCE_Click(object sender, EventArgs e)
{
txtDisplay.Text = null;
}
private void btnC_Click(object sender, EventArgs e)
{
txtDisplay.Text = null;
memory = 0;
}
private void btnMPlus_Click(object sender, EventArgs e)
{
m += double.Parse(txtDisplay.Text);
}
private void btnMResult_Click(object sender, EventArgs e)
{
txtDisplay.Text = m.ToString();
}
}
}