소스를 확인하세요. (입력파일이 잘못 된 경우도 있으므로 자료실에 있는 입력파일로 확인해 보세요.)
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
|