-
허접하지만 만들어 봤습니다...
계산기 제 계산기에서 %는 나머지를 구합니다 코딩에서의 %와 의미가 같습니다.
string first_value = " ", second_value = "0"; int sign = 0;
위 변수들은 차례로 숫자를 입력받고, 계산 후 저장하고, 부호를 구별하는데 사용합니다.
private void N1_Click(object sender, EventArgs e) { first_value += '1'; label1.Text = "" + double.Parse(first_value); }
위 코드는 숫자 1버튼입니다.
누를때 마다 first_value에 문자열로 저장하고 label1에 출력시킵니다.
private void Button17_Click(object sender, EventArgs e) { if (sign==0) { second_value = first_value; } else if (sign==1) { double a = double.Parse(first_value) + double.Parse(second_value); second_value = a.ToString(); } else if (sign == 2) { double a = double.Parse(second_value) - double.Parse(first_value); second_value = a.ToString(); } else if (sign == 3) { double a = double.Parse(second_value) * double.Parse(first_value); second_value = a.ToString(); } else if (sign == 4) { double a = double.Parse(second_value) / double.Parse(first_value); second_value = a.ToString(); } else if (sign == 5) { double a = double.Parse(second_value) % double.Parse(first_value); second_value = a.ToString(); } label2.Text = "" + double.Parse(second_value)+'+'; first_value = ""; label1.Text = ""; sign = 1; }
위에 코드는 +버튼입니다. sign을 사용하여 그전에 어떤 버튼을 눌렀고 계산할지 구분합니다.
계산후 first_value는 초기화 시키고 second_value에 계산값을 저장합니다.
label2에는 second_value를 출력하고 label1은 초기화 시킵니다.
private void Button13_Click(object sender, EventArgs e) { if (sign == 0) { second_value = first_value; } else if (sign == 1) { double a = double.Parse(first_value) + double.Parse(second_value); second_value = a.ToString(); } else if (sign == 2) { double a = double.Parse(second_value) - double.Parse(first_value); second_value = a.ToString(); } else if (sign == 3) { double a = double.Parse(second_value) * double.Parse(first_value); second_value = a.ToString(); } else if (sign == 4) { double a = double.Parse(second_value) / double.Parse(first_value); second_value = a.ToString(); } else if (sign == 5) { double a = double.Parse(second_value) % double.Parse(first_value); second_value = a.ToString(); } label2.Text = "" + double.Parse(second_value) + '='; first_value = "" + double.Parse(second_value); label1.Text = "" + double.Parse(second_value); sign = 0; }
위 코드는 =버튼입니다. first_value를 초기화시키지 않고 저장해 label1에 출력합니다.
private void Button18_Click(object sender, EventArgs e) { first_value = ""; label1.Text = ""; }
위 코드는 CE버튼입니다. first_value와 label1의 값을 초기화 시킵니다.
private void CE_Click(object sender, EventArgs e) { label2.Text = ""; first_value = ""; label1.Text = ""; second_value = "0"; sign = 0; }
위 코드는 C버튼입니다. 전체를 초기화 시킵니다.
실행결과
실행화면입니다. 앞으로 %변경, 소수점과 +/-는 언젠가 추가예정입니다..
'C#' 카테고리의 다른 글
C# 004 판단문을 사용한 BMI 계산기 (0) 2022.03.15 C# 003 관계연산자 (0) 2022.03.15 C# 002 산술연산자 (0) 2022.03.15 C# 001 입출력 (0) 2022.03.15 C# BMI 계산기 (0) 2022.03.11