Sub main() ''필수변수선언 Dim 인수1, 인수2, k, 버퍼 As Variant
''핵심변수선언 Dim 지불방법, 지불금액(1000), 예약수량, 예약금액, 합계(1000), 일련번호(1000), p, temp, num As Variant
''인수처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " "))) ''입력파일처리 Open "c:\c_it\data\abc04.txt" For Input As #1 For k = 1 To 인수2 Line Input #1, 버퍼 If k >= 인수1 Then ''변수저장 지불방법 = Trim(Mid(버퍼, 58, 3)) 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) ''배열변수구하기 If 지불방법 = "AA" Or 지불방법 = "BB" Then num = num + 1 지불금액(num) = Val(Mid(버퍼, 48, 10)) 합계(num) = 예약수량 * 예약금액 일련번호(num) = Trim(Mid(버퍼, 1, 7)) End If
End If
Next k ''정렬(지불금액 오름차순 or지불금액 같은 and 일련번호 오름차순) For k = 1 To num For p = k To num If 지불금액(k) > 지불금액(p) Or _ (지불금액(k) = 지불금액(p) And 일련번호(k) > 일련번호(p)) Then temp = 지불금액(k) 지불금액(k) = 지불금액(p) 지불금액(p) = temp
temp = 합계(k) 합계(k) = 합계(p) 합계(p) = temp
temp = 일련번호(k) 일련번호(k) = 일련번호(p) 일련번호(p) = temp End If
Next p Next k
Close #1 ''출력파일처리 Open "c:\c_it\data\ans1.txt" For Output As #2 Print #2, 인수1, 인수2, 합계(5) Close #2
End Sub
|