빨간색 코딩을 살펴주세요.
Option Explicit
>>
Sub main() Dim 인수1, 인수2, 버퍼, k As Variant Dim 예약금액, 예약수량, 고객구분, 합계(1000), p, temp, num As Variant 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " ")))
>>
Open "c:\c_it\data\abc06.txt" For Input As #1 For k = 1 To 인수2 Line Input #1, 버퍼 If k >= 인수1 Then
>>
예약금액 = Val(Mid(버퍼, 23, 10)) 예약수량 = Val(Mid(버퍼, 18, 5)) 고객구분 = Trim(Mid(버퍼, 33, 1))
>>
If 고객구분 <> "0" And 고객구분 <> "1" Then num = num + 1 합계(num) = 예약수량 * 예약금액
>>
End If End If
>>
Next k
>>
For k = 1 To num For p = k To num If 합계(k) > 합계(p) Then temp = 합계(k) 합계(k) = 합계(p) 합계(p) = temp
>>
End If Next p Next k Close #1 Open "c:\c_it\data\ans2.txt" For Output As #2 Print #2, 인수1, 인수2, 합계(1) Close #2 End Sub
>>
2,3 번 두개나 틀려서 불합격입니다ㅜㅜ 낼 셤인데.. 고객구분 = Trim(Mid(버퍼, 33, 1)) 이걸 33,5로 적어야 맞는 거예요?
=> 아닙니다. 현재 소스가 맞습니다. 조건에서...한 자리만 추출 비교하기 때문입니다.
그리고 3번..
Option Explicit
>>
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\abc06.txt" For Input As #1 For k = 1 To 인수2 Line Input #1, 버퍼 If k >= 인수1 Then
>>
특검여부 = Trim(Mid(버퍼, 72, 1)) 예약수량 = Val(Mid(버퍼, 18, 5)) 운송거리 = Val(Mid(버퍼, 103, 10))
>>
Select Case 특검여부 Case "A" 운송비용 = 운송거리 * 10000 + 50000 Case "B" 운송비용 = 운송거리 * 8000 + 30000 Case Else 운송비용 = 운송거리 * 7000 + 20000 End Select
>>
If 예약수량 >= 80 Then 합계 = 합계 + 운송비용
>>
End If End If
>>
Next k Close #1 Open "c:\c_it\data\ans3.txt" For Output As #2 Print #2, 인수1, 인수2, 합계
>>
Close #2
>>
End Sub
>>
|