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 윈도우_계산기_프로그램
{
public partial class Form1 : Form
{
private int num1,num2,memory;
String nums = null;
private char op;
bool opCheck = false, numCheck = false, firstInput = true;
// numCheck t=num1, f=num2
public Form1()
{
InitializeComponent();
}
void numsChange()
{
if (firstInput == true)
{
num1 = int.Parse(nums);
firstInput = false;
nums = null;
}
else
{
num2 = int.Parse(nums);
numCheck = false; //메모리가 num2를 향함
nums = null;
}
}
private void btnNumber_Click (object sender, EventArgs e)
{
Button btn = sender as Button;
if (firstInput == true) {
textBox1.Text = btn.Text;
firstInput = false;
}
else if (firstInput == false) textBox1.Text += btn.Text;
nums += btn.Text; //입력받은 숫자 연산자 눌릴때 까지 nums에 저장
}
private void btnPlus_Click(object sender, EventArgs e)
{
numsChange();
if(opCheck == true)
{
btnResult_Click(sender, e);
}
op = '+';
textBox1.Text = num1.ToString() + "+";
opCheck = true;
}
private void btnMin_Click(object sender, EventArgs e)
{
numsChange();
if (opCheck == true)
{
btnResult_Click(sender, e);
}
op = '-';
textBox1.Text = num1.ToString() + "-";
opCheck = true;
}
private void btnMul_Click(object sender, EventArgs e)
{
numsChange();
if (opCheck == true)
{
btnResult_Click(sender, e);
}
op = '*';
textBox1.Text = num1.ToString() + "x";
opCheck = true;
}
private void btnDiv_Click(object sender, EventArgs e)
{
numsChange();
if (opCheck == true)
{
btnResult_Click(sender, e);
}
op = '/';
textBox1.Text = num1.ToString() + "/";
opCheck = true;
}
private void btnRem_Click(object sender, EventArgs e)
{
numsChange();
if (opCheck == true)
{
btnResult_Click(sender, e);
}
op = '%';
textBox1.Text = num1.ToString() + "%";
opCheck = true;
}
private void btnResult_Click(object sender, EventArgs e)
{
if(op=='+')
{
textBox1.Text = (num1 + num2).ToString();
num1 += num2;
}
else if (op == '-')
{
textBox1.Text = (num1 - num2).ToString();
num1 -= num2;
}
else if (op == '*')
{
textBox1.Text = (num1 * num2).ToString();
num1 *= num2;
}
else if (op == '/')
{
textBox1.Text = (num1 / num2).ToString();
num1 /= num2;
}
else if (op == '%')
{
textBox1.Text = (num1 % num2).ToString();
num1 %= num2;
}
op = ' ';
opCheck = false;
numCheck = true; //메모리가 num1을 향함
}
private void btnMS_Click(object sender, EventArgs e)
{
if (numCheck == true) memory = num1;
else if (numCheck == false) memory = num2;
}
private void btnC_Click(object sender, EventArgs e)
{
textBox1.Text = "0";
numCheck = true;
firstInput = true;
}
private void btnMR_Click(object sender, EventArgs e)
{
num1 = memory;
textBox1.Text = num1.ToString();
numCheck = false;
firstInput = false;
}
}
}
'PROGRAMMING CODE > C#' 카테고리의 다른 글
[Oracle & C#] 메모장 만들기 (0) | 2021.10.20 |
---|---|
윈도우 계산기 프로그램 _ C# (0) | 2021.10.14 |