22강까지 듣고 영진 교재에 있는 기출문제중 4번인 고객관리를 풀어봤는데, 답이 하나도 안 나오네요...
2번, 3번 문제는 오류는 잡히지 않는데 답만 틀리네요... 과연 오류를 찾을 수 있을지 의문입니다~
1번하고 4번에는 같은 오류가 발견되었는데요...
1번...지불방법이 AA로 시작하거나 BB로 시작하는 자료를 대상으로... 라는 부분을 다음과 같이 코딩했습니다.
지불방법 = Trim(Mid(버퍼, 57, 2)) If 지불방법 = "AA" Or "BB" Then
이렇게 했는데, 13번 런타임 오류가 발생했습니다. 4번 문제에도 같은 부분이 있는데 같은 오류가 발생했구요...
어떻게 해야 되는걸까요?
시간이 되신다면 2번과 3번 코딩도 검토해주시면 감사하겠습니다.
2번
Sub main()
Dim 인수1, 인수2, K, 버퍼 As Variant Dim 예약수량, 예약금액, 지불금액, P, temp, Num, 합계(1000), 일련번호, 결과값(1000) As Variant
인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " ")))
Open "c:\c_it\data\abc04.txt" For Input As #1 For K = 1 To 인수2 Line Input #1, 버퍼 If K >= 인수1 Then ''''변수 저장 예약수량 = Val(Mid(버퍼, 17, 5)) 지불금액 = Val(Mid(버퍼, 48, 10)) 예약금액 = Val(Mid(버퍼, 23, 10)) 일련번호 = Trim(Mid(버퍼, 1, 7)) If 지불금액 >= 6500000 Then Num = Num + 1 합계(Num) = 예약수량 * 예약금액 결과값(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 temp = 결과값(K) 결과값(K) = 결과값(P) 결과값(P) = temp End If Next P Next K Close #1
Open "c:\c_it\data\ans42.txt" For Output As #2 Print #2, 인수1, 인수2, 결과값(Num) Close #2
End Sub
3번
Sub main()
Dim 인수1, 인수2, K, 버퍼 As Variant Dim 예약수량, 예약금액, P, temp, Num, 일련번호, 합계, 최소값 As Variant
인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " ")))
Open "c:\c_it\data\abc04.txt" For Input As #1 최소값 = 9999999 For K = 1 To 인수2 Line Input #1, 버퍼 If K >= 인수1 Then ''''변수 저장 예약수량 = Val(Mid(버퍼, 17, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) 일련번호 = Val(Mid(버퍼, 7, 1)) If 일련번호 Mod 2 = 1 Then 합계 = 예약수량 * 예약금액 If 최소값 > 합계 Then 최소값 = 합계 End If End If End If Next K Close #1
''''출력파일처리 Open "c:\c_it\data\ans43.txt" For Output As #2 Print #2, 인수1, 인수2, 합계 Close #2
End Sub
|