본문 바로가기
Program Language/C#(GUI)

[C# Winform] 성적 계산기 만들기

by 토담이아빠 2023. 7. 28.

성적 계산기 만들기

 

이번 포스트에서는  사용자가 각 과목의 점수를 입력하면 총점과 평균 점수를 계산해 주는 성적 계산기를 만들어보겠습니다.


폼 디자인

 

컨트롤들을 다음과 같이 배치합니다. 사용된 컨트롤은 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문에 있는 메시지박스가 실행됩니다.

 

실행결과

 

각 과목의 점수를 입력하고 계산 버튼을 누르면 총점과 평균이 계산되는 것을 확인할 수 있습니다.


실행결과(정상출력)


만약 점수입력 부분에 숫자가 아니고 문자가 입력되면 다음과 같이 에러메시지가 발생됩니다.


 

비정상 입력 결과


이 계산기는 간단하지만 사용자 인터페이스를 다루고 데이터를 처리하는 기본적인 방법을 배울 수 있는 좋은 예제입니다. 눈으로만 보시지 마시고 반드시 실습해 보시길 권장드립니다.

댓글