VB小程序代码实例_第1页
VB小程序代码实例_第2页
VB小程序代码实例_第3页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、1. 打印负数并分别计算正负数只和:有如下10个数:-2,73,82,-76,-1,24,321,-25,89,-20(也可以定位其他数值)打印出其中的每个负数,分别计算并输出正数和负数的和。程序如下:SubForm_Click()DimnumberASIntegerNegativeSum=0:PostiveSum=0Fori=1To10number=InputBox("Enterdata:")Ifnumber<0ThenPrintnumber;NegativeSum=NegativeSum+numberElsePostiveSum=PostiveSum+number

2、EndIfNextiprintprint"NegativeSum="NegativeSumPrint"PostiveSum="PostiveSumEndSub2. 打印九九表:在窗体上打印九九表:程序如下:PrintSubForm_Click()FontSize=12PrintTab(30);"9*9Table"Print:Print'输出两个空行Print"*"Fori=1To9PrintTab(i*6);i;'打印横行序号NextiForj=1To9Printj;""'

3、;打印竖行序号Fork=1Tojtemp=j*kPrintTab(k*6);temp;""'打印乘积NextkPrint'输出一个空行NextjEndSub打印人员名册打印人员名册:PrivateSubForm_Click()Print:PrintFontName="魏碑"FontSize=16Print”姓名”;Tab(8);"年龄”;Tab(16);”职务”;Tab(24);"单位”;Tab(32);"籍贯"PrintPrint"张得功”;Tab(8);"25”;Tab(16

4、);”科长”;Tab(24);”劳动科”;Tab(32);”北京"Print"李德生”;Tab(8);"32”;Tab(16);”处长”;Tab(24);”科研处”;Tab(32);”上海"EndSub单选按钮设置字体类型和大小单选按钮设置字体类型和大小:在窗体上画出两个框架,每个框架内分别画两个单选按钮,然后画两个命令按钮和一个文本框。编写时间过程如下:PtivateSubForm_Load()Form1.Caption="框架用法示例"Command1.Caption="确定"Command2.Caption=

5、”结束"Frame1.Caption="字体类型"Frame2.Caption=”字体大小"Option1.Caption="魏碑"Option2.Caption="幼圆"Option3.Caption="16”Option4.Caption="24"Text1.Text="VisualBasic程序设计”EndSubPrivateSubCommand1.Click_()IfOptoion1ThenText1.FontName="魏碑"ElseText1.

6、FontName="幼圆”EndIFIfOption3ThenText1.FontSize=16ElseText1.FontSize=24EndIfEndSubPrivateSubCommand2.Click_()EndEndSub计算存款利息计算存款利息:本金p为10000,年利率为0.125,每年计息一次,求10年的本利和是多少。SubForm_Click()DimpAsCurrencyp=10000:r=0.125t=1AgainIft>10ThenGoTo100i=p*rp=p+it=t+1GoToAgain100PrintpEndSub说明:这里的Again:”是标号

7、,100”是行号。3. 交换两个列表框的项目交换两个列表框的项目。其中一个列表框的项目按字母升序排列,另一个列表框的项目按项目加入的先后顺序排列。当双击某个项目时,该项目从列表框中消失,并出现在在另一个列表框中:PrivateSubForm_Load()List1.FontSize=14List2.FontSize=14List1.AddItem"IBM"List1.AddItem"Compad"List1.AddItem"HP”List1.AddItem"FUJI"List1.AddItem"Digital&qu

8、ot;List1.AddItem"长城"List1.AddItem"联想"List1.AddItem"Canon"List1.AddItem"四通"List1.AddItem"Acer"List1.AddItem"Nec"List1.AddItem"NCR"EndSubPrivateSubList1_DbClick()List2.AddItemList1.TextListl.RemoveltemListl.ListIndexEndSubPrivateSub

9、List2_DbClick()Listl.AddltemList2.TextList2.RemoveItemList2.ListIndexEndSub交换图片交换两个图片框中的图形:其中两个在上,一个在下。在窗体上建立三个图片框Picture1、Picture2、Picture3,PrivateSubForm_Click()'交换位图Picture3.Picture=Picture1.PicturePicture1.Picture=Picture2.PicturePicture2.Picture=Picture3.Picture'把第三个图片框设置为空Picture3.Pict

10、ure=LoadPicture()EndSubPrivateSubForm_LoadPicture1.Picture=LoadPicture_("C:DocumentsandSettingsAllUsersDocumentsMyPictures1.jpg")'可自行改变路径Picture2.Picture=LoadPicture_("C:DocumentsandSettingsAllUsersDocumentsMyPictures2.jpd")'可自行改变路径EndSub冒泡排序从键盘上输入10个整数,用冒泡法排序(BubbleSort)

11、法对这十个数从小到大排序:在窗体上建立一个命令按钮,并把Caption属性设置为ClickHeretoStart”编写程序如下:SubCommand1_Click()Staticnumber(1To10)ASInteger'定义数组number为整形Msg$="EnterNumberforSort:"MsgStile$="SortDemo"Fori%=1To10number(i%)=InputBox(Msg$,MsgTile$)Nexti%Fori%=10To2Step-1Forj%=1Toi%-1Ifnumber(j%)=number(j%+1

12、)Thent=number(j%+1)number(j%+1)=number(j%)number(j%)=tEndIfNextj%Nexti%Fori%=1To10Printnumber(i%)Nexti%EndSub判断09数据类型-奇数或偶数判断字母大小写及09数据类型-奇数或偶数:SubForm_Click()DimMsg,UserInputMsg="Pleaseenteraletterornumberfrom0though9."UserInput=InputBox(Msg)IfLen(UserInput)<>0ThenSelectCaseAsc(User

13、Input)'返回ASCII码Case65To90'大写字母Msg="Youenteredtheuppercaseletter"Msg=Msg&Chr(Asc(UserInput)&"!”Case97To122'小写字母Msg="Youenteredthelowercaseletter"Msg=Msg&Chr(Asc(UserInput)&"!"CaseElseMsg="Youdidnotenteraletteroranumber."EndSelec

14、tElseSelectCaseCDbl(UserInput)'转换为双精度数值Case1,3,5,7,9Msg=UserInput&"isanoddnumber"'奇数Case0,2,4,6,8Msg=UserInput&"isanoddnumber"'偶数CaseElse'出界Msg="Youenteredanumberouside"Msg=Msg&"therequestedrange"EndSelectEndIfMsgBoxMsg4. EndSub判断10

15、0200的所有偶数可以分解为两个素数之和判断100200的所有偶数可以分解为两个素数之和。Functionnf(nAsInteger)AsBoolean'判断n是否为素数DimsAsBooleanDimIAsIntegers=FalseForI=2ToInt(Sqr(n)'如果能被2Int(Sqr(n)中任何一个数整除,则不是素数跳出For循环IfnModI=0ThenExitForEndIfNextIIfI>Int(Sqr(n)Then'如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件s=True'当I是素数时s=trueEnd

16、Ifnf=s'当I是素数时,nf=true,否则nf=falseEndFunctionPrivateSubform_click()DimtAsBooleanDimqAsBooleanDimIAsIntegerDimjAsIntegerDimaAsIntegerForI=100To200Step2Forj=2ToI/2'I一定可分解为一个大于它一半的数和小于它一半的数t=nf(j)'调用Funtion(函数)nf,判断i是否是素数,把nf的值(true或flase)赋值给变量tIft=TrueThen'如果t是true就往下执行,否则就执行到Endif(2)后面的

17、nextj语句q=nf(I-j)'调用Funtion(函数)nf,判断i-j是否是素数,把nf的值(true或flase)赋值给变量qIfq=TrueThen'如果q是true(说明i-j是素数)就往下执行,否则就跳到Endif(1),继续执行j循环Printj,I-j'当q是true和t是True同时满足时,说明I的确能分解为两个素数,就打出j和I-j的值ExitFor'跳出j循环,判断下一个偶数EndIf'(1)EndIf'(2)NextjNextIEndSub判断是否为素数判断一个整数(>=3)是否为素数:提示:如果一个(>=3

18、的)整数可以将n被2到vh(n的平方根)之间的所有整数除,如果都除不尽,则n为素数()质数,否则n为非素数(合数)。编写程序如下:SubForm_Click()DimnAsIntegern=InputBox("请输入一个正整数(>=3):")k=Int(Spr(n)'取不大于n的平方根的最大整数i=2Swit=0Whilei<=kAndSwit=0IfnModi=0ThenSwit=1Elsei=i+1EndIfWendIfSwit=0ThenPrintn;"是一个素数"ElsePrintn;"不是素数"EndIf

19、EndSub说明:这里的Swit是一个标志变量。Swit=0标志着n未被任何一个正整数整除过;如果被整除过,则Swit=1。上述程序也可以写成:用For:Next语句:SubForm_Click()DimIasInteger,NAsIntegerN=val(InputBox("")ForI=2toint(Sqr(N)IfNModI=0ThenExitForNextIIfI>int(Sqr(N)ThenPrintN&"是素数"ElsePrintN&"不是素数"EndIfEndSub用While-.Wend循环:Su

20、bForm_Click()DimIAsInteger,NAsIntegerN=Val(InputBox("")I=2c=Int(Sqr(N)DoWhileI<=cIfNModI=0ThenExitDoI=I+1'在For以外的LoopIfI>cThenPrintN&"是素数"ElsePrintN&"不是素数"EndIfEndSub法2:一个数n是素数的条件:不能被2n-1整除用For.Next语句SubForm_Click()DimIasInteger,NAsIntegerN=val(InputBo

21、x("")ForI=2toN-1IfNModI=0ThenExitFor'如果能被2N-1中任何一个数整除,则不是素数,跳出For循环NextIIfI>=NThen'如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件PrintN&"是素数"ElsePrintN&"不是素数"EndIfEndSub切换信号灯模拟交通信号灯的切换:在窗体上画出3个图像框和两个命令按钮Command1(切换信号)和Command2(结束程序)。三个图像框分别装有红、绿、蓝三的信号标志的图片。编写如

22、下事件过程:PrivateSubForm_Load()Image2.Visible=FlaseImage3.Visible=FlaseEndSubPrivateSubCommand1_Click()IfImage1.Visible=TrueThenImage1.Visible=FalseImage2.Visible=TureElselfImage2.Visible=TureThenImage2.Visible=FalseImage3.Visible=TrueElseImage3.Visible=FalseImage2.Visible=TrueEndIfEndSubPrivateSubCommd

23、an2_Click()5. EndEndSub求N!求N的阶乘N!(N为自然数)程序如下:SubForm_Click()DimNAsIntegerN=InputBox("enterN:")k=1Fori=1ToNk=k*iNextiPrintN;"N!="kEndSub该程序也可以写成:SubForm_Click()DimNAsIntegerN=InputBox("enterN:")k=1:m=1Fori=1ToNk=k*i:m=m+1NextiPrintN;"N!="kEndSub程序也可以这样写:Private

24、Subcommand1_Click()DimIAsInteger,fAsDouble,nAsIntegern=InputBox("输入一个自然数:”,”输入提示”,"")ForI=1TonStep1f=f*INextITextl.Text=fEndSubPrivateSubCommand2_Click()EndEndSub人口达到或超过70亿所需年数假设目前世界人口约为60亿,如果以每年1.4%的速度增长,多少年后世界人口达到60亿或超过60亿?程序如下:SubForm_Click()DimpASDoubleDimrASSingleDimnASIntegerP=6

25、000000000#r=0.014n=0DoUntilp>=7000000000#p=p*(1+r)n=n+1LoopPrintn;"年后世界人口达到"pEndSub上述所用是DoUntilLoop"循环结构。该程序若改用DoLoopUntil”循环,则程序为:SubForm_Click()DimpASDoubleDimrASSingleDimnASIntegerP=6000000000#r=0.014n=0Dop=p*(1+r)n=n+1LoopUntilp>=7000000000#Printn;"年后世界人口达到"pEndSub

26、输出100300之间的所有素数输出100300间的所有素数:程序如下:SubForm_Click()Forn=101To300step2k=Int(Spr(n)'取不大于n的平方根的最大整数i=2Swit=0Whilei<=kAndSwit=0IfnModi=0ThenSwit=1Elsei=i+1EndIfWendIfSwit=0Thend=d+1IfdMod5=0Then'输出5个数字后换行Printn;"”;PrintElsePrintn;""EndIfEndIfNextnEndSub水仙花数VisualBasic的"水仙花数

27、"实现代码:说明:水仙花数是指一个n位数(n逋),它的每个位上的数字的n次藉之和等于它本身。(例如:1人3+5A3+3A3=153)三位的水仙花数共有4个:153,370,371,407;四位的水仙花数共有3个:1634,8208,9474;五位的水仙花数共有3个:54748,92727,93084;六位的水仙花数只有1个:548834;七位的水仙花数共有4个:1741725,4210818,9800817,9926315;八位的水仙花数共有3个:24678050,24678051,88593477编写如下事件过程:PrivateSubForm_Click()Dima,b,cAsIn

28、teger'a(个)b(十)c(百)Fora=0To9Forb=0To9IfaA3+bA3+cA3=a+10*b+100*cThenMsgBox100*c+10*b+a'或写成Print100*c+10*b+aEndIfNextcNextbNextaEndSub添加成员列表(枚举类型)的方法添加成员列表(枚举类型)可以用Enum语句:如:PublicEnumWorkdaysSaturdaySundayMondayTuesdayWednesdayThursdayFridayEndEnum在默认情况下,枚举中的第一个常数被初始化为0,其后的常数则初始化为比起前面的常数大1的数值。上

29、述的枚举中常数Sunday的值为0。PublicEnumWorkdaysSaturdaySunday=0MondayTuesdayWednesdayThursdayFridayInvalid=-1EndEnum该程序的第一个元素Sunday被赋值为0,Saturday为第一个元素,也被赋值为0,Tuesday的值为2。6. 显示不同形状在窗体上显示6中不同是形状:PrivateSubForm_Click()FontSize=12CurrentX=350Print"0"Fori=1To5Shape1(i).Left=Shape1(i-1).Left+1050Shape1(i)

30、.Shape=1Shape1(i).Visible=TrueCurrentX=CrrentX+750Printi;NextiEndSub写入与清屏在窗体上画一个文本框,Caption属性为空;再画三个命令按钮,Caption属性分别为单击此按钮输入”、清屏”和结束”。双击Command1进入代码窗口,输入以下程序代码:PrivateSubCommand1_Click()Text1.FontSize=20Text1.Text="欢迎进入VB世界"EndSubPrivateSubCommand2_Click()Text1.Text=""EndSubPriva

31、teSubCommand13_Click()7. EndEndSub选择机型并显示从窗体上选择机型,并在立即窗口中显示结果:在窗体上建立四个标签,Caption属性分别为:机型”、CPU主频”、内存”和硬盘”;建立四个组合框,Style属性分别为:1、2、2和0;建立两个命令按钮,Caption属性分别为:确定”和取消”,Default属性都是True。编写如下事件过程:SubForm_Load()Combol1.AddItem"IBM”Combol1.AddItem"Compad"Combol1.AddItem"方正"Combol1.AddI

32、tem"联想"Combol1.AddItem"HP"Combol1.AddItem"Acer"Combol1.AddItem"DEC"奔腾3900"奔腾3933"奔腾31.0G"奔腾41.2G"奔腾41.5G”、奔腾41.7G"奔腾42.0G"Combol2.AddItemCombol2.AddItemCombol2.AddItemCombol2.AddItemCombol2.AddItemCombol2.AddItemCombol2.AddItemCom

33、bol3.AddItem"64MB"Combol3.AddItem"128MB”Combol3.AddItem"256MB"Combol4.AddItem"10GB"Combol4.AddItem"20GB"Combol4.AddItem"32GB"Combol4.AddItem"32GB"Combol4.AddItem"40GB"Combol4.AddItem"60GB"EndSubSubCommand1_Click()De

34、bug.Print"你所选的机型为Debug.Print"机型:”;CombolDebug.Print"CPU:"Combo2Debug.Print"内存"Combo3Debug.Print"硬盘"Combo4EndSubSubCommand2_Click()EndEndSub用单选按钮改变字体和字号用单选按钮改变文本框里的字体和字号:在窗体上建立一个文本框和三个单选按钮。单选按钮的Caption属性分别为FontName:Roman”、FontName:Modern”和FontName:Courier”;Name

35、属性分别为Roman”、Modern”和Courier”;文本框的Name属性为Display"。编写如下事件过程:PrivateSubCourier_Click()Display.FontSize=18Display.FontName="Couier”EndSubPrivateSubModern_Click()Display.FontSize=20Display.FontName="Modern”EndSubPrivateSubForm_Roman()Display.FontSize=24Display.FontName="TimesNewRoman&

36、quot;EndSub用复选框给文字加下划线和删除线用复选框控制文本输入是否加下划线”和斜体显示”:建立三个控件:一个文本框和两个复选框,复选框的Caption属性分别为加下划线"和斜体显示”。编写如下事件过程:'双击窗体PrivateSubForm_Load()Display.FontSize=20EndSub'双击文本框PrivateSubDisplay_Change()'把文本框的Name属性改为Display且字号为20IfUnderOn.Vale=1ThenDisplay.FontUnderline=TrueElselFItalicOn.value=TrueThenDisplay.FontItalic=TrueEndIfEndSub'双击斜体显示”复选框PrivateSubItalicOn_Click()'把复选框的Name属性改为ItalicOnIfItalicOn.Value=1ThenDispla

温馨提示

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

最新文档

评论

0/150

提交评论