교수님이 코딩하신 것에 질문이 있는데요.
최대값을 정의하셨는데 왜 최대값 초기화는 안하셨는지, 그리고 도착지코드는 왜 따로 구해주는지, 마지막으로 결과값에 최대값을 대입하는게 아닌지.... 잘 모르겠습니다.
교수님께서 코딩하신것에 답을 보면 답이 MO라고 나오는데요...
저는 아래와 같이 코딩했는데, 이렇게 코딩하면 틀린건지, 왜 틀린건지 말씀 좀 해주세요^-^!!
Sub main()
''필수 변수 입력 Dim 인수1, 인수2, K, 버퍼 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 최소고객번호 = 99999999 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)) 도착지코드 = Trim(Mid(버퍼, 22, 2)) 고객번호 = Val(Mid(버퍼, 1, 5)) If 출발지코드 = "SU" And 승객만족도 <= 23 Then If 최대값 < 월이용횟수 * 여행거리 Or (최대값 = 월이용횟수 * 여행거리 And 최소고객번호 > 고객번호) Then 최대값 = 월이용횟수 * 여행거리 최소고객번호 = 고객번호 End If End If End If Next K Close #1
''출력 파일 처리 Open "c:\c_it\data\ans2.txt" For Output As #2 Print #2, 인수1, 인수2, 최대값 Close #2 End Sub |