문제 2】 열차요금이 27000 이상이거나 열차코드가 MU인 자료에 대하여 (승객만족도 * 탑승인원)값 중 가장 작은 값의 좌석코드를 출력하되, 만약 가장 작은 값이 중복될 경우 중복자료 중 가장 큰 고객번호의 좌석코드를 출력하시오..(20점)
아래 소스 코딩 중 ''최대고객번호의 좌석코드 구하기 아래에 있는 좌석코드 = Trim(Mid(버퍼, 8, 2))을 "변수 저장"부분에 넣으면 안되는 건가요??
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\abc0105.txt" For Input As #1
''최소값 초기화
최소값 = 999999999
최대고객번호 = 0
For K = 1 To 인수2
Line Input #1, 버퍼
If K >= 인수1 Then
''변수 저장
열차요금 = Val(Mid(버퍼, 10, 6))
열차코드 = Trim(Mid(버퍼, 6, 2))
승객만족도 = Val(Mid(버퍼, 16, 2))
탑승인원 = Val(Mid(버퍼, 24, 3))
고객번호 = Val(Mid(버퍼, 1, 5))
''최대고객번호의 좌석코드 구하기
If 열차요금 >= 27000 Or 열차코드 = "MU" Then
If 최소값 > 승객만족도 * 탑승인원 Or _
(최소값 = 승객만족도 * 탑승인원 And 최대고객번호 < 고객번호) Then
최소값 = 승객만족도 * 탑승인원
최대고객번호 = 고객번호
좌석코드 = Trim(Mid(버퍼, 8, 2))
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