문제 2】출발지 코드가 SU이고 승객만족도가 23 이하인 자료에 대하여 (월이용회수 * 여행거리)값의 자료 중에서 가장 큰 값의 도착지코드를 출력하되, 가장 큰 (월이용회수* 여행거리)값이 중복될 경우 중복자료 중 가장 작은 고객번호의 도착지코드를 출력하시오.(20점)
Sub main()
''필수변수선언 Dim 인수1, 인수2, i, 버퍼 As Variant ''핵심변수선언 Dim 출발지코드, 승객만족도, 월이용횟수, 여행거리, 최대값, 도착지코드, _ 고객번호, 최소고객번호 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 ''최소고객번호 초기화 최대값 = 0 최소고객번호 = 999999999 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)) 고객번호 = Val(Mid(버퍼, 1, 5)) ''도착지코드구하기 If 출발지코드 = "SU" And 승객만족도 <= 23 Then If 최대값 < (월이용횟수 * 여행거리) Or _ (최대값 = (월이용횟수 * 여행거리) And 최소고객번호 > 고객번호) Then 최대값 = (월이용횟수 * 여행거리) 최소고객번호 = 고객번호 도착지코드 = Trim(Mid(버퍼, 22, 2)) End If End If End If Next i Close #1 ''출력파일처리 Open "c:/c_it/data/ans2.txt" For Output As #2 Print #2, 인수1, 인수2, 도착지코드 Close #2 End Sub 선생님 100 200 MO 이렇게 정확한 답을 얻긴했느데 어제 답변주신것 처럼 코딩 이렇게 하면 정확한가요? 정말 다른 님들처럼 할수록 어려워집니다. 2005년 기출 다풀어보고 다른해 고급 문제도 풀러 보고 있는데 이젠 정확한 답이 나와도 제가 코딩한게 맞나 그런생각이 듭니다. 한번 확인해주세요
|