쉽고 빠른 학점 계산기 만들기: Windows Forms 앱(.NET Framework)으로 실천하기



쉽고 빠른 학점 계산기 만들기: Windows Forms 앱(.NET Framework)으로 실천하기

제가 직접 경험해본 바로는, Windows Forms 앱을 사용하여 학점 계산기를 만드는 과정이 생각보다 간단하고 재미있었어요. 따라서 아래를 읽어보시면, 처음부터 끝까지의 과정을 차근차근 정리해 드리겠습니다. Windows Forms 앱을 통해 나만의 학점 계산기를 만들어보세요.

1. 프로젝트 시작하기: Windows Forms 앱 설정

프로젝트를 시작할 때, 먼저 새로운 Windows Forms 프로젝트를 구성해야 해요. 저의 경우에는 프로젝트 이름을 ‘WindowsForms_score2’로 설정했어요.

이후, 기본 화면에는 필수 요소들을 추가했어요. 아래와 같은 기본 컨트롤이 필요합니다:

컨트롤 종류수량
Label여러 개
TextBox8개 (과목명)
ComboBox16개 (학점, 성적)
Button1개

이뿐만 아니라, 새로운 기능을 활용하기 위해 ComboBox를 추가했어요. 코드 작성을 하기 전에 각 컨트롤의 이름(Name) 설정도 깔끔하게 해주었답니다.



1-1. 컨트롤 이름 변경하기

텍스트 박스는 t1부터 t8로, 학점 및 성적의 ComboBox는 c1부터 c16까지 설정했어요. 프로그래밍을 할 때, 이렇게 명확한 이름을 붙이는 것이 좋답니다.

1-2. 프로그램 실행 코드 추가하기

이제 프로그램이 작동되도록 코드를 추가해야 해요. ComboBox의 화살표를 눌렀을 때, 학점과 성적의 값이 나타나도록 설정할 거예요. 이때 평균 평점을 계산하는 버튼을 눌렀을 때 결과가 나오는 로직을 작성할 것입니다.

코드는 아래와 같이 작성했어요:

csharp
TextBox[] titles;
ComboBox[] crds;
ComboBox[] grds;

위 코드는 public partial class Form1 : Form 아래에 위치해야 해요.

2. 교과목 등록 및 초기화하기

교과목 이름을 직접 입력하는 건 재미있었어요. 예를 들어:

csharp
txt1.Text = "인체구조와기능";

이처럼 텍스트 박스에 직접 과목명을 작성하는 방법을 사용했어요.

2-1. ComboBox 및 TextBox 배열 초기화하기

학점, 성적, 교과목을 표시하기 위한 ComboBox 및 TextBox의 배열도 초기화해요.

csharp
crds = new ComboBox[] { c1, c2, c3, c4, c5, c6, c7, c8 };
grds = new ComboBox[] { c15, c16, c13, c14, c11, c12, c9, c10 };
titles = new TextBox[] { t1, t2, t3, t4, t5, t6, t7, t8 };

2-2. 학점 및 성적 정의하기

아래와 같이 배열로 학점과 성적을 정의했어요.

csharp
int[] arrCredit = { 1, 2, 3, 4, 5 };
List<String> lstGrade = new List<string> { "A+", "A0", "B+", "B0", "C+", "C0", "D+", "D0", "F" };

이렇게 하면 ComboBox에 학점과 성적의 항목이 쉽게 추가될 수 있답니다.

3. ComboBox에 값 추가하기

이제 학점 ComboBox 배열의 요소마다 값들을 추가해보겠습니다. 아래 코드를 이용하면요:

“`csharp
foreach (var combo in crds)
{
foreach (var i in arrCredit)
combo.Items.Add(i);
combo.SelectedItem = 3; // 기본 선택 항목
}

foreach (var cb in grds)
{
foreach (var gr in lstGrade)
cb.Items.Add(gr);
}
“`

여기까지 오면, ComboBox에 학점과 성적이 잘 추가되었다는 것을 확인할 수 있어요.

4. 버튼 클릭 시 실행되는 코드 추가

버튼을 눌렀을 때 각 과목의 학점수와 성적을 곱하겠어요. 아래와 같이 코드를 작성했답니다.

“`csharp
double totalScore = 0;
int totalCredits = 0;

for (int i = 0; i < crds.Length; i++)
{
if (titles[i].Text != “”)
{
int crd = int.Parse(crds[i].SelectedItem.ToString());
totalCredits += crd;
totalScore += crd * GetGrade(grds[i].SelectedItem.ToString());
}
}

// 평균 평점 소수점 둘째자리까지
t9.Text = (totalScore / totalCredits).ToString(“0.00”);
“`

4-1. 성적 점수 리턴 메소드 작성하기

A+에서 F까지의 학점에 해당하는 점수를 리턴하는 메소드를 작성해야 해요. 아래는 그 예시입니다.

csharp
double grade = 0;
if (text == "A+") grade = 4.5;
else if (text == "A0") grade = 4.0;
// 동일한 조건문으로 나머지 성적 명칭 추가
return grade;

5. 코드 완성 및 테스트

코드를 통해 만든 학점 계산기가 잘 작동하는지 테스트해보는 과정은 흥미롭습니다! 제 경험에 비추어 봤을 때, 테스트 중 발견한 오류나 불편함은 의문이 들었던 부분도 있었지만, 모두 수정하여 완성된 최종 코드는 아래와 같습니다.

csharp
// 완성된 최종 코드

이렇게 간단하게 학점 계산기를 만드는 과정을 살펴보았는데요. 여러분도 구현해보시면 실제로 구현하는 데 큰 도움이 될 거예요.

자주 묻는 질문 (FAQ)

Q1: 이 프로그램은 어떤 기능을 지원하나요?

이 프로그램은 학생의 과목과 성적을 입력받아 평균 평점을 자동으로 계산해 주는 기능을 가집니다.

Q2: ComboBox의 값은 어떻게 추가하나요?

ComboBox의 Items.Add 메소드를 사용하여 다양한 값을 추가할 수 있습니다. 배열이나 리스트를 활용하면 다량의 데이터를 쉽게 관리할 수 있어요.

Q3: 버튼 클릭 시 어떤 코드가 실행되나요?

각 과목의 학점과 성적을 계산하여 총점과 평균 평점을 계산하는 코드가 실행됩니다.

Q4: 학점에 따른 점수는 어떻게 매핑하나요?

if문을 통해 학점과 점수를 매핑한 후, 해당 학점이 선택되었을 때 점수를 반환하도록 구현했습니다.

위와 같이, 모두가 쉽게 활용할 수 있는 방법으로 학점 계산기를 만들어보길 권장합니다! 이 포스팅으로 많은 도움을 받으시길 바라요.

키워드: Windows Forms, 학점 계산기, C# 프로그래밍, ComboBox 사용법, 학점 평균 계산, 간단한 프로그램, .NET Framework, 초보 C# 개발자, GUI 애플리케이션, 학점 매핑, C# 코드 샘플

이전 글: 제주도 여행의 즐거움을 더욱 만끽하는 렌트카 예약 팁