회원별지불관리 (고급)문제 1번입니다. 도대체 뭐가 틀렸길래 엉뚱한 숫자 하나 달랑 답에 뜨는 것일까요?
선생님꺼랑 아무리 비교해도..!
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\abc06.txt" For Input As #1 For i = 1 To 인수2 Line Input #1, 버퍼 If i >= 인수1 Then ''변수 저장 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) ''배열변수 구하기 If 예약수량 * 예약금액 >= 700000 Then Num = Num + 1 지불금액(Num) = Val(Mid(버퍼, 48, 10)) 예약일자(Num) = Trim(Mid(버퍼, 8, 10)) 등록번호(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 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, 예약일자(Num) Close #2 End Sub
|