Sub main()
''필수변수 선언
Dim 인수1, 인수2, i, 버퍼 As Variant
''핵심변수 선언
Dim 생물점수, 성취도, 총점, 지리점수, 합계(1000), 학번(1000), num, j, temp, 결과값 As Variant
''인수처리
인수1 = Val(Left(Command, InStr(Command, " ")))
인수2 = Val(Mid(Command, InStr(Command, " ")))
''입력파일처리
Open "c:\c_it\data\abc09.txt" For Input As #1
For i = 1 To 인수2
Line Input #1, 버퍼
If i >= 인수1 Then
''변수저장
생물점수 = Val(Mid(버퍼, 11, 3))
성취도 = Trim(Mid(버퍼, 27, 1))
총점 = Val(Mid(버퍼, 29, 3))
지리점수 = Val(Mid(버퍼, 8, 3))
''배열변수구하기
If 생물점수 >= 40 And 성취도 = "C" Then
num = num + 1
합계(num) = 총점 - 지리점수 / 4
학번(num) = Val(Mid(버퍼, 1, 6))
결과값 = 합계(1) + 합계(5)
End If
End If
Next i
''정렬구하기(합계내림차순or(합계같음 and 학번 오름차순))
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
End If
Next j
Next i
Close #1
''출력파일처리
Open "c:\c_it\data\ans3.txt" For Output As 2
Print #2, 인수1, 인수2, 결과값
Close #2
End Sub