좋은질문

VB 비주얼 베이직 계산기 질문

JustineBaek 2014. 9. 30. 00:45

 

 

 

비주얼 베이직 계산기 만드는데
그 숫자나 + / 이런거 입력시 나오긴 하는데 
계산이 안되네요 ㅜㅜ
= 했을때 계산하는법이랑
숫자 1234 이런거 입력했을때 하나식 지우는법 같이 알려주시면 감사하겠습니다.

 

 

 

 

안녕하세요?


1. 지금 하고 계신 완성된 계산기 폼을 하기에 앞서 아주 간단한 계산기를 먼저 만들어 보실것을

    권하고 싶습니다.


2. 이유는 아래와 같습니다.

    -. 문자와 숫자에 대한 처리방법, 연산자에 처리 구분이 필요합니다.

    -. 변수를 자료형에 맞게 선언하고, 문자를 숫자로 숫자를 문자로 변환할 수 있어야 합니다.

    -. 문자열 "10+30" 과 수식 10 + 30 이 어떤 차이를 가지는지 아셔야 합니다.


3. 그래서, 간단한 화면을 만들고 코드를 작성하여 보았습니다.

   

 

4. 위 처럼 화면을 만드시고, 각각 이름을 지은 다음, 아래의 코드를 실행해 보세요.

    숫자 하나를 왼쪽 상자에 입력하고, 또다른 숫자하나를 오른쪽에 입력한 다음,

    + 또는 - 또는 * 또는 /를 누르면 제일 오른쪽 회색 상자에 계산 결과가 표시됩니다.


5. 코드


Public Class Form1


' 더하기(Plus) 나머지 경우는 설명이 같아서 여기에만 기록합니다.
Private Sub btnPlus_Click(sender As System.Object, e As System.EventArgs) Handles btnPlus.Click
     Dim intNumber1 As Integer          ' 첫번째 숫자를 기억할 변수
     Dim intNumber2 As Integer          ' 두번째 숫자를 기억할 변수
     Dim intResult As Integer              ' 덧셈결과를 기억할 변수


     intNumber1 = Convert.ToInt32( txtNumber1.Text )     ' Text 즉, 문자를 숫자로 변환합니다.
     intNumber2 = Convert.ToInt32( txtNumber2.Text )     ' Text 즉, 문자를 숫자로 변환합니다.
     intResult = intNumber1 + intNumber2                         ' 변환된 숫자와 숫자를 더하여 결과변수에 저장.


     txtResult.Text = intResult.ToString()                       ' 결과 상자에 표시하기 위해 숫자를 다시 문자로 변환.
End Sub


' 빼기(Minus)
Private Sub btnMinus_Click(sender As System.Object, e As System.EventArgs) Handles btnMinus.Click
     Dim intNumber1 As Integer
     Dim intNumber2 As Integer
     Dim intResult As Integer


     intNumber1 = Convert.ToInt32(txtNumber1.Text)
     intNumber2 = Convert.ToInt32(txtNumber2.Text)
     intResult = intNumber1 - intNumber2


     txtResult.Text = intResult.ToString()
End Sub


' 곱하기(Multiply)
Private Sub btnMultiply_Click(sender As System.Object, e As System.EventArgs) Handles btnMultiply.Click
     Dim intNumber1 As Integer
     Dim intNumber2 As Integer
     Dim intResult As Integer


     intNumber1 = Convert.ToInt32(txtNumber1.Text)
     intNumber2 = Convert.ToInt32(txtNumber2.Text)
     intResult = intNumber1 * intNumber2

    

     txtResult.Text = intResult.ToString()
End Sub


' 나누기(Devide)
Private Sub btnDevide_Click(sender As System.Object, e As System.EventArgs) Handles btnDevide.Click
     Dim intNumber1 As Integer
     Dim intNumber2 As Integer
     Dim dblResult As Double


     intNumber1 = Convert.ToInt32(txtNumber1.Text)
     intNumber2 = Convert.ToInt32(txtNumber2.Text)
     dblResult = intNumber1 / intNumber2

    

     txtResult.Text = dblResult.ToString()
End Sub


End Class


6. 위의 코드가 이해되신다면, 이제 원하시는 계산기 작성을 위한 기본 준비가 된 것 같습니다.

    원래의 계산기 작성을 위해서는 다음과 같은 사항을 고민해 보시고, 방법을 찾으셔야 합니다.


    -. (10 + 2) * (4 + 3) 이라고 상자에 입력되었을때, 입력된 순서와 사칙연산 순서를

        기억하였다가, = 를 누르면, 실제 계산을 처리할 수 있는 방법을 생각해야 합니다.

    -. 아무것도 입력하지 않고, 버튼을 눌러댈 경우에 대한 대책도 필요합니다.

    -. 나눗셈을 할 경우, 0으로 나누지 못하도록 막아야 하며, 소수점이 발생하는 것에 대한

        적절한 자료형을 사용할 수 있어야 합니다.

    -. 질문하셨던, 지우기 기능등도 필요할 것입니다.


7. 위의 질문에 대한 직접적인 답변은 아니지만, 위의 과정을 겪으시고 나면,

    좀더 구체적이고 단계적인 질문을 하실 수 있으리라 생각됩니다.



문제 해결에 도움이 되시길 바랍니다.

감사합니다.

 

 

 

written by

  

legend

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등.

서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산,

c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의,

c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍,

데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외,

서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄

광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도

'좋은질문' 카테고리의 다른 글

VB 비주얼 베이직 자료에 대해 질문해봐여  (0) 2014.10.02
C#이랑 파이선 배우려고하는데  (0) 2014.10.01
C언어 답좀 부탁드려요  (0) 2014.09.29
VB 비주얼 베이직 질문  (0) 2014.09.28
C언어 문제  (0) 2014.09.27