더운날씨에도 열심히 가르쳐 주셔서 감사합니다 ^^
다름이아니라 31강기사강의 부분에서여 산업기사(031026-오전)-중급(정최합합) 기출문제를 푸는데 문제 3번이 걸리네요 밑에와 같습니다
문제 3】 예약일자는 YYYYMMDD로 구성되어있다. 월일(MMDD)과 상관없이 2001년에 예약한 자료의 (부대시설이용요금 * 투숙기간)의 합계를 구하여 출력하시오.(30점)
''''필수 변수 선언 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 For K = 1 To 인수2 Line Input #1, 버퍼 If K >= 인수1 Then ''''변수 저장 예약일자 = Trim(Mid(버퍼, 7, 4)) <-----1번★ 이부분에서요 부대시설이용요금 = Val(Mid(버퍼, 25, 5)) 투숙기간 = Val(Mid(버퍼, 15, 2)) If 예약일자 = "2001" Then <------2번★ 이부분에서요 ^^ 합계 = 합계 + 부대시설이용요금 * 투숙기간 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
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
<-------1번★ 이부분에서여 예약일자는 월일과 상관없이 구한다면 년도잖아요 그래서 문자를 숫자로 변경시켜 예약일자 = val(Mid(버퍼, 7, 4)) 이렇게 되어야하는데 문자인 trim이 왔네요
<-------2번★ 이부분도 If 예약일자 = 200 Then 이렇게 고쳐져야 하지 않나요
초급에서 년도 유형을 배울때 문자를 숫자로 바꿔주라 이렇게 배워는데 제가 틀렸는지 알려주세요 그럼 수고 하세요 ^^*
|