제 코딩에 문제가 있나요??
소스와도 또옥 같고~ 변수도 지대로 주었는데
100 200 0 만 나와요~ ㅠ.ㅠ
문제는 상자에 대해서는 생략하고요~
거래처구분이 B이거나 C 인 자료에 대해 (특별상여금*보너스율) 값의 합계를 출력하세요
단 소수점 이하는 절삭해서 정수값으로 출력하세요
Option Explicit
Type 레코드
사원번호 As String * 6
거래처구분 As String * 1
담당이메일 As String * 4
직위 As String * 1
거래등급 As String * 1
거래포인트 As String * 3
거래횟수 As String * 3
매출액 As String * 3
사원등급 As String * 1
이익포인트 As String * 3
상여금 As String * 3
End Type
Dim 데이터 As 레코드
Dim a, b, i, out As Long
Dim sum As Long
Dim pt As Long
Dim bn As Long
Sub Main()
a = Val(Left(Command, InStr(Command, " ")))
b = Val(Mid(Command, InStr(Command, " ")))
Open "C:\C_IT\data\abc04.txt" For Random As #1 Len = Len(데이터) + 2
Open "C:\C_IT\data\ans3.txt" For Output As #2
For i = a To b
Get #1, i, 데이터
Select Case UCase(데이터.사원등급)
Case "A": pt = 10
Case "B": pt = 15
Case "C": pt = 20
Case Else: pt = 0
End Select
Select Case UCase(데이터.거래등급)
Case "A": bn = 0.1
Case "B": bn = 0.15
Case "C": bn = 0.2
Case Else: bn = 0
End Select
If UCase(데이터.거래처구분) = "B" Or UCase(데이터.거래처구분) = "C" Then
sum = sum + (pt * bn)
End If
Next
out = Int(sum)
Debug.Print a, b, out
Print #2, a, b, out
End Sub
첫댓글 테이블이 없어 정확히는 알수 없으나 소스는 일단 맞습니다. 허니 자료파일을 열어서 내용을 확인하십시오. 파일명만 있고 전송이 되지 않은 경우가 있을수 있답니다.
그도 아니면 타입문 정의 에서 필드와 길이를 확인하십시요.
print문담에 close 가 없어서 그런게 아닐까요? 상관없나..?