소스 코딩하다가 궁금한게 있어서 질문드립니다.
제일 마지막 강의 기사(041106-오후) 2번 문제에서 고객번호를 버퍼에서 읽어오는 코딩이 빠진거 같습니다. 변수저장부분에서 고객번호를 읽어오는 코딩을 추가해 줘야하지 않나요? 고객번호 = Val(Mid(버퍼, 1, 5)) 이 코딩이 없어도 답은 똑같이 나오지만 이 코딩이 없으면 고객번호=0인 상태에서 최소고객번호와 비교하게 되어서 동일값이 있을때 답이 다르게 나올 것 같은데. 제가 잘못 생각하고 있을 수도 있어서 교수님께 질문드립니다.
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 ''최소고객번호 초기화 최소고객번호 = 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 |