반응형
using System;
using System.Diagnostics.Eventing.Reader;
using System.Windows.Forms;
namespace WindowsFormsApp2
{
public enum Season { spring, summer,fall,winter}
//계산기 연산의 경우 4가지로 정해 져있기 때문에 enum을 쓰면 좋을거 같다
public enum Operators {Add, Sub, Multi, Div}
//인트형 데이터 타입인데.
//우리가 스스로 타입을 정의할 수있다.
public partial class Calculator : Form
{
public int Result = 0;
public bool isNewNum = true;
public Operators operators;
public Calculator()
{
InitializeComponent();
}
//overloading
public int Add(int num1, int num2)
{
int sum = 0;
sum = num1 + num2;
return sum;
}
public float Add(float num1 , float num2)
{
float sum = num1 + num2;
return sum;
}
public int Sub(int num1 ,int num2)
{
int sum = num1 - num2;
return sum;
}
private void Numbtn1_Click(object sender, EventArgs e)
{
Button numbutton = (Button)sender;
SetNum(numbutton.Text);
}
public void SetNum(string num)
{
//플러스 버튼 누르기 전 1이랑 후 1이랑 다르게
if (isNewNum == true)//버튼이 눌러 졌을 때 새로운 넘버냐
{
NumScreen.Text = num;
isNewNum = false;//여기가 중요하다
}
else //새로운 넘버가 아니라면
{
if (NumScreen.Text == "0")
{
NumScreen.Text = num;
}
else
{
NumScreen.Text = NumScreen.Text + num;
}
}
}
private void Plusbtn_Click(object sender, EventArgs e) // 이걸 누르면 연산이 되어야하니까~!
{
//예외 처리
if (isNewNum == false) //연산자가 눌러지고 두번째 숫자가 있을때 연산을 합니다.
{ //숫자의 완성 !
int num = int.Parse(NumScreen.Text);
//기존에 숫자 버튼을 눌러서 만들었던 스트링 숫자 값을 인트값으로 변수에 저장
if (operators == Operators.Add)
{
Result = Add(Result ,num);
}
else if (operators == Operators.Sub)
{
Result = Sub(Result, num);
}
NumScreen.Text = Result.ToString(); //다시 스크린에 뿌린다 저장된 값을
isNewNum = true; //연산자 입력뒤 새로운 숫자 입력
}
//새로운 숫자가 입력 되었던 안되었던 여기서 연산자를 저장한다.
Button button = (Button)sender;
//센더 값을 버튼 객체에 넣어서 조건문으로 구분
if (button.Text=="+")
{
operators = Operators.Add;
}
else if (button.Text == "-")
{
operators = Operators.Sub;
}
}
private void Clearbtn_Click(object sender, EventArgs e)
{
Result = 0;
isNewNum = true;
operators = Operators.Add;
NumScreen.Text = "0";
}
//변수 = 0
//연산자 = +
//숫자 입력
//연산자 버튼 = 숫자완성, 변수와 숫를 저장된 연산자로 연산
}
}
동일한 숫자를 반복적으로 입력했을 떄 !!
연산자를 클리하면 기존 값이 변수에 저장되고 새로운 값의 입력이 시작된다.
= 버튼을 누르면 최종 값이 나타난다.
반응형
'C#' 카테고리의 다른 글
C# 기초 문법 TRY 예외처리 이렇게 사용하세요 (0) | 2023.03.27 |
---|---|
C# 개발 Grid 데이터 변경 및 입력 시 즉시 DB 반영 코딩 (3) | 2023.03.24 |
C# 개발 Devexpress Grid 버튼 이벤트 추가 ! (0) | 2023.03.23 |
C# - C# 언어로 간단한 Game 만들 수 있을지 몰랐지? (0) | 2023.03.18 |
C# 개발 - TCP 네트워크 에코 시스템 모듈 프로그래밍 (0) | 2023.03.17 |
C# 문법 - Delegate의 기본 , 배열에서 홀수와 짝수 찾는 코드 알려드림 (0) | 2023.03.16 |