一 、采用父母积分中较高者做为入学申请人的积分,积分相同时取父亲积分,由高到低进行录取(积分=社保积分+基础积分)。
二 、积分相同时,按以下条件依次确定录取顺序
1)申请人家庭在市区有自购产权住房且实际居住优先录取;
2)本区连续居住时间较长者优先录入;
3)在所采用的积分中,社保积分较高者优先录入;
4)以上全部相同,则按报名序号的先后顺序录取。
根据上述要求编写VB程序,功能如下:窗体装载时,按报名顺序读取1000个同学的信息,显示在列表框List1中。在文本框Text1中输入录取人数,单击“确定”按钮Command1,在列表框List2中按照录取序号显示录取名单。程序运行界面如图所示。
请回答下列问题:
Const n As Integer = 1000 '报名总人数
Dim xh(1 To 1000) As Integer,xm(1 To 1000) As String
Dim fqsb(1 To 1000) As Integer, fqjc(1 To 1000) As Integer
Dim mqsb(1 To 1000) As Integer, mqjc(1 To 1000) As Integer
Dim sfgf(1 To 1000) As Boolean, jzsc(1 To 1000) As Integer +
Private Sub Form_ Load ()
'依次读取n个入学申请人的信息,并显示在列表框List1中,代码略
' xh(1) 到xh(n)存储报名序号,对应的值从1到n
' xm(1)到xm(n)存储姓名
'fqsb(1)到fqsb (n)存储父亲社保积分,fqjc (1)到fqjc (n)存储父亲基础积分
'mqsb (1)到mqsb(n)存储母亲社保积分,mqjc (1)到mqjc (n)存储母亲基础积分
' sfgf (1)到sfgf (n)存储是否购房
'jzsc (1)到jzsc (n)存储居住时长
End Sub
Private Sub Command1_ _Click ()
Dim lqrs As Integer lqrs'表示录取人数
Dim info_ str As String
For i=1 To 1qrs
For j=i+ 1 To n
If Then
tmp= xh(i): xh(i) = xh(j): xh(j) = tmp
End If
Next j
'将录取的第i个学生信息显示在列表框List2中,代码略
Next i
End Sub
Function bj(a As Integer, b As Integer) As Bool ean
Dim jfa As Integer, jfb As Integer, sba As Integer, sbb As Integer
bj = False
'计算报名序号a的积分
If Then
jfa = fqsb(a) + fqjc(a)
sba = fqsb(a)
Else
jfa = mqsb(a) + mqjc (a)
sba = mqsb(a)
End If
'计算报名序号b的积分,并存入jfb、sbb,代码略
If jfa <> jfb Then
If jfa>jfb Then bj=True
ElseIf sfgf(a) <> sfgf (b) Then
If sfgf(a) = True Then bj = True
ElseIf jzsc(a) <> jzsc (b) Then
If sfgf(a) = True Then bj= True
ElseIf jzsc(a) <> jzsc(b) Then
If jzsc(a) > jzsc(b) Thenbj = True
Elself sba <> sbb Then
If sba> sbb Then bj = True
Else
If Then bj = True
End If
End Function