제가 작성한 소스와 비교해 보세요. (입력파일은 자료실에 있습니다.기사 041106-오후)
Option Explicit
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\abc1112.txt" For Input As #1 For i = 1 To 인수2 Line Input #1, 버퍼 If i >= 인수1 Then ''변수 저장 출발지코드 = Trim(Mid(버퍼, 20, 2)) 승객만족도 = Val(Mid(버퍼, 16, 2)) 월이용횟수 = Val(Mid(버퍼, 32, 2)) 여행거리 = Val(Mid(버퍼, 27, 5)) ''배열변수 구하기 If 출발지코드 = "SU" And 승객만족도 <= 23 Then Num = Num + 1 합계(Num) = 월이용횟수 * 여행거리 고객번호(Num) = Val(Mid(버퍼, 1, 5)) 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, 고객번호(5) Close #2 End Sub
|