VB程序设计实验要求及报告6

2020-04-14 03:03

上海立信会计学院本科实验报告

班级: 学号: 姓名: 指导教师: 系部: 专业: 实验时间:

实验6 列表框、组合框与过程

一、 实验目的

1. 掌握列表框和组合框的使用

2. 掌握自定义函数过程和子过程的定义和调用方法 3. 掌握形参和实参之间的对应关系 4. 掌握值传递和地址传递的传递方式

二、实验要求

1. 在C:\\下建立子文件夹“VB实验6”,按照题目要求,在该文件夹下为各题保存相应的

文件,如本实验中的第一题,需保存的文件有:工程文件(61.vbp)、窗体文件(61.frm) 及可执行文件(61.exe),本实验中的第二题,需保存的文件有:工程文件(62.vbp)、窗体文件(62.frm) 及可执行文件(62.exe),其余实验依此类推。

2. 撰写实验过程中出现了哪些问题、错误,你是如何解决的,做一个小结。

三、 实验内容:

1. 设计一个选课的运行界面,如图6-1(a)所示。它包含2个列表框,左边为可供选择的

课程名称,通过Form_Load事件加入,并按拼音字母顺序排序;当单击某门课程名称后,将该课程加入到右边的列表框中,并在左边列表框中删除该课程。当右边课程数已满5门时,不允许再加入并出现如图6-1(b)所示的提示。窗体及所有控件字体默认、大小均为小四。

图6-1 (a) 图6-1 (b)

Private Sub Form_Load()

List1.AddItem \程序设计 \ List1.AddItem \程序设计 \ List1.AddItem \数据库数据与应用 List1.AddItem \硬件技术基础\ List1.AddItem \程序设计\ List1.AddItem \多媒体技术与应用\ List1.AddItem \网络技术与应用\ List1.AddItem \软件技术基础\ List1.AddItem \大学计算机基础\End Sub

Private Sub List1_Click() If List2.ListCount < 5 Then List2.AddItem List1.Text

List1.RemoveItem List1.ListIndex Else

MsgBox \超过5门功课,不能再选\信息提示\ End If End Sub

2. 在窗体上建立一个简单组合框,在组合框的文本区输入数字字符,按回车键后加入到组

合框的列表区内(非数字则不加入),然后清空文本区,如图6-2(a)所示;单击“交换”按钮后,可将组合框列表区中最小值项目和第0个项目交换;最大值项目与最后项交换, 如图6-2(b)所示。窗体中所有控件字体默认大小。

图6-2(a) 图6-2(b) Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

If IsNumeric(Combo1.Text) Then Combo1.AddItem Combo1.Text

End If

Combo1.Text = \ End If End Sub

Private Sub Command1_Click() Dim i%, min%, max%, x% min = 0

For i = 1 To Combo1.ListCount - 1

If Val(Combo1.List(i)) < Val(Combo1.List(min)) Then min = i Next

x = Combo1.List(0)

Combo1.List(0) = Combo1.List(min) Combo1.List(min) = x

max = Combo1.ListCount - 1

For i = 0 To Combo1.ListCount - 2

If Val(Combo1.List(i)) > Val(Combo1.List(max)) Then max = i Next

x = Combo1.List(Combo1.ListCount - 1)

Combo1.List(Combo1.ListCount - 1) = Combo1.List(max) Combo1.List(max) = x End Sub

3. 设计一个点菜程序,当单击“添加到我点的菜单中”按钮时,将组合框“饭店菜单”中

选中的菜添加到列表框“我点的菜”中,当单击“添加到饭店菜单中”按钮时,可以将文本框中输入的菜单名添加到组合框“饭店菜单”中,如已存在将不重复添加。要求:设计窗体界面,窗体中所有控件字体默认、大小为小四,并设计代码,初始时文本框、列表框、组合框内容均为空。

图6-3

Private Sub Command1_Click() Dim i%, flag As Boolean flag = False

For i = 0 To List1.ListCount - 1

If List1.List(i) = Combo1.Text Then flag = True Exit For End If Next i

If flag = False Then List1.AddItem Combo1.Text End Sub

Private Sub Command2_Click() Dim i%, flag As Boolean flag = False

For i = 0 To Combo1.ListCount - 1

If Combo1.List(i) = Text1.Text Then flag = True Exit For End If Next i

If flag = False Then Combo1.AddItem Text1.Text End Sub

4. 编写一个子过程ProcMin(a(),amin),求一维数组a中的最小值amin。要求主调程序在随

机产生10个-300 ~ -400之间的数,在窗体上显示所产生的数组中的各元素,通过Form_Load事件加入;调用ProcMin(a(),amin)过程,在窗体上显示数组中的最小值。窗体中所有控件字体默认、大小为小四,效果如图6-4所示。

图6-4

Private Sub Form_Load() Dim min%, i% Dim s%(1 To 10) Randomize

Print \数组中的各元素:\ For i = 1 To 10

s(i) = Int(Rnd * (-101) - 300) Print s(i);

Next Print

Call ProcMin(s, min) End Sub

Public Sub ProcMin(a%(), aMin%) Dim i!

aMin = a(LBound(a))

For i = LBound(a) + 1 To UBound(a) If a(i) < aMin Then aMin = a(i) Next Print

Print \数组中的最小值是:\End Sub

5. 编写一个自定义函数过程MySin(x),求:

-5xx3x5x7x2n?1n?1。当第n项的值小于|10|时结束,MySin(x)????????(?1)13!5!7!(2n?1)!x为弧度。主调程序同时调用MySin(x)函数和内部函数Sin(x),计算x=2时的函数值。

要求:通过单击按钮事件在窗体上显示结果,进行比较验证,窗体中所有控件字体默认、

大小为小四,效果如图6-5所示。

图6-5

Option Explicit

Public Function Mysin#(x#, eps#) Dim n%, t# n = 1

Mysin = 0

t = (-1) ^ (n - 1) * x ^ (2 * n - 1) / Fac(2 * n - 1) Do While (Abs(t) > eps) Mysin = Mysin + t n = n + 1

t = (-1) ^ (n - 1) * x ^ (2 * n - 1) / Fac(2 * n - 1) Loop


VB程序设计实验要求及报告6.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:非开挖不锈钢内衬修复工艺在供水管道技改中的应用(DN800原水管

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: