vb实验指导2011版_第1页
vb实验指导2011版_第2页
vb实验指导2011版_第3页
vb实验指导2011版_第4页
vb实验指导2011版_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录第一部分 上机实习指导2开 头 的 话2实验一 vb环境和可视化编程基础3实验二 顺序结构程序设计11实验三 选择结构程序设计16实验四 循环结构程序设计(1)22实验五 循环结构程序设计(2)24实验六 数组的使用(1)26实验七 数组的使用(2)29实验八 过程调用(1)31实验九 过程调用(2)33实验十 常用控件的使用35实验十一 文件的操作42实验十二 综合设计45实验十三 数据库应用基础(选作)49第二部分 实验报告52第一部分 上机实习指导开 头 的 话为了帮助同学们更好地学习visual basic程序设计,特编写本书作为辅助教学用书,用以指导上机实习。学习计算机程序设计

2、,上机实践与理论学习同等重要。把上机实践搞懂弄通,可以达到事半功倍的效果。希望同学们要脑勤手勤,通过上机实习环节,真正掌握计算机这一现代化工具,为将来成为国家的复合型适用型人才奠定基础。在此先向大家提几点注意事项:1上机以前要做好充分的预习,复习课堂讲的知识,看懂上机指导的内容,不要急匆匆地进机房就盲目地敲键盘,学习程序设计可不是练习打字哟 。2本指导书给出的一些程序代码仅供参考,同学们不要被它所束缚,因为编程的方法很多,关键是要提高分析问题与解决问题的能力。提倡开拓思路,目标是实现题目要求的功能,允许殊途同归。当然,也有算法的好与坏问题(有效性问题),那要靠多积累多学习才能够掌握。3本课程的

3、上机实习题目是前后相关的,从第一次实验开始,请同学注意保存文件。因此,在开始实验之前,要准备好保存数据的介质,比如u盘。创建一个文件夹,把所有的文件存在里面。但建议在上机作题时先临时把文件存在硬盘的某一文件夹,实验结束后在存到自己的盘中,这样运行速度会快些。也可以将每次的文件存在自己的信箱或网络硬盘中。4由于实验课时有限,每次实验都有必做题目(题号前面带的)和选做题目,在完成必做题的基础上,选做题可根据自己的实际或根据实验指导教师的规定挑一些练习(最好都做,可利用课外时间),有能力的同学可做一些开放型实验题,基础差的同学可重点做一些基本题,一定要立足于自己学会,切记不要相互拷贝。5最后一次实验

4、是将前面的题目综合汇总,其中有一项是为老师制作的一个阅卷程序。由于期末复习时间较紧,为保证这个综合设计,同学们可以提前做出主界面,再将每次的题目加入到里面。本指导书如有错误或不妥之处请大家指出,不胜感谢。实验一 vb环境和可视化编程基础一、 实验目的1掌握启动与退出visual basic的方法。2熟悉visual basic6.0的集成环境及其基本操作。3掌握建立、编辑和运行一个简单的vb应用程序的基本步骤。4掌握常用控件(窗体、文本框、标签、命令按钮)的运用。 5理解面向对象编程的机制及编码过程。二、 实验准备1复习vb窗体窗口、属性窗口、工程管理器窗口、代码窗口、工具箱窗口的组成、打开和

5、关闭的方法。2复习窗体、标签、按钮、文本框四个控件的常用属性和方法,自学图形框、图像框控件的使用(参见教材2.2及教材7.1.3)。3复习教材第4.6节程序调试。4实验步骤如下(以后各题均执行此步骤): 建立用户界面需要的控件对象; 设置对象属性; 编写对象事件过程; 保存文件(窗体文件和工程文件及其它); 调试运行程序。三、 实验内容实验1-1a创建一个简单的vb程序。要求在窗体背景上放入一张图片,用一个标签控件显示“欢迎使用visual basic”字样。程序运行效果如图1-1所示。主要步骤和设计要点: 启动vb,创建一个“标准”类型的应用程序。 从【工具箱】中选择一个标签控件(label

6、)放在窗体上。 在【属性窗口】设置窗体与标签的属性,详见表1-1。(若【属性窗口】没有打开,可在选中控件对象后单击右键,在弹出的快捷菜单中选择“属性窗口”)。 为让标签居中,可使用【格式】菜单中的“在窗口中居中对齐”一项设置为“水平对齐”。 窗体的背景图片是microsoft office的剪贴画,一般可在c:(或d:)program filesmicrosoft officemediacagcat10文件夹中找到,也可通过windows的文件搜索,还可以在office剪贴画中搜索“计算机”,查看该图片的属性找到其路径。 保存文件时先弹出对话框保存窗体文件,再弹出对话框保存工程文件。每个vb程

7、序都至少有这两个文件。本题分别以sy1-1a.frm和sy1-1a.vbp为文件名保存,以后各题也建议遵循这样的文件命名。 单击工具栏上“启动”按钮或功能键f5,运行程序,查看效果。如有不对,再行修改。反复调试直至符合要求。图1-1 实验1-1a运行效果表1-1 实验1-1a的属性设置控件名(name)标题(caption)背景色(backcolor)自动尺寸(autosize)边框样式(boderstyle)字体(font) 图片(picture)form11a实验1-1aj0195384.wmflabel1“欢迎使用visual basic”黄色true1-fixed single楷体粗体

8、小三说明:本题工程中只有一个窗体,使用它的默认名称为form1本也无妨,但考虑到以后要将这个窗体加入到其它工程中,故命新名:form11a,以后各题的窗体都以此方式按form+实验序号命名,不再赘述。本题没有编写程序代码的问题。表1-1中属性值为空的,表示使用默认值或该控件没有此属性,下同。实验1-1b在实验1-1a的基础上,做以下变化:用在图形框控件添加图片的方法装饰窗体,并用两种不同的属性设置对比效果;通过命令按钮改变标签字体。程序运行效果如图1-2所示。主要步骤和设计要点: 新创建一个“标准”类型的应用程序。此时vb系统在打开【新建工程】窗口前可能提示是否存上一题的两个文件,回答“是”。

9、从【工具箱】中选择控件:一个标签(label)、两个图像框(picturebox)、三个命令按钮(commandbutton)放在窗体上。在【属性窗口】设置窗体与其它控件的属性,部分属性值见表1-2。为让窗体上控件对齐与均布,可使用【格式】菜单中的“对齐”、“统一尺寸”、“水平间距”、“在窗口中居中对齐”等项进行调整。在【代码窗口】写三个命令按钮中的代码。(【代码窗口】可通过双击相应控件打开;或调用菜单:【视图】【代码窗口】)。注意对应的控件名称及事件名称。两个图形框中的背景图片同上题。保存文件sy1-1b.frm和sy1-1b.vbp,运行并调试程序。图1-2 实验1-1b运行效果表1-2

10、实验1-1b的属性设置控件名(name)标题(caption)前景色(forecolor)背景色(backcolor)边框样式(boderstyle)字体(font) 图片(picture)form11b实验1-1b黄色label1“欢迎使用visual basic”红色backstyle=0(transparent背景透明)楷体粗体小三picture1白色0nonej0195384.wmfpicture2按钮表面色1-fixed singlej0195384.wmfcommand1宋体command2隶书command3还原表1-3 实验1-1b的事件过程代码控件名单击事件过程(click)

11、command1label1.font = 宋体command2label1.font = 隶书command3label1.font = 楷体_gb2312注意:代码中的引号及其它标点一定要写为英文标点,不要写成汉字标点符号。还原按钮中对label1的字体设置要与初始设置一致,此处是“楷体”。实验1-2a创建一个简单的vb程序。要求在窗体上显示“欢迎登陆vb上机系统”、“请输入您的学号”和“请输入登录密码”,以及两个等待输入学号和密码的文本框和一个命令按钮。学号与密码均为8位(超过8位则不能输入),密码的输入显示为“*”。另外窗体上不要最大、最小和关闭按钮。单击命令按钮“确定”时,程序结束。

12、程序运行效果如图1-3所示。 图1-3 实验1-2a运行效果主要步骤和设计要点: 从【工具箱】中选择控件:三个标签(label)、两个文本框(text)和一个命令按钮(commandbutton)放在窗体上。 在【属性窗口】设置窗体与其它控件的属性,部分属性值见表1-4。 为让窗体上控件对齐与均布,可使用【格式】菜单等进行调整。 在【代码窗口】写出命令按钮command1的click(单击事件)中的代码:end。 保存文件sy1-2a.frm和sy1-2a.vbp。运行并调试程序:输入你的学号和一个自定义的密码,查看效果,再试一下输入9位是否可以。最后单击“确定”按钮让程序结束。表1-4 实验

13、1-2a的属性设置控件名(name)标题(caption)字体(font) 文本(text) 文本最大长度(maxlength)口令掩码(passwordchar)控制框(controlbox) form12a实验1-2afalselabel1“欢迎登录vb上机系统”小二text1小五清空8text2小五清空8*command1确定小五思考并尝试:再添加一个“显示”按钮,将输入的密码的内容在text2中显示出来。或添加一个“打印”按钮,将输入的密码的内容打印到窗体上。实验1-2b创建vb程序:在名称为form12b的窗体上放三个文本框和两个命令按钮,其中第一个文本框用于显示文本(不能输入),第

14、二个文本框用于输入文本,第三个文本框用于摘录文本。后两个文本框要满足多行输入。要求程序运行后,在左侧文本框中输入文本,不能超过100个字符,然后用鼠标选取其中部分文本,单击“摘要”按钮,选中文本则放入右边文本框。 “删除”钮将的作用是将右边文本框清空。运行效果如图1-4所示。图1-4 实验1-2b的运行效果主要步骤和设计要点: 从【工具箱】中选择控件:三个文本框(text)和两个命令按钮(commandbutton)放在窗体上。使用【格式】菜单等进行位置调整。 在【属性窗口】按题目要求设置文本框的属性,部分属性值见表1-5。 在【代码窗口】写出相关代码,详见表1-6。 保存文件sy1-2b.f

15、rm和sy1-2b.vbp。运行并调试程序:输入一段文本,选中其中一部分,单击两个按钮查看效果。表1-5 实验1-2b的属性设置控件名(name)标题(caption)文本(text)背景色(backcolor)只读(locked)多行(multiline) 文本最大长度(maxlength)滚动条(scrollbars)text1清空灰色truetruetext2清空true1002- verticaltext3清空true2-verticalcommand1摘要command2删除表1-6 实验1-2b的事件过程代码控件名单击事件过程(click)装载事件过程(load)command1t

16、ext3.text = text2.seltextcommand2text3 = form12btext1.text = 1.请在左边输入文本,不要超过100字。 + vbcrlf + 2.用鼠标选取部分文本,单击“摘要”按钮,将文本放入右边文本框。 + 单击“删除”钮将右边文本框清空。提示:text1中的文本text属性可以在“属性窗口”作初始设置,也可以象本题一样在窗体的load事件中用代码的形式写入。而文本框的seltext属性只能在代码中写。若要设置文本框的滚动条,必须先将文本框的多行属性(multiline)设为真(true)。实验1-3a创建一个vb程序,运行界面如图1-5所示。其

17、功能为:在文本框中输入一串字符,通过按钮对其字号放大2倍、缩小2倍或还原成初始设置。为了防止程序运行错误(字体过大或过小),不应连续放大和缩小,即单击一次“放大”或“缩小”按钮后,按钮为不可操状态。图1-5 实验1-3a的运行效果主要步骤和设计要点: 从【工具箱】中选择控件:一个文本框(text)、一个标签(label)和三个命令按钮(commandbutton)放在窗体上。使用【格式】菜单等进行位置调整。 在【属性窗口】 进行相关的属性设置,其中标签(label1)的字号设置为4号。 在【代码窗口】写出相关代码,详见表1-6。两个要点:因在form_load()事件过程中设置了text1的f

18、ontsize初始值,为了实现“还原”功能,可以调用form_load()事件过程中获得还原值;在“放大”、“缩小”按钮单击事件里让自己变为不可用的同时,别忘了把另一个设为可用。 保存文件sy1-3a.frm和sy1-3a.vbp。运行并调试程序:输入一串字符,单击三个按钮查看效果。说明:代码中call form_load一句,作用是调用form_load过程,将在第6章讲到。表1-7 实验1-3a的事件过程代码控件名单击事件过程(click)装载事件过程(load)form13atext1.fontsize = 24command1text1.fontsize = text1.fontsiz

19、e * 2command1.enabled = false:command2.enabled = truecommand2text1.fontsize = text1.fontsize 2command2.enabled = false:command1.enabled = truecommand3call form_loadcommand2.enabled = true:command1.enabled = true实验1-3b编制程序:在窗体上放一张小汽车图片,用两个命令按钮控制它的移动,但移动到窗体的边缘时就不能再动,且在窗体上打印出“停车”,此时第三个“还原”“按钮出现,可以单击它回到

20、原位置,也可以向相反方向移动。程序运行效果如图1-6和图1-7所示。图1-6 实验1-3b的运行效果1图1-7 实验1-3b的运行效果2主要步骤和设计要点: 从【工具箱】中选择控件:一个图像框(image)和三个命令按钮(commandbutton)放在窗体上。使用【格式】菜单等进行位置调整。 在【属性窗口】 进行相关的属性设置,要点:命令按钮可以有另一种图形样式,此时要把caption属性设为空,本题中的图片一般可以在c:(或d:)program filesmicrosoft visual studiocommongraphicsiconsarrows文件夹中找到,也可以通过搜索获得;将“还

21、原”按钮设为不可见。 在【代码窗口】写出相关代码,详见表1-9。要点:通过image1的left属性的变化达到图象移动的目的;通过image1的left的值与窗体边界的关系控制“小汽车”停止移动; 代码中有选择结构if语句,将在第三章讲到。 保存文件sy1-3b.frm和sy1-3b.vbp。运行并调试程序:单击三个按钮查看效果。表1-8 实验1-3b的属性设置控件名(name)标题(caption)样式(style)可见(visible) 图片(picture)image1j0212957.wmf(位置同实验1-1a中图片)command1(清空)1-graphcalpoint02.icoc

22、ommand2(清空)1-graphcalpoint04.icocommand3还原false表1-9 实验1-3b的中命令按钮的单击(click)事件过程代码command1command2command3cls command3.visible = false if image1.left (form13b.width - image1.width) then print 停车! command3.visible = true elseimage1.move image1.left + 50 end ifimage1.left = 1440思考并尝试:不用move方法,而是用改变left属

23、性值,实现图像的移动。不用“还原”按钮,小汽车移动到左边缘时“右指”的按钮出现,小汽车移动到右边缘时“左指”的按钮出现。实验1-3c如图1-8所示界面,通过单击自动按钮(左)或手动按钮(右),使窗体中“欢迎使用vb”字体向下滚动,试自己完成该题。体会运行、调试效果。(窗体的背景图片可自己选择)。图1-8 实验1-3c的运行效果实验二 顺序结构程序设计一、 实验目的1掌握表达式、赋值语句的正确使用与书写规则。2掌握常用函数的使用。3掌握inputbox与msgbox函数(过程)的使用。4掌握各种数据类型5掌握vb程序基本的输入输出方法。二、 实验准备1复习利用输入框函数inputbox进行数据输

24、入;利用文本框进行数据输入。2复习利用标签输出结果、利用文本框输出结果、利用print方法在窗体中或图形框中输出结果、利用信息框函数(过程)输出简单结果。3复习各种数据类型的声明、赋值与运算。4复习相关函数:val()、str()、isnumeric()、inputbox()、msgbox()、rgb()、len()、trim()、lcase()、ucase()、datevalue()、datediff()、year()、 month()、day()、hour()、 minute()、 second()、date()、now()。5复习相关事件与方法:setfocus方法、lostfocus事

25、件、gotfocus事件。三、 实验内容实验2-1a编制程序解决简单实际问题:用户输入圆的半径,计算出圆周长和面积,运行界面如图2-1所示。要求对输入半径进行合法检查,若发现有非法数字(不是数字的字符),利用msgbox显示出错信息,利用setfocus方法定位于出错的文本框处,以便重新输入。图2-1 实验2-1a的运行效果主要步骤和设计要点: 将图2-1所示的控件放到窗体上:文本框用作数据的输入与输出,标签用于提示输入,按钮用来计算结果。 在【属性窗口】 进行相关的属性设置。将用作输出的文本框设为只读,且将背景色设为灰色。 在【代码窗口】写出相关代码,详见表2-1。要点:文本框中的数据是字符

26、型的,注意将其转换为数值数据,使用函数val()。在text1失去焦点时(lostfocus()事件)验证数据的有效性,利用函数isnumeric()判断是否是数字字符,若不是先清空文本框再让它获得焦点(setfocus)。 本题中使用了msgbox()函数,但不要求返回值。 保存文件sy2-1a.frm和sy2-1a.vbp。运行并调试程序:输入半径数,看计算结果(可用计算器验算一下);输入非法字符看是否报错。表2-1 实验2-1a主要控件对象的属性设置与事件代码控件名(name)只读(locked)背景色(backcolor) 事件过程代码text1private sub text1_lo

27、stfocus() if not isnumeric(text1) then i = msgbox(输入了非数字字符!, 64, 提示) text1 = text1.setfocus end if text2 = text3 = end subtext2true灰text3true灰command1private sub command1_click() text2.text = 2 * 3.14 * val(text1)end subcommand2private sub command2_click() text3.text = 3.14 * val(text1) 2end sub提示:当

28、用鼠标或tad键将光标移至别处时称作失去焦点,相反叫获得焦点。实验2-1b同上题:用户输入圆的半径,计算出圆周长和面积,运行界面如图2-2所示。要求利用inputbox函数进行输入,利用标签进行数据结果的显示。请同学自己完成。提示:1将值设为一个常量,便于在表达式中计算。2数值数据用“+”号连接到label的caption属性时要用函数str()转换。图2-2 实验2-1b的运行效果思考:几种输入、输出的方式各有什么优缺点,你更喜欢用哪种?实验2-2a接实验1-2a题:界面大体如前,将原“确定”按钮改为“退出”,功能不变。再加一个“验证”按钮,其功能是:若输入正确的学号“20129999”、正

29、确的密码 “tjin1234”,则在文本框中显示“true”,反之为“false”。均为红色显示。运行效果如图2-3所示。图2-3 实验2-2a的运行效果主要步骤和设计要点: 打开已有的工程文件sy1-2a.vbp(注意不是窗体文件),利用【文件】菜单中【工程另存为】一项将其另存为sy2-2a.vbp;然后利用【文件】菜单中【sy1-2a.frm另存为】一项将窗体文件也另存为sy2-2a.frm。在新文件中编辑修改。 通过菜单【视图】中【对象窗口】一项调出窗体,也可以双击“工程资源管理器”中的窗体文件名,打开窗体,然后进行添加一个命令按钮,相应的属性设置。 在【代码窗口】写出“验证”按钮的单击

30、事件代码及其它代码,详见表2-2。要点:利用rgb()函数改变文本框中文本的颜色。text1 = (text1 = 20109999)这个赋值语句右侧得到的是一个逻辑值,将它赋给了text1的text属性(文本框的默认属性)。 保存文件sy2-2a.frm和sy2-2a.vbp。运行并调试程序。提示:一定要把窗体文件也通过“另存为”复制过来,否则两个工程共用一个窗体,做过修改的窗体就与原工程的题意不符了。表2-2 实验2-2a主要控件对象的事件代码控件名(name)得到焦点事件过程代码(gotfocus) 单击事件过程代码(click)text1text1 = text1.forecolor

31、= rgb(0, 0, 0)text2text2 = text2.forecolor = rgb(0, 0, 0)text2.passwordchar = *command2text1.forecolor = rgb(255, 0, 0) text2.forecolor = rgb(255, 0, 0) text2.passwordchar = text1 = (text1 = 20129999) text2 = (text2 = tjin1234)实验2-2b练习字符串的相关函数。输入一个字符串,将它转换成大写、转换成小写、显示其字串长度、显示去掉首尾空格后的长度。运行效果如图2-4所示。请

32、同学们参照图2-4所示界面,自行设计本题。图2-4 实验2-2b的运行效果实验2-2c练习时间的相关函数。利用标签显示当前的日期、时间,利用文本框输入一个新的日期。通过函数计算出新日期与当前之差(多少年、多少月、多少天)并用红色文本显示出来。运行效果如图2-5所示。请同学们参照图2-5所示界面,自行设计本题。提示:1要用到这些函数:date()、 year()、 month()、day()、hour()、 minute()、 second()、now()、datevalue()、datediff()。2在form_load()事件里写的代码,能够在程序开始运行时就起作用。前两行文本是通过函数得

33、到的,所以不可能在【属性窗口】中设置其值。3用运算符“&”可以把不同类型数据联成一个字符型的数据。0图2-5 实验2-1a的运行效果实验2-3a练习赋值语句。利用标签、文本框、按钮等控件,显示赋值语句的内涵。运行效果如图2-6所示。请同学们参照图2-6所示界面,自行设计本题。提示:1对应x、y的文本框用于输入,其它三个用于输出,可设为只读。2几个按钮中单击事件的代码均为先将两个文本框的值给变量x与y,如x = text1: y = text2;再进行相应的赋值,如x=y;最后再将新值给到新x和新y,如text3 = x , text4 = y,等等。图2-6 实验2-3a的运行效果 图2-7

34、实验2-3b的运行效果实验2-3b练习表达式的正确书写与计算。利用标签、文本框、按钮等控件,计算数学题。运行效果如图2-7所示。请同学们参照图2-7所示界面,自行设计本题。提示:题目的公式是一张图片。先用office中的公式编辑好(或用图形工具画好),再贴到窗体上的图形框(或图像框)中。实验三 选择结构程序设计一、 实验目的1掌握逻辑表达式的正确书写形式。2掌握单分支与双分支条件语句的使用。3掌握多分支条件语句的使用。4掌握情况语句的使用及与多分支条件语句的区别。二、 实验准备1复习if语句中的ifthen形式、ifthenelse形式、ifthenelseif形式。2复习if语句的嵌套形式。

35、3复习select case语句。4复习函数:msgbox()(及msgbox过程)、rnd()、int()、isnumeric()、instr()、trim()、chr()。5复习setfocus方法、gotfocus事件、load事件。三、 实验内容实验3-1a输出二级考试的成绩:如果笔试合格,上机考试也合格,输出“合格”;如果笔试合格,上机不合格,输出 “笔试合格”;若相反,输出“上机合格”;如果两者都不合格,输出“不合格”。用选择结构编写一段程序,完成以上功能,输入用文本框实现,输出用标签或文本框实现。(注:大于等于60分为合格)。程序运行效果如图3-1所示。图3-1 实验3-1a的运

36、行效果主要步骤和设计要点: 根据图3-1所示,在窗体上添加相应控件对象。 在【属性窗口】进行相关的属性设置。若用文本框作输出将其设为只读,且将背景色设为灰色。若用标签作输出将其边框样式设为borderstyle=1,背景色设为灰色。 在【代码窗口】写出“核定”按钮的单击事件代码。请同学自行完成。 保存文件sy3-1a.frm和sy3-1a.vbp。运行并调试程序。思考并尝试:在你写的代码中不要使用逻辑运算符“and”。实验3-1b编写模拟袖珍计算器的程序,运行界面如图3-2所示。要求如下:输入两个操作数和一个四则运算操作符,根据操作符决定所做的运算。输入的数据进行合法检验,当输入出错时,调用m

37、sgbox()提示。程序运行效果如图3-2所示。图3-2 实验3-1b的运行效果主要步骤和设计要点: 将图3-2所示的控件放到窗体上:文本框用作数据的输入与输出,标签用于提示输入,按钮用来计算结果。 在【属性窗口】 进行相关的属性设置。将用作输出的文本框设为只读,且将背景色设为灰色。 在【代码窗口】写出相关代码,详见表3-1及其以下表3-2中文字。要点如下:三个用于输入数据的文本框得到焦点时,就意味着可能会重新输入,所以要将输入文本框中的数据清空,以避免在窗体上出现错误的显示。计算前先验证数据数据的有效性,利用函数isnumeric()判断是否是数字字符,若不是则清空文本框让它获得焦点(set

38、focus),以便重新输入。 根据输入的运算符来判断作什么运算,参考代码中用了一个包含四则运算符的字符串strc,通过找子串函数instr(),判断text3中的字符是否在含于strc中,若不在(返回值为0),则认定为非法字符,让用户重新输入。 保存文件sy3-1bfrm和sy3-1b.vbp。运行并调试程序:输入运算符与运算数,看计算结果(可用计算器验算一下);输入非法字符看是否报错。表3-1 实验3-1b主要控件对象的事件代码控件名(name)得到焦点事件过程代码(gotfocus)控件名(name) 单击事件过程代码(click)text1text4 = command1见表3-2中的内

39、容text2text4 = text3text4 = command2end表3-2 实验3-1b按钮的单击事件代码“计算”private sub command1_click() dim m1!, m2!, c$, strc$, m!, i% strc = +-*/ if not isnumeric(text1) then i = msgbox(数1是非数值数据!, 16, 提示) text1 = text1.setfocus elseif not isnumeric(text2) then i = msgbox(数2是非数值数据!, 16, 提示) text2 = text2.setfoc

40、us elseif instr(strc, trim(text3) = 0 then if c + and c - and c * and c / then i = msgbox(输入了非法运算符!, 16, 提示) text3 = text3.setfocus else m1 = text1: m2 = text2: c = text3 select case c case + m = m1 + m2 case - m = m1 - m2 case * m = m1 * m2 case / m = m1 / m2 end select text4 = str(m) end ifend sub

41、实验3-2a参考实验2-2a的登陆界面,修改“验证”按钮的代码,通过使用msgbox()输出对学号和密码进行验证的结果。要求:学号为数字,输入非数字字符则给出提示;密码为“tjin1234”,输入不正确,提示信息,若单击“取消”按钮,则结束程序;以上两者都输入正确,也给出提示成功的信息。提示信息对话框效果如图3-3所示。图3-3 实验3-2a的提示信息主要步骤和设计要点: 打开已有的工程文件sy2-2a.vbp(注意不是窗体文件),利用【文件】菜单中【工程另存为】一项将其另存为sy3-2a.vbp;然后利用【文件】菜单中【sy2-2a.frm另存为】一项将窗体文件也另存为sy3-2a.frm。

42、在新文件中编辑修改。 通过菜单【视图】中【对象窗口】一项调出窗体,也可以双击“工程资源管理器”中的窗体文件名,打开窗体,然后进行添加一个命令按钮,相应的属性设置。 在【代码窗口】修改“验证”按钮的单击事件代码,详见表3-3中文字。 保存文件sy3-2a.frm和sy3-2a.vbp。运行并调试程序。表3-3 实验3-2a按钮的单击事件代码“验证”private sub command2_click() if not isnumeric(text1) then msgbox 学号中有非数字字符!, 64, 提示 text1 = text1.setfocus elseif text2 = tjin

43、1234 then msgbox 您成功进入系统。, 48, 成功 else a = msgbox(密码错误, + vbcrlf + 您不能进入系统。, 5 + 16, 警告) if a = 4 then text2 = text2.setfocus else command1_click end if end ifend sub说明: 本题中前两个分支语句中用了msgbox过程,因为它不需要返回值;第三个分支中用的是函数msgbox(),要根据它的返回值决定是重试还是退出。msgbox参数中的64、48、16可以用vb的内部常数vbinformation、vbexclamation、vbcr

44、itical来代替。vbcrlf也是vb的内部常数,用于换行,可以用chr(13)+ chr(10)代替。实验3-2b编制一个修改密码的应用程序。单击“确定”按钮进行判断,顺序为:先判断输入的旧密码(假设为“111111”),若旧密码正确再判断两次输入的新密码是否一致,若新密码一致再判断验证码是否正确。每次出错都给出提示信息,然后清空所有文本框;若全部正确则提示“密码修改成功!”。单击“重置”按钮可将所有文本框清空。程序运行界面如图3-4所示,部分提示信息如图3-5所示。图3-4 实验3-2b的运行界面图3-5 实验3-2b的部分提示信息主要步骤和设计要点: 将图3-4所示的控件放到窗体上。

45、在【属性窗口】 进行相关的属性设置。其中验证码用一个标签,设置成带颜色的背景,选择花体数字即可,本题中使用的字体为edwardian script,背景为暗粉色。三个输入密码的文本框都要设置passwordchar属性。 在【代码窗口】写出相关代码,其中验证码设在装载窗体的事件里,由随机函数产生,表3-2给出部分代码,“确定”按钮中的单击事件过程代码由同学自己完成。 保存文件sy3-2bfrm和sy3-2b.vbp。运行并调试程序:输入旧密码与新密码,分别输入正确与错误,看提示信息的结果,还可以再加一句print语句把新改成的密码打印在窗体上。表3-2 实验3-2b部分控件对象的事件代码控件名

46、(name)窗体装载事件过程代码(load)控件名(name) 单击事件过程代码(click)form32bprivate sub form_load() randomize label6 = int(1000 + rnd * 9000)end subcommand2private sub command2_click() text1 = : text2 = :text3 = : text4 = form_loadend sub说明:本题中的验证码只是作个模仿,一般用图片来实现。在command2_click事件中调用form_load是为了代码的复用。使用随机函数前先写一句randomize

47、(随机种子),防止伪随机。开放型实验3-a 模拟冰壶比赛,已知大本营中有红色冰壶一只,黄色冰壶二只,试编制应用程序判定此局哪个队获胜,并计算得分。要求:考虑这三只冰壶所有分布情况。提示:各壶距垒心的距离由用户输入或随机产生。附:冰壶简介冰壶比赛用的冰场长44.5米,宽4.75米。从投球点起约40米远处画有圆形标志的地方为“大本营”(直径3.66米)。冰壶分为红和黄两种颜色,每个颜色各8个冰壶,分4个人进行投掷,每人投掷2个冰壶,每局只能一方得分。每局以距大本营圆心最近的一方得分。(大本营:圆型,有区域,圆心,也称作垒)。比如红壶距离圆心最近,那么这局就是红队得分!算分的方法是,以距离圆心最近的

48、黄壶为准,所有比这个黄壶近的红壶都得分,每壶一分。开放型实验3-b编程制作一个“猜数”小游戏。让计算机产生一个100以内随机数,游戏者猜这个数,计算机返回是否猜中。可以猜多次,计算机给予提示,直至猜对,并记载该次数。计算机根据游戏者的表现,给予不同的评语。实验四 循环结构程序设计(1)一、 实验目的1掌握for语句的使用。2掌握do语句的各种形式的使用。3掌握如何控制循环条件,防止死循环或不循环。4掌握多重循环结构。5掌握应用循环的常用算法。二、 实验准备1复习for语句。2复习doloop语句的do while形式、loop until形式。3复习循环语句的嵌套形式。4复习取余运算(mod)

49、、整除运算()。5复习inputbox()函数、cls方法、print方法、三、 实验内容实验4-1编程练习使用循环结构的for语句和doloop语句。用一个文本框显示计算结果,用九个命令按钮计算相应的题目(用两种循环结构语句写成)。要求程序中使用变量强制声明语句option explicit;有输入数据时用输入框函数inputbox()完成输入;最后一个计算要将和数超过1000时的项数打印到窗体上。程序运行界面如图4-1所示。图4-1 实验4-1的运行界面现给出其中求“5个任意数之和”的两个按钮的单击事件过程代码,如表4-1。其余的由同学们自己完成。表4-1 实验4-1部分控件对象的事件代码

50、用for语句用do-loop语句private sub command3_click()dim i as integer, s as integer, n%, x% cls s = 0 for i = 1 to 5 x = val(inputbox(请输入x:) s = s + x print x; i; =; x next i text1 = send subprivate sub command7_click() dim i as integer, s as integer, n%, x% cls s = 0: i = 0 do while i 5 x = val(inputbox(请输入

51、x & i + 1) s = s + x i = i + 1 print x; i; =; x loop text1 = send sub思考:以上两者有何不同之处,在用do-loop实现的语句中没有哪句就会成为死循环?实验4-2编一程序,显示所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例如,153=13+53+33。结果用print方法打印在窗体上即可。程序运行界面如图4-2所示。图4-2 实验4-2的运行界面提示:用穷举法的思想,遍历所有三位数,逐一判断是否符合水仙花数的条件,若是便打印出来。一般有这样两种方法: 用单循环做,将三位数的个位、十位、百位通过整除或取余运算分离出来,从而判断是否符合条件。 用三重循环做,三重循环变量分别代表这个三位数的百位、十位、个位,接成一个三位数进行条件判断。请同学们自己完成。76实验五 循环结构程序设计(2)一、 实验目的1掌握for语句的使用。2掌握do语句的各种形式的使用。3掌握如何控制循环条件,防止死循环或不循环。4掌握多重循环结构。5掌握应用循环的常用算法。二、 实验准备1复习for语句。2复习doloop语句的do while形式、loop until形式。3复习循环语句的嵌套形式。4复习图形框(picture)的相关属性与方法。4复习函数:tab()、rnd()、int()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论