처음 코딩했을때는 답도 나오고 괜찮았거든요
근데 2번째 하는데
line input #1, 버퍼 부분에서 문제가 있어요.....
코딩한건데요 좀 봐주세요~
Option Explicit
Sub main()
''필수변수선언 Dim 인수1, 인수2, i, 버퍼 As Variant
''핵심변수선언 Dim 예약실구분코드, 투숙기간, 누적점수, 할인금액, 합계(1000), 숙박요금(1000), 예약번호(1000), j, Temp, Num As Variant
''인수처리 인수1 = Val(Left(Command, InStr(Command, " "))) <---여기 공백도 확인했구요.. 인수2 = Val(Mid(Command, InStr(Command, " "))) ''입력파일저장
Open "c:\c_it\data\abc0002.txt" For Input As #1 For i = 1 To 인수2 Line Input #1, 버퍼 If i >= 인수1 Then ''변수저장 예약실구분코드 = Trim(Mid(버퍼, 38, 2)) 투숙기간 = Val(Mid(버퍼, 15, 2)) 누적점수 = Val(Mid(버퍼, 40, 5)) 할인금액 = Val(Mid(버퍼, 30, 4)) ''배열변수구하기 If 예약실구분코드 = "WA" And 투숙기간 <= 13 Then Num = Num + 1 합계(Num) = 누적점수 + 할인금액 숙박요금(Num) = Val(Mid(버퍼, 19, 6)) 예약번호(Num) = Val(Mid(버퍼, 1, 6)) End If End If Next i ''정렬하기(내림차순 or 동일값 발생시 예약번호 오름차순) 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 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, 숙박요금(4) Close #2 End Sub
|