VB自定义类型数组及应用

这个是Visual Basic 程序设计教程(第三版)5.4.3的例题
我照着书上的输入了之后却怎么也运行不出来
有一段 Dim stud(99) As studType
Dim n%
这段我不知道应该放在哪里.后面还有一个stud数组元素我也不知道有什么用.

Private Type studtype
name As String * 5
sex As String * 1
number As Long
department As String * 10
End Type

Private Sub Command1_Click()
If n >= 70 Then
MsgBox ("输入人数超过数组声明的个数")
Else
With stud(n)
.name = Text1
.sex = Text2
.number = Text3
.department = Combo1.Text
End With
Text = "": Text2 = "": Text3 = "":
n = n + 1
End If
.
End Sub

Private Sub Command2_Click()
Dim i%
Picture1.Cls
Picture1.Print "姓名 性别 学号 学院"
Picture1.Print "-----------------------------------"
For i = 0 To n - 1
With stud(i)
Picture1.Print Trim(.name); tap(9); .sex; tap(14); .number; tap(22); .department
End With
Text i
End Sub

Private Sub Command3_Click()
Dim tdepartment As String, i%
Picture2.Cls
tdepartment = InputBox("请输入想要查询的学院")
Picture2.Print "姓名 学院"
For i = 0 To n - 1
If Trim(stud(i).department) = Trim(tdepartment) Then
Picture2.Print stud(i).name, stud(i).department
End If
Next i

End Sub

这是我照着书上输入的代码.With stud(n)显示编译错误,子函数或函数未定义.
本人对VB非常之菜鸟.希望大虾可以详细的教一下,或帮改一下,非常感谢.
= =P.S.我把例题的telephone和school改成了number和department

1 说明: 在程序中使用自定义的数据类型时,一定要先声明,如你这个程序中的结构studType,一定要放在代码页的最开始的位置,然后是代码页内的局部变量,然后是自己的函数和过程,因此,你上边的程序代码应该按如下次序放置
第一部分:用户定义的数据类型
Private Type studtype
name As String * 5
sex As String * 1
number As Long
department As String * 10
End Type
第二部分:局部公共变量声明
Dim stud(99) As studType
Dim n%

第三部分:各个过程和和函数
Private Sub Command1_Click()
.
.
end sub
Private Sub Command2_Click()
.
.
end sub
Private Sub Command3_Click()
.
.
end sub

对于问题补充中的修改的问题并不重要,只要你前后保持一致就可以了,你也可以试着去改变一下里边的数据类型,以及成员变量的个数.

2 程序中的问题:
1 变量n在使用前未被初始化(从你的那3个按钮事件中未发现有该语句)
2 你定义的数组数是100个,而对n(按钮1中)的比较,超过70就认为超过数组声明个数?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-15
顺序
Private Type studtype
name As String * 5
sex As String * 1
number As Long
department As String * 10
End Type

Dim stud(99) As studType
Dim n%
再是其他子程序
相似回答