변수저장시 회원구분 = Trim(Mid(버퍼, 33, 5))로 하니 답이 나오지 않던데,
회원구분이 "0" 또는"1"로 시작하는 자료이기 때문에 회원구분 = Trim(Mid(버퍼, 33, 1))로 적어야 하는 건가요?
고쳐서 했는데, 답이 다르게 나와요 "416 516 P002230"이렇게 나오네요 ㅜㅜ
어디서 잘못 쓴거죠? 봐주세요~
Sub main() ''필수 변수 선언 Dim 인수1, 인수2, i, 버퍼 As Variant ''핵심 변수 선언 Dim 회원구분, 예약수량, 예약금액, 합계(1000), 예약번호(1000), j, Temp, Num As Variant ''인수 처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " "))) ''입력파일처리 Open "c:\c_it\data\abc03.txt" For Input As #1 For i = 1 To 인수2 Line Input #1, 버퍼 If i >= 인수1 Then ''변수저장 회원구분 = Trim(Mid(버퍼, 33, 1)) 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) ''합계구하기 If 회원구분 = "0" Or 회원구분 = "1" Then Num = Num + 1 합계(Num) = 예약수량 + 예약금액 예약번호(Num) = Trim(Mid(버퍼, 1, 7)) End If End If Next i ''정렬(합계의 오름착순 or (합계값 중복 and 예약번호의 오름차순)) For i = 1 To Num For j = i To Num If 합계(i) > 합계(j) Or _ (합계(i) = 합계(j) And 예약번호(i) > 예약번호(j)) Then Temp = 합계(i) 합계(i) = 합계(j) 합계(j) = Temp Temp = 예약번호(i) 예약번호(i) = 예약번호(j) 예약번호(j) = Temp End If Next j Next i Close #1 ''출력파일처리 Open "c:\c_it\data\ans1.txt" For Output As #2 Print #2, 인수1, 인수2, 예약번호(10) Close #2 End Sub
|