카테고리 없음

비주얼베이직으로 계산기 프로그램을 코딩해줘?

susukeki 2023. 2. 25. 07:24

네, 비주얼 베이직으로 계산기 프로그램을 작성하는 방법에 대해 안내해드리겠습니다.

먼저, 비주얼 베이직을 실행하고 새 프로젝트를 만듭니다.

폼 디자인 화면에서 버튼과 텍스트박스를 추가하여 계산기 모양을 만듭니다. 예를 들어, 숫자 버튼과 연산자 버튼을 추가하고, 결과를 표시할 텍스트박스를 추가합니다.

버튼 클릭 이벤트를 작성합니다. 예를 들어, "1" 버튼 클릭 시 텍스트박스에 "1"이 추가되도록 작성합니다.

연산자 버튼 클릭 시, 현재까지 입력된 숫자들을 저장하고, 연산자를 저장합니다. 이후, 다음 숫자 입력을 기다리도록 텍스트박스를 초기화합니다.

"=" 버튼 클릭 시, 저장된 숫자와 연산자를 기반으로 계산을 수행하고, 결과를 텍스트박스에 표시합니다.

"C" 버튼 클릭 시, 텍스트박스를 초기화합니다.

다음은 예시 코드입니다.

vb
Copy code
Public Class Form1
    Dim num1 As Double
    Dim num2 As Double
    Dim op As Char
    Dim result As Double

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        TextBox1.Text = TextBox1.Text & "1"
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        TextBox1.Text = TextBox1.Text & "2"
    End Sub

    '나머지 숫자 버튼 클릭 이벤트 생략

    Private Sub ButtonPlus_Click(sender As Object, e As EventArgs) Handles ButtonPlus.Click
        num1 = CDbl(TextBox1.Text)
        op = "+"
        TextBox1.Text = ""
    End Sub

    Private Sub ButtonMinus_Click(sender As Object, e As EventArgs) Handles ButtonMinus.Click
        num1 = CDbl(TextBox1.Text)
        op = "-"
        TextBox1.Text = ""
    End Sub

    '나머지 연산자 버튼 클릭 이벤트 생략

    Private Sub ButtonEqual_Click(sender As Object, e As EventArgs) Handles ButtonEqual.Click
        num2 = CDbl(TextBox1.Text)
        If op = "+" Then
            result = num1 + num2
        ElseIf op = "-" Then
            result = num1 - num2
        ElseIf op = "*" Then
            result = num1 * num2
        ElseIf op = "/" Then
            result = num1 / num2
        End If
        TextBox1.Text = result.ToString()
    End Sub

    Private Sub ButtonClear_Click(sender As Object, e As EventArgs) Handles ButtonClear.Click
        TextBox1.Text = ""
    End Sub
End Class
이 코드는 기본적인 사칙연산에 대해 동작합니다. 추가적인 기능을 구현하고자 한다면, 해당 기능을 구현하는 코드를 작성하여 추가적인 기능을 구현하는 코드 예시를 아래와 같이 작성할 수 있습니다.

소수점 입력 기능 추가
vb
Copy code
Private Sub ButtonDot_Click(sender As Object, e As EventArgs) Handles ButtonDot.Click
    If Not TextBox1.Text.Contains(".") Then
        TextBox1.Text = TextBox1.Text & "."
    End If
End Sub
음수 입력 기능 추가
vb
Copy code
Private Sub ButtonNeg_Click(sender As Object, e As EventArgs) Handles ButtonNeg.Click
    If TextBox1.Text.Length > 0 AndAlso Not TextBox1.Text.Contains("-") Then
        TextBox1.Text = "-" & TextBox1.Text
    End If
End Sub
백스페이스 기능 추가
vb
Copy code
Private Sub ButtonBack_Click(sender As Object, e As EventArgs) Handles ButtonBack.Click
    If TextBox1.Text.Length > 0 Then
        TextBox1.Text = TextBox1.Text.Substring(0, TextBox1.Text.Length - 1)
    End If
End Sub
숫자 입력 중복 방지
vb
Copy code
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If Not TextBox1.Text.Equals("0") Then
        TextBox1.Text = TextBox1.Text & "1"
    End If
End Sub
연속 계산 가능하도록 수정
vb
Copy code
Private Sub ButtonEqual_Click(sender As Object, e As EventArgs) Handles ButtonEqual.Click
    num2 = CDbl(TextBox1.Text)
    If op = "+" Then
        result = num1 + num2
    ElseIf op = "-" Then
        result = num1 - num2
    ElseIf op = "*" Then
        result = num1 * num2
    ElseIf op = "/" Then
        result = num1 / num2
    End If
    TextBox1.Text = result.ToString()
    num1 = result
    op = ""
End Sub
위 코드 예시들은 계산기 프로그램의 일부분에 해당합니다. 더 많은 기능을 구현하려면 추가적인 코드 작성이 필요합니다.