오전에 급해서 몇번이고 전화 드렸고,
선생님께서 직접 소스코딩한거 올리면 알려주시겠다했는데...
결국 내일 시험 보러 갈때까지 왜 틀렸는지 모르고 가는건가요. ㅜ_ㅜ
총3번의 모의고사를 보았고, 첫번째꺼랑 세번째꺼는 초급유형이라 쉽게 풀었는데.
어제 푼 이 문제에 대해서만 궁금증이 있었던건데요.......
선생님 바쁘시고, 수고스럽겠지만. 이왕이면 꼭 좀 알고싶습니다..
도저히 찾아봐도 알 수 없어서 이렇게 글은 올린거니까요~
<문제1>
Option Explicit
Sub main()
''''필수 변수 선언
Dim 인수1, 인수2, K, 버퍼 As Variant
''''핵심 변수 선언
Dim 예약수량, 예약금액, 지불금액(1000), 예약일자(1000), 등록번호(1000), P, Temp, Num As Variant
''''인수 처리
인수1 = Val(Left(Command, InStr(Command, " ")))
인수2 = Val(Left(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(버퍼, 18, 5))
예약금액 = Val(Mid(버퍼, 23, 10))
''''배열변수 구하기
If 예약수량 * 예약금액 >= 700000 Then
Num = Num + 1
지불금액(Num) = Val(Mid(버퍼, 48, 10))
예약일자(Num) = Trim(Mid(버퍼, 8, 10))
등록번호(Num) = Trim(Mid(버퍼, 1, 7))
End If
End If
Next K
''''정렬(지불금액 오름차순 or 지불금액 같음 and 등록번호 오름차순)
For K = 1 To Num
For P = K To Num
If 지불금액(K) > 지불금액(P) Or _
(지불금액(K) = 지불금액(P) And 등록번호(K) > 등록번호(P)) Then
Temp = 지불금액(K)
지불금액(K) = 지불금액(P)
지불금액(P) = Temp
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\ans1.txt" For Output As #2
Print #2, 인수1, 인수2, 예약일자(Num)
Close #2
End Sub
<문제3>
Option Explicit
Sub main()
''''필수 변수 선언
Dim 인수1, 인수2, K, 버퍼 As Variant
''''핵심 변수 선언
Dim 특검여부, 운송비용, 운송거리, 예약수량, 합계 As Variant
''''인수 처리
인수1 = Val(Left(Command, InStr(Command, " ")))
인수2 = Val(Left(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(버퍼, 103, 10))
예약수량 = Val(Mid(버퍼, 18, 5))
''''표처리
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
<문제4>
Option Explicit
Sub main()
''''필수 변수 선언
Dim 인수1, 인수2, K, 버퍼 As Variant
''''핵심 변수 선언
Dim 예약금액, 사은포인트, 합계 As Variant
''''인수 처리
인수1 = Val(Left(Command, InStr(Command, " ")))
인수2 = Val(Left(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))
''''표처리
Select Case 예약금액
Case Is >= 70001
사은포인트 = 2500 + 예약금액 * 4
Case Is >= 60001
사은포인트 = 2000 + 예약금액 * 3
Case Is <= 60000
사은포인트 = 1500 + 예약금액 * 2
End Select
''''합계
If 예약금액 >= 50000 And 예약금액 < 80000 Then
합계 = 합계 + 사은포인트
End If
End If
Next K
Close #1
''''출력 파일 처리
Open "c:\c_it\data\ans4.txt" For Output As #2
Print #2, 인수1, 인수2, 합계
Close #2
End Sub
p.s)선생님, 감사합니다....수검프로그램내에서 볼 수 있었던 문제를 따로 볼 수 없으니, 어디서 틀린건지 잘 몰겠네욤... 정확하게 이 문제와 동일한게 기출문제에선 못찾겠구요...^^;;
그럼 수고좀 부탁드립니다..