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, " "))) 인수1 = 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" Or 투숙기간 <= 13 Then Num = Num + 1 합계(Num) = 누적점수 + 할인금액 숙박요금(Num) = Val(Mid(버퍼, 19, 6)) 예약번호(Num) = Val(Mid(버퍼, 1, 6))
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 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
|