visual basic程序设计教程第四版答案(刘炳文)
某商场有一个价目表,该表有两项内容,即商品名和商品价格。原来的表中有4种商品的价格,即:
电冰箱 2340
电视机 5300
洗衣机 3320
自行车 890
编写程序,把上面的价目表存入一个数组,然后把新的商品名及其价格插入数组中。
解:本例 为了说明用记录作为过程的参数。可以把每种名及其价格作为一个记录,把多个记录放到一个中。插入记录的操作通过一个过程来实现,用记录作为实参调用插入过程。
(1)首先执行“工程”菜单中的“添加模块”命令,添加一个新的标准模块,打开代码窗口,输入以下代码。
Type commodity
comname As String
price As Currency
End Type
Public commo() As commodity
Public InsRec As commodity
Sub InsCommo(t As commodity, p As Integer)
Dim L, H, i As Integer
L = LBound(commo())
H = UBound(commo())
H = H + 1
If p > (H - L) Then p = H - L + 1’ 插入位置超过以前的总记录数,就插入到最后一条记录后。
ReDim Preserve commo(L To H)
For i = H To L + p Step -1
commo(i).comname = commo(i - 1).comname
commo(i).price = commo(i - 1).price
Next i
commo(L + p - 1).comname = t.comname
commo(L + p - 1).price = t.price
End Sub
上述代码首先定义了一个记录类型commodity,该记录有两个成员comname和price,分别用来存入商品名称和价格。接着定义了该记录类型的数组commo和变量InsRec,其中InsRec用来存放要插入的记录。(吴何雨洁飘)
过程InsCommo用来向数组中插入一个记录,它有两个形参,其中t是要插入的记录,p是插入的位置。
(2)在窗体上画两个图片框和2个按钮,如下图所示。
Private Sub Form_Load()
ReDim commo(1 To 4) As commodity’初始数组
commo(1).comname = "电冰箱"
commo(1).price = 2340
commo(2).comname = "电视机"
commo(2).price = 5300
commo(3).comname = "洗衣机"
commo(3).price = 3320
commo(4).comname = "自行车"
commo(4).price = 890
Command1.Caption = "显示记录"
Command2.Caption = "插入新记录"
End Sub
(3)编写按钮事件
Private Sub Command1_Click()
Picture1.Cls
For i = LBound(commo()) To UBound(commo())
Picture1.Print commo(i).comname, , commo(i).price
Next i
End Sub
Private Sub Command2_Click()
Dim Inspos As Integer
InsRec.comname = InputBox("请输入要插入的商品名")
InsRec.price = InputBox("请输入商品价格")
Inspos = InputBox("请输入插入位置")
InsCommo InsRec, Inspos
Call Command1_Click '显示插入后的记录信息
End Sub
运行程序,点击"插入新记录"按钮,分别输入以下插入信息:
商品名称 价格 插入位置
空调机 2600 3
手机 1600 4
激光打印机 3200 5
电话机 325 6
运行结果如下图所示。
visual basic 程序设计教程 第四版 答案 刘炳文 编著
来源:visual basic程序设计教程第四版答案(刘炳文)
本文链接:http://www.wb98.com/vb1/post/vb_9.12.html
本站文章搜索: