이번 포스트에서는 사용자가 각 과목의 점수를 입력하면 총점과 평균 점수를 계산해 주는 성적 계산기를 만들어보겠습니다.
폼 디자인
컨트롤들을 다음과 같이 배치합니다. 사용된 컨트롤은 GroupBox, Label, TextBox, Button입니다.
각 컨트롤들의 Text 속성은 위 폼 디자인처럼 설정하고, TextBox의 (Name) 속성은 순서대로 textbox_kor, textbox_eng, textbox_math, textbox_music, textbox_art, textbox_total, textbox_avg로 설정합니다. 그리고 총점과 평균에 해당하는 Textbox의 ReadOnly의 속성을 True로 설정합니다.
Form1.cs 작성하기
계산 버튼을 더블 클릭하여 이벤트함수를 생성합니다. 그리고 내용을 아래와 같이 작성합니다.
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;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace WindowsFormsEX
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
double score1 = Convert.ToDouble(textbox_kor.Text);
double score2 = Convert.ToDouble(textbox_eng.Text);
double score3 = Convert.ToDouble(textbox_math.Text);
double score4 = Convert.ToDouble(textbox_music.Text);
double score5 = Convert.ToDouble(textbox_art.Text);
double totalScore = score1 + score2 + score3 + score4 + score5;
double averageScore = totalScore / 5;
textbox_total.Text = totalScore.ToString();
textbox_avg.Text = averageScore.ToString();
}
catch
{
MessageBox.Show("점수를 올바르게 입력해주세요.");
}
}
}
}
위 코드에는 예외 처리 구문인 try ~ catch문이 추가되었습니다. 예상치 못한 입력이 발생하면 catch문에 있는 메시지박스가 실행됩니다.
실행결과
각 과목의 점수를 입력하고 계산 버튼을 누르면 총점과 평균이 계산되는 것을 확인할 수 있습니다.
만약 점수입력 부분에 숫자가 아니고 문자가 입력되면 다음과 같이 에러메시지가 발생됩니다.
이 계산기는 간단하지만 사용자 인터페이스를 다루고 데이터를 처리하는 기본적인 방법을 배울 수 있는 좋은 예제입니다. 눈으로만 보시지 마시고 반드시 실습해 보시길 권장드립니다.
'Program Language > C#(GUI)' 카테고리의 다른 글
[C# Winform] MaskedTextBox를 활용한 "약속 일정 도우미" 제작 (5) | 2023.09.17 |
---|---|
[C# Winform] ScrollBar와 TextBox로 RGBA 컬러 조절하기 (12) | 2023.08.04 |
[C# Winform] 로그인 창 만들기 (9) | 2023.03.09 |
[C# WinForm] RadioButton 사용하기 (11) | 2023.03.03 |
[C# WinForm] CheckBox 사용하기 (11) | 2023.02.20 |
댓글