Option Explicit
Sub main()
''필수변수선언
Dim 인수1, 인수2, K, 버퍼 As Variant
''핵심변수선언
Dim 출발지코드, 승객만족도, 월이용횟수, 여행거리, 고객번호(1000), 합계(1000), P, 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 K = 1 To 인수2
Line Input #1, 버퍼
If K >= 인수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 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
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