VB小程序代码实例.docx

上传人:b****2 文档编号:12866419 上传时间:2023-04-22 格式:DOCX 页数:27 大小:23.29KB
下载 相关 举报
VB小程序代码实例.docx_第1页
第1页 / 共27页
VB小程序代码实例.docx_第2页
第2页 / 共27页
VB小程序代码实例.docx_第3页
第3页 / 共27页
VB小程序代码实例.docx_第4页
第4页 / 共27页
VB小程序代码实例.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

VB小程序代码实例.docx

《VB小程序代码实例.docx》由会员分享,可在线阅读,更多相关《VB小程序代码实例.docx(27页珍藏版)》请在冰豆网上搜索。

VB小程序代码实例.docx

VB小程序代码实例

1.打印负数并分别计算正负数只和:

有如下10个数:

-2,73,82,-76,-1,24,321,-25,89,-20(也可以定位其他数值)

打印出其中的每个负数,分别计算并输出正数和负数的和。

程序如下:

SubForm_Click()

DimnumberASInteger

NegativeSum=0:

PostiveSum=0

Fori=1To10

number=InputBox("Enterdata:

")

Ifnumber<0Then

Printnumber;

NegativeSum=NegativeSum+number

Else

PostiveSum=PostiveSum+number

EndIf

Nexti

print

print"NegativeSum=";NegativeSum

Print"PostiveSum=";PostiveSum

EndSub

2.打印九九表:

在窗体上打印九九表:

程序如下:

PrintSubForm_Click()

FontSize=12

PrintTab(30);"9*9Table"

Print:

Print'输出两个空行

Print"*";

Fori=1To9

PrintTab(i*6);i;'打印横行序号

Nexti

Forj=1To9

Printj;"";'打印竖行序号

Fork=1Toj

temp=j*k

PrintTab(k*6);temp;"";'打印乘积

Nextk

Print'输出一个空行

Nextj

EndSub

3.打印人员名册

打印人员名册:

PrivateSubForm_Click()

Print:

Print

FontName="魏碑"

FontSize=16

Print"姓名";Tab(8);"年龄";Tab(16);"职务";Tab(24);"单位";Tab(32);"籍贯"

Print

Print"张得功";Tab(8);"25";Tab(16);"科长";Tab(24);"劳动科";Tab(32);"北京"

Print"李德生";Tab(8);"32";Tab(16);"处长";Tab(24);"科研处";Tab(32);"上海"

EndSub

4.单选按钮设置字体类型和大小

单选按钮设置字体类型和大小:

在窗体上画出两个框架,每个框架内分别画两个单选按钮,然后画两个命令按钮和一个文本框。

编写时间过程如下:

PtivateSubForm_Load()

Form1.Caption="框架用法示例"

Command1.Caption="确定"

Command2.Caption="结束"

Frame1.Caption="字体类型"

Frame2.Caption="字体大小"

Option1.Caption="魏碑"

Option2.Caption="幼圆"

Option3.Caption="16"

Option4.Caption="24"

Text1.Text="VisualBasic程序设计"

EndSub

PrivateSubCommand1.Click_()

IfOptoion1Then

Text1.FontName="魏碑"

Else

Text1.FontName="幼圆"

EndIF

IfOption3Then

Text1.FontSize=16

Else

Text1.FontSize=24

EndIf

EndSub

PrivateSubCommand2.Click_()

End

EndSub

5.计算存款利息

计算存款利息:

本金p为10000,年利率为0.125,每年计息一次,求10年的本利和是多少。

SubForm_Click()

DimpAsCurrency

p=10000:

r=0.125

t=1

Again

Ift>10ThenGoTo100

i=p*r

p=p+i

t=t+1

GoToAgain

100

Printp

EndSub

说明:

这里的“Again:

”是标号,“100”是行号。

6.交换两个列表框的项目

交换两个列表框的项目。

其中一个列表框的项目按字母升序排列,另一个列表框的项目按项目加入的先后顺序排列。

当双击某个项目时,该项目从列表框中消失,并出现在在另一个列表框中:

PrivateSubForm_Load()

List1.FontSize=14

List2.FontSize=14

List1.AddItem"IBM"

List1.AddItem"Compad"

List1.AddItem"HP"

List1.AddItem"FUJI"

List1.AddItem"Digital"

List1.AddItem"长城"

List1.AddItem"联想"

List1.AddItem"Canon"

List1.AddItem"四通"

List1.AddItem"Acer"

List1.AddItem"Nec"

List1.AddItem"NCR"

EndSub

PrivateSubList1_DbClick()

List2.AddItemList1.Text

List1.RemoveItemList1.ListIndex

EndSub

PrivateSubList2_DbClick()

List1.AddItemList2.Text

List2.RemoveItemList2.ListIndex

EndSub

7.交换图片

交换两个图片框中的图形:

在窗体上建立三个图片框Picture1、Picture2、Picture3,其中两个在上,一个在下。

PrivateSubForm_Click()

'交换位图

Picture3.Picture=Picture1.Picture

Picture1.Picture=Picture2.Picture

Picture2.Picture=Picture3.Picture

'把第三个图片框设置为空

Picture3.Picture=LoadPicture()

EndSub

PrivateSubForm_Load

'装入位图

Picture1.Picture=LoadPicture_

("C:

\DocumentsandSettings\AllUsers\Documents\MyPictures\1.jpg")'可自行改变路径

Picture2.Picture=LoadPicture_

("C:

\DocumentsandSettings\AllUsers\Documents\MyPictures\2.jpd")'可自行改变路径

EndSub

8.冒泡排序

从键盘上输入10个整数,用冒泡法排序(BubbleSort)法对这十个数从小到大排序:

在窗体上建立一个命令按钮,并把Caption属性设置为“ClickHeretoStart”

编写程序如下:

SubCommand1_Click()

Staticnumber(1To10)ASInteger'定义数组number为整形

Msg$="EnterNumberforSort:

"

MsgStile$="SortDemo"

Fori%=1To10

number(i%)=InputBox(Msg$,MsgTile$)

Nexti%

Fori%=10To2Step-1

Forj%=1Toi%-1

Ifnumber(j%)=number(j%+1)Then

t=number(j%+1)

number(j%+1)=number(j%)

number(j%)=t

EndIf

Nextj%

Nexti%

Fori%=1To10

Printnumber(i%)

Nexti%

EndSub

9.判断0~9数据类型--奇数或偶数

判断字母大小写及0~9数据类型--奇数或偶数:

SubForm_Click()

DimMsg,UserInput

Msg="Pleaseenteraletterornumberfrom0though9."

UserInput=InputBox(Msg)

IfLen(UserInput)<>0Then

SelectCaseAsc(UserInput)'返回ASCII码

Case65To90'大写字母

Msg="Youenteredtheuppercaseletter"

Msg=Msg&Chr(Asc(UserInput))&"!

"

Case97To122'小写字母

Msg="Youenteredthelowercaseletter"

Msg=Msg&Chr(Asc(UserInput))&"!

"

CaseElse

Msg="Youdidnotenteraletteroranumber."

EndSelect

Else

SelectCaseCDbl(UserInput)'转换为双精度数值

Case1,3,5,7,9

Msg=UserInput&"isanoddnumber"'奇数

Case0,2,4,6,8

Msg=UserInput&"isanoddnumber"'偶数

CaseElse'出界

Msg="Youenteredanumberouside"

Msg=Msg&"therequestedrange"

EndSelect

EndIf

MsgBoxMsg

EndSub

10.判断100~200的所有偶数可以分解为两个素数之和

判断100~200的所有偶数可以分解为两个素数之和。

Functionnf(nAsInteger)AsBoolean'判断n是否为素数

DimsAsBoolean

DimIAsInteger

s=False

ForI=2ToInt(Sqr(n))'如果能被2~Int(Sqr(n))中任何一个数整除,则不是素数,跳出For循环

IfnModI=0Then

ExitFor

EndIf

NextI

IfI>Int(Sqr(n))Then'如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件

s=True'当I是素数时s=true

EndIf

nf=s'当I是素数时,nf=true,否则nf=false

EndFunction

PrivateSubform_click()

DimtAsBoolean

DimqAsBoolean

DimIAsInteger

DimjAsInteger

DimaAsInteger

ForI=100To200Step2

Forj=2ToI/2'I一定可分解为一个大于它一半的数和小于它一半的数

t=nf(j)'调用Funtion(函数)nf,判断i是否是素数,把nf的值(true或flase)赋值给变量t

Ift=TrueThen'如果t是true就往下执行,否则就执行到Endif

(2)后面的nextj语句

q=nf(I-j)'调用Funtion(函数)nf,判断i-j是否是素数,把nf的值(true或flase)赋值给变量q

Ifq=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)

Nextj

NextI

EndSub

11.判断是否为素数

判断一个整数(>=3)是否为素数:

提示:

如果一个(>=3的)整数可以将n被2到√n(n的平方根)之间的所有整数除,如果都除不尽,则n为素数()质数,否则n为非素数(合数)。

编写程序如下:

SubForm_Click()

DimnAsInteger

n=InputBox("请输入一个正整数(>=3):

")

k=Int(Spr(n))'取不大于n的平方根的最大整数

i=2

Swit=0

Whilei<=kAndSwit=0

IfnModi=0Then

Swit=1

Else

i=i+1

EndIf

Wend

IfSwit=0Then

Printn;"是一个素数"

Else

Printn;"不是素数"

EndIf

EndSub

说明:

这里的Swit是一个标志变量。

Swit=0标志着n未被任何一个正整数整除过;如果被整除过,则Swit=1。

上述程序也可以写成:

用For…….Next语句:

SubForm_Click()

DimIasInteger,NAsInteger

N=val(InputBox(""))

ForI=2toint(Sqr(N))

IfNModI=0ThenExitFor

NextI

IfI>int(Sqr(N))Then

PrintN&"是素数"

Else

PrintN&"不是素数"

EndIf

EndSub

用While….Wend循环:

SubForm_Click()

DimIAsInteger,NAsInteger

N=Val(InputBox(""))

I=2

c=Int(Sqr(N))

DoWhileI<=c

IfNModI=0ThenExitDo

I=I+1'在For以外的

Loop

IfI>cThen

PrintN&"是素数"

Else

PrintN&"不是素数"

EndIf

EndSub

法2:

一个数n是素数的条件:

不能被2~n-1整除

用For…….Next语句

SubForm_Click()

DimIasInteger,NAsInteger

N=val(InputBox(""))

ForI=2toN-1

IfNModI=0ThenExitFor'如果能被2~N-1中任何一个数整除,则不是素数,跳出For循环

NextI

IfI>=NThen'如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件

PrintN&"是素数"

Else

PrintN&"不是素数"

EndIf

EndSub

12.切换信号灯

模拟交通信号灯的切换:

在窗体上画出3个图像框和两个命令按钮Command1(切换信号)和Command2(结束程序)。

三个图像框分别装有红、绿、蓝三的信号标志的图片。

编写如下事件过程:

PrivateSubForm_Load()

Image2.Visible=Flase

Image3.Visible=Flase

EndSub

PrivateSubCommand1_Click()

IfImage1.Visible=TrueThen

Image1.Visible=False

Image2.Visible=Ture

ElseIfImage2.Visible=TureThen

Image2.Visible=False

Image3.Visible=True

Else

Image3.Visible=False

Image2.Visible=True

EndIf

EndSub

PrivateSubCommdan2_Click()

End

EndSub

13.求N!

求N的阶乘N!

(N为自然数):

程序如下:

SubForm_Click()

DimNAsInteger

N=InputBox("enterN:

")

k=1

Fori=1ToN

k=k*i

Nexti

PrintN;"N!

=";k

EndSub

该程序也可以写成:

SubForm_Click()

DimNAsInteger

N=InputBox("enterN:

")

k=1:

m=1

Fori=1ToN

k=k*i:

m=m+1

Nexti

PrintN;"N!

=";k

EndSub

程序也可以这样写:

PrivateSubcommand1_Click()

DimIAsInteger,fAsDouble,nAsInteger

n=InputBox("输入一个自然数:

","输入提示","")

f=1

ForI=1TonStep1

f=f*INextIText1.Text=f

EndSub

PrivateSubCommand2_Click()

End

EndSub

14.人口达到或超过70亿所需年数

假设目前世界人口约为60亿,如果以每年1.4%的速度增长,多少年后世界人口达到60亿或超过60亿?

程序如下:

SubForm_Click()

DimpASDouble

DimrASSingle

DimnASInteger

P=6000000000#

r=0.014

n=0

DoUntilp>=7000000000#

p=p*(1+r)

n=n+1

Loop

Printn;"年后世界人口达到";p

EndSub

上述所用是“DoUntil……Loop”循环结构。

该程序若改用“Do……LoopUntil”循环,则程序为:

SubForm_Click()

DimpASDouble

DimrASSingle

DimnASInteger

P=6000000000#

r=0.014

n=0

Do

p=p*(1+r)

n=n+1

LoopUntilp>=7000000000#

Printn;"年后世界人口达到";p

EndSub

15.输出100~300之间的所有素数

输出100~300间的所有素数:

程序如下:

SubForm_Click()

Forn=101To300step2

k=Int(Spr(n))'取不大于n的平方根的最大整数

i=2

Swit=0

Whilei<=kAndSwit=0

IfnModi=0Then

Swit=1

Else

i=i+1

EndIf

Wend

IfSwit=0Then

d=d+1

IfdMod5=0Then'输出5个数字后换行

Printn;"";

Print

Else

Printn;""

EndIf

EndIf

Nextn

EndSub

16.水仙花数

VisualBasic的"水仙花数"实现代码:

说明:

水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。

(例如:

1^3+5^3+3^3=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,cAsInteger'a(个)b(十)c(百)

Fora=0To9

Forb=0To9

Forc=1To9

Ifa^3+b^3+c^3=a+10*b+100*cThen

MsgBox100*c+10*b+a'或写成Print100*c+10*b+a

EndIf

Nextc

Nextb

Nexta

EndSub

17.添加成员列表(枚举类型)的方法

添加成员列表(枚举类型)可以用Enum语句:

如:

PublicEnumWorkdays

Saturday

Sunday

Monday

Tuesday

Wednesday

Thursday

Friday

EndEnum

在默认情况下,枚举中的第一个常数被初始化为0,其后的常数则初始化为比起前面的常数大1的数值。

上述的枚举中常数Sunday的值为0。

PublicEnumWorkdays

Saturday

Sunday=0

Monday

Tuesday

Wednesday

Thursday

Friday

Invalid=-1

EndEnum

该程序的第一个元素Sunday被赋值为0,Saturday为第一个元素,也被赋值为0,Tuesday的值为2。

18.显示不同形状

在窗体上显示6中不同是形状:

PrivateSubForm_Click()

FontSize=12

CurrentX=350

Print"0";

Fori=1To5

Shape1(i).Left=Shape1(i-1).Left+1050

Shape1(i).Shape=1

Shape1(i).Visible=True

CurrentX=CrrentX+750

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1