Skip to main content

[VB] 사칙연산 계산기

            종류                              이름
Form                             Form1
CommandButton             cmdBtn(9)
CommandButton             cmdMas(3)
CommandButton             cmdRes
CommandButton             cmdDot
CommandButton             cmdCls
CommandButton             cmdClsA
TextBox                         Text1

코드

’컴파일시 변수 없으면 오류발생
Option Explicit
’결과값, 연산자, 연산모드
Private total As Double
Private oper As Integer
Private CMod As Boolean

Private Sub cmdBtn_Click(Index As Integer)
’두번째 숫자가 입력 전 텍스트 초기화
If CMod Then
Text1.Text = 0
CMod = False
End If

’숫자 출력(else : 텍스트창에 0이 아닐시에 원래있던 숫자 뒤에 붙여넣기..)
If Text1.Text = 0 Then
Text1.Text = Index
Else
Text1.Text = Text1.Text & Index
End If
End Sub

Private Sub cmdCls_Click()
’텍스트만 초기화
Text1.Text = 0
End Sub

Private Sub cmdClsA_Click()
’계산 중이던 내용 다 초기화
Text1.Text = 0
total = 0
oper = 0
End Sub

Private Sub cmdDot_Click()
’텍스트중 ”.”이 없을시 텍스트에 ”.” 추가
If InStr(1, Text1.Text, ”.”, vbTextCompare) = 0 Then
Text1.Text = Text1.Text & ”.”
End If
End Sub

Private Sub cmdMas_Click(Index As Integer)
’연산함수를 호출하고 연산자 저장
Call Calc
oper = Index
End Sub

Private Sub cmdRes_Click()
Call Calc
End Sub

Private Sub Form_Load()
Text1.Text = 0
total = 0
oper = 0
CMod = False
End Sub

Private Sub Calc()
’연산자별 계산
Select Case oper
Case 0             ’형변환..텍스트->더블형
total = total + CDbl(Text1.Text)
Case 1
total = total – CDbl(Text1.Text)
Case 2
total = total * CDbl(Text1.Text)
Case 3
total = total / CDbl(Text1.Text)
End Select

’두번째 값을 입력받기 위헤 모드변환
CMod = True
Text1.Text = total
End Sub

댓글 남기기