[문제1] (숙박요금 - 할인금액)에 따라 오름차순 정렬하였을 때 3번째 자료의 고객구분코드를 출력하시오. 동일값 발생시 예약번호로 내림차순 정렬하여 처리 하시오.(20점)
표는 생략했거든요~^^;;
제가 코딩한 부분 올릴께요~뭐가 잘못됐는지 봐주세용~
Sub main()
''필수 변수 선언
Dim 인수1, 인수2, i, 버퍼 As Variant
''핵심 변수 선언
Dim 숙박요금, 할인금액, 합계(1000), 고객구분코드(1000), 예약번호(1000), j, Temp, Num As Variant
''인수처리
인수1 = Val(Left(Command, InStr(Command, " ")))
인수2 = Val(Mid(Command, InStr(Command, " ")))
''입력파일처리
Open "C:\C_iT\Data\s10261.txt" For Input As #1
For i = 1 To 인수2
Line Input #1, 버퍼
If i >= 인수1 Then
''변수저장
숙박요금 = Val(Mid(버퍼, 19, 6))
할인금액 = Val(Mid(버퍼, 30, 4))
''배열변수구하기
Num = Num + 1
합계(Num) = 숙박요금 - 할인금액
고객구분코드(Num) = Trim(Mid(버퍼, 17, 2))
예약번호(Num) = Val(Mid(버퍼, 1, 6))
End If
Next i
''정렬하기(합계 오름차순 Or 동일시 예약번호 내림차순)
For i = 1 To Num
For j = i To Num
If 합계(i) > 합계(j) Or _
(합계(i) = 합계(j) And 예약번호(i) < 예약번호(j)) Then
Temp = 합계(i)
합계(i) = 합계(j)
합계(j) = Temp
Temp = 고객구분코드(i)
고객구분코드(i) = 고객구분코드(j)
고객구분코드(j) = Temp
Temp = 예약번호(i)
예약번호(i) = 예약번호(j)
예약번호(j) = Temp
End If
Next j
Next i
Close #1
''출력파일처리
Open "C:\C_iT\Data\asn1.txt" For Output As #2
Print #2, 인수1, 인수2, 고객구분코드(3)
Close #2
End Sub