VB小程序代碼實(shí)例_第1頁
VB小程序代碼實(shí)例_第2頁
VB小程序代碼實(shí)例_第3頁
VB小程序代碼實(shí)例_第4頁
VB小程序代碼實(shí)例_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1. 打印負(fù)數(shù)并分別計(jì)算正負(fù)數(shù)只和:有如下 10 個(gè)數(shù):-2, 73, 82, -76, -1 , 24 , 321, -25, 89, -20(也可以定位其他數(shù)值)打印出其中的每個(gè)負(fù)數(shù),分別計(jì)算并輸出正數(shù)和負(fù)數(shù)的和。程序如下:Sub Form_Click()Dim number AS IntegerNegativeSum=0:PostiveSum=0For i=1 To 10number=InputBox("Enter data: ")If number<0 ThenPrint number;NegativeSum=NegativeSum+numberElsePos

2、tiveSum=PostiveSum+numberEnd IfNext iprintprint "NegativeSum="NegativeSumPrint "PostiveSum="PostiveSumEnd Sub2. 打印九九表:在窗體上打印九九表:程序如下:Print Sub Form_Click()FontSize=12Print Tab(30);"9*9 Table"Print:Print'輸出兩個(gè)空行Print "*"For i=1 To 9Print Tab(i*6);i;'打印橫行

3、序號Next iFor j=1 To 9Print j;""'打印豎行序號For k=1 To jtemp=j*kPrint Tab(k*6);temp;" "'打印乘積Next kPrint'輸出一個(gè)空行Next jEnd Sub3. 打印人員名冊打印人員名冊 :Private Sub Form_Click()Print:PrintFontName=" 魏碑 "FontSize=16Print "姓名 "Tab(8);" 年齡 "Tab(16);" 職務(wù) &q

4、uot;Tab(24);" 單位 "Tab(32);" 籍貫 "PrintPrint "張得功"Tab(8);"25"Tab(16);" 科長"Tab(24);" 勞動(dòng)科"Tab(32);" 北京"Print "李德生"Tab(8);"32"Tab(16);" 處長"Tab(24);" 科研處"Tab(32);" 上海"End Sub4. 單選按鈕設(shè)置字體類

5、型和大小單選按鈕設(shè)置字體類型和大小 :在窗體上畫出兩個(gè)框架,每個(gè)框架內(nèi)分別畫兩個(gè)單選按鈕,然后畫兩個(gè)命令按鈕和一個(gè)文本框。編寫時(shí)間過程如下:Ptivate Sub Form_Load()Form1.Caption=" 框架用法示例 "Command1.Caption=" 確定 "Command2.Caption=" 結(jié)束 "Frame1.Caption=" 字體類型"Frame2.Caption=" 字體大小"Option1.Caption=" 魏碑 "Option2.Cap

6、tion=" 幼圓 "Option3.Caption="16"Option4.Caption="24"Text1.Text="Visual Basic 程序設(shè)計(jì) "End SubPrivate Sub Command1.Click_()If Optoion1 ThenText1.FontName=" 魏碑 "ElseText1.FontName=" 幼圓 "End IFIf Option3 ThenText1.FontSize=16ElseText1.FontSize=24E

7、nd IfEnd SubPrivate Sub Command2.Click_()EndEnd Sub5. 計(jì)算存款利息計(jì)算存款利息 :本金 p 為 10000,年利率為 0.125,每年計(jì)息一次,求10年的本利和是多少。Sub Form_Click()Dim p As Currencyp=10000:r=0.125t=1AgainIf t>10 Then GoTo 100i=p*rp=p+it=t+1GoTo Again100Print pEnd Sub說明:這里的“ Again : ”是標(biāo)號, “ 100”是行號。6. 交換兩個(gè)列表框的項(xiàng)目交換兩個(gè)列表框的項(xiàng)目。 其中一個(gè)列表框的項(xiàng)目

8、按字母升序排列, 另一個(gè)列表框的項(xiàng)目按項(xiàng)目加入的先后順序排列。 當(dāng)雙擊某個(gè)項(xiàng)目時(shí), 該項(xiàng)目從列表框中消失, 并出現(xiàn)在在另一個(gè)列表框中:Private Sub Form_Load()List1.FontSize=14List2.FontSize=14List1.AddItem "IBM"List1.AddItem "Compad"List1.AddItem "HP"List1.AddItem "FUJI"List1.AddItem "Digital"List1.AddItem " 長城

9、"List1.AddItem " 聯(lián)想 "List1.AddItem "Canon"List1.AddItem " 四通 "List1.AddItem "Acer"List1.AddItem "Nec"List1.AddItem "NCR"End SubPrivate Sub List1_DbClick()List2.AddItem List1.TextList1.RemoveItem List1.ListIndexEnd SubPrivate Sub List2_

10、DbClick()List1.AddItem List2.TextList2.RemoveItem List2.ListIndexEnd Sub7. 交換圖片交換兩個(gè)圖片框中的圖形:在窗體上建立三個(gè)圖片框Picture1 、 Picture2 、 Picture3 ,其中兩個(gè)在上,一個(gè)在下。Private Sub Form_Click()'交換位圖Picture3.Picture=Picture1.PicturePicture1.Picture=Picture2.PicturePicture2.Picture=Picture3.Picture'把第三個(gè)圖片框設(shè)置為空Pictur

11、e3.Picture=LoadPicture()End SubPrivate Sub Form_Load'裝入位圖Picture1.Picture=LoadPicture _("C:Documents and SettingsAll UsersDocumentsMy Pictures1.jpg") ' 可自行改變路徑Picture2.Picture=LoadPicture _("C:Documents and SettingsAll UsersDocumentsMy Pictures2.jpd") ' 可自行改變路徑End Sub

12、8. 冒泡排序從鍵盤上輸入 10 個(gè)整數(shù),用冒泡法排序( Bubble Sort )法對這十個(gè)數(shù)從小到大排序:在窗體上建立一個(gè)命令按鈕,并把Caption 屬性設(shè)置為“ Click Here to Start ”編寫程序如下:Sub Command1_Click()Static number(1 To 10) AS Integer ' 定義數(shù)組 number 為整形Msg$="Enter Number for Sort:"MsgStile$="Sort Demo"For i%=1 To 10number(i%)=InputBox(Msg$,Msg

13、Tile$)Next i%For i%=10 To 2 Step -1For j%=1 To i%-1If number(j%)=number(j%+1) Then t=number(j%+1)number(j%+1)=number(j%) number(j%)=tEnd IfNext j%Next i%For i%=1 To 10Print number(i%)Next i%End Sub9. 判斷 09 數(shù)據(jù)類型-奇數(shù)或偶數(shù)判斷字母大小寫及09 數(shù)據(jù)類型-奇數(shù)或偶數(shù):Sub Form_Click()Dim Msg,UserInputMsg="Please enter a lett

14、er or number from 0 though 9." UserInput=InputBox(Msg)If Len(UserInput)<>0 ThenSelect Case Asc(UserInput) '返回 ASCII 碼Case 65 To 90'大寫字母Msg="You entered the uppercase letter" Msg=Msg&Chr(Asc(UserInput)&"!"Case 97 To 122'小寫字母Msg="You entered the

15、lowercase letter" Msg=Msg&Chr(Asc(UserInput)&"!"Case ElseMsg="You did not enter a letter or a number." End SelectElseSelect Case CDbl(UserInput)'轉(zhuǎn)換為雙精度數(shù)值Case 1,3,5,7,9Msg=UserInput&"is an odd number"'奇數(shù)Case 0,2,4,6,8Msg=UserInput&"is an

16、 odd number"'偶數(shù)Case Else '出界Msg="You entered a number ouside"Msg=Msg&"the requested range"End SelectEnd IfMsgBox MsgEnd Sub10. 判斷 100200 的所有偶數(shù)可以分解為兩個(gè)素?cái)?shù)之和判斷 100200 的所有偶數(shù)可以分解為兩個(gè)素?cái)?shù)之和。Function nf(n As Integer) As Boolean ' 判斷 n 是否為素?cái)?shù)Dim s As BooleanDim I As Integ

17、ers = FalseFor I = 2 To Int(Sqr(n) ' 如果能被 2 Int(Sqr(n) 中任何一個(gè)數(shù)整除,則不是素?cái)?shù),跳出 For 循環(huán)If n Mod I = 0 ThenExit ForEnd IfNext IIf I > Int(Sqr(n) Then '如果正常跳出For循環(huán),則I跳出循環(huán)For后的值應(yīng)該是 N,所以滿足 這個(gè)條件s = True '當(dāng) I 是素?cái)?shù)時(shí) s=trueEnd Ifnf = s ' 當(dāng) I 是素?cái)?shù)時(shí) , nf=true, 否則 nf=falseEnd FunctionPrivate Sub form_

18、click()Dim t As BooleanDim q As BooleanDim I As IntegerDim j As IntegerDim a As IntegerFor I = 100 To 200 Step 2For j = 2 To I / 2 'I 一定可分解為一個(gè)大于它一半的數(shù)和小于它一半的數(shù)t = nf(j)'調(diào)用Funtion(函數(shù))nf,判斷i是否是素?cái)?shù),把nf的值(true或flase)賦值給變量tIf t = True Then ' 如果 t 是 true 就往下執(zhí)行,否則就執(zhí)行到End if(2) 后面的 next j 語句q = nf(

19、I - j)'調(diào)用Funtion(函數(shù))nf,判斷i-j是否是素?cái)?shù),把nf的值(true或flase)賦值給變量 qIf q = True Then '如果q是true(說明i-j是素?cái)?shù))就往下執(zhí)行,否則就跳到 End if(1),繼續(xù)執(zhí)行 j 循環(huán)Printj, I - j '當(dāng)q是true和t是True同時(shí)滿足時(shí),說明I的確能分解為兩個(gè)素?cái)?shù),就打出j和I-j 的值Exit For ' 跳出 j 循環(huán) ,判斷下一個(gè)偶數(shù)End If '(1)End If '(2)Next jNext IEnd Sub11. 判斷是否為素?cái)?shù)判斷一個(gè)整數(shù)( >

20、=3 )是否為素?cái)?shù):提示:如果一個(gè)(>=3的)整數(shù)可以將 n被2到,n (n的平方根)之間的所有整數(shù)除, 如果都除不盡,則 n 為素?cái)?shù)()質(zhì)數(shù),否則 n 為非素?cái)?shù)(合數(shù)) 。編寫程序如下:Sub Form_Click()Dim n As Integern=InputBox(" 請輸入一個(gè)正整數(shù)( >=3 ) :")k=Int(Spr(n)'取不大于n 的平方根的最大整數(shù)i=2Swit=0While i<=k And Swit=0If n Mod i=0 ThenSwit=1Elsei=i+1End IfWendIf Swit=0 ThenPrint

21、 n;" 是一個(gè)素?cái)?shù) "ElsePrint n;" 不是素?cái)?shù) "End IfEnd Sub說明:這里的 Swit 是一個(gè)標(biāo)志變量。Swit=0 標(biāo)志著 n 未被任何一個(gè)正整數(shù)整除過;如果被整除過,則Swit=1 。上述程序也可以寫成:用 For.Next 語句:Sub Form_Click()Dim I as Integer,N As IntegerN=val(InputBox("")For I=2 to int(Sqr(N)If N Mod I=0 Then Exit ForNext IIf I >int(Sqr(N) The

22、nPrint N & " 是素?cái)?shù) "ElsePrint N & " 不是素?cái)?shù) "End IfEnd Sub用 While .Wend 循環(huán):Sub Form_Click()Dim I As Integer, N As IntegerN = Val(InputBox("")I = 2c = Int(Sqr(N)Do While I <= cIf N Mod I = 0 Then Exit DoI = I + 1 '在 For 以外的LoopIf I > c ThenPrint N & &quo

23、t; 是素?cái)?shù) "ElsePrint N & " 不是素?cái)?shù) "End IfEnd Sub法 2:一個(gè)數(shù) n 是素?cái)?shù)的條件:不能被 2 n-1 整除用For .Next語句Sub Form_Click()Dim I as Integer,N As IntegerN=val(InputBox("")For I=2 to N-1If N Mod I=0 Then Exit For ' 如果能被 2 N-1 中任何一個(gè)數(shù)整除,則不是素?cái)?shù),跳出For循環(huán)Next IIf I >= N Then'如果正常跳出For循環(huán),則I跳出

24、循環(huán)For后的值應(yīng)該是N,所以滿足這個(gè) 條件Print N & " 是素?cái)?shù) "ElsePrint N & " 不是素?cái)?shù) "End IfEnd Sub12. 切 換信號燈模擬交通信號燈的切換:在窗體上畫出 3個(gè)圖像框和兩個(gè)命令按鈕Command1(切換信號)和Command2(結(jié)束程序)。三個(gè)圖像框分別裝有紅、綠、藍(lán)三的信號標(biāo)志的圖片。編寫如下事件過程:Private Sub Form_Load()Image2.Visible=FlaseImage3.Visible=FlaseEnd SubPrivate Sub Command1_Clic

25、k()If Image1.Visible=True ThenImage1.Visible=FalseImage2.Visible=TureElseIf Image2.Visible=Ture ThenImage2.Visible=FalseImage3.Visible=TrueElseImage3.Visible=FalseImage2.Visible=TrueEnd IfEnd SubPrivate Sub Commdan2_Click()EndEnd Sub13. 求 N!求 N 的階乘 N! (N 為自然數(shù)) :程序如下:Sub Form_Click()Dim N As IntegerN

26、=InputBox("enter N:")k=1For i=1 To Nk=k*iNext iPrint N;"N!="kEnd Sub該程序也可以寫成:Sub Form_Click()Dim N As IntegerN=InputBox("enter N:")k=1:m=1For i=1 To Nk=k*i:m=m+1Next iPrint N;"N!="kEnd Sub程序也可以這樣寫:Private Sub command1_Click()Dim I As Integer, f As Double, n As

27、 Integern = InputBox(" 輸入一個(gè)自然數(shù): ", "輸入提示 ", "") f = 1For I = 1 To n Step 1f = f * I Next I Text1.Text = fEnd SubPrivate Sub Command2_Click()EndEnd Sub14. 人 口達(dá)到或超過70 億所需年數(shù)假設(shè)目前世界人口約為 60 億,如果以每年1.4% 的速度增長,多少年后世界人口達(dá)到 60 億或超過 60 億?程序如下:Sub Form_Click()Dim p AS DoubleDim r AS

28、 SingleDim n AS IntegerP=6000000000#r=0.014n=0Do Until p>=7000000000#p=p*(1+r)n=n+1LoopPrint n;"年后世界人口達(dá)到"pEnd Sub上述所用是"Do Until Loop”循環(huán)結(jié)構(gòu)。該程序若改用“DoLoop Until循環(huán),則程序?yàn)椋篠ub Form_Click()Dim p AS DoubleDim r AS SingleDim n AS IntegerP=6000000000#r=0.014n=0Dop=p*(1+r)n=n+1Loop Until p>

29、=7000000000#Print n;"年后世界人口達(dá)到"pEnd Sub15. 輸 出 100300 之間的所有素?cái)?shù)輸出 100300 間的所有素?cái)?shù):程序如下:Sub Form_Click()For n=101 To 300 step 2k=Int(Spr(n) '取不大于 n 的平方根的最大整數(shù)i=2Swit=0While i<=k And Swit=0If n Mod i=0 ThenSwit=1Elsei=i+1End IfWendIf Swit=0 Thend=d+1If d Mod 5=0 Then ' 輸出 5 個(gè)數(shù)字后換行Print

30、n;""PrintElsePrint n;""End IfEnd IfNext nEnd Sub16. 水 仙花數(shù)Visual Basic 的"水仙花數(shù)"實(shí)現(xiàn)代碼:說明:水仙花數(shù)是指一個(gè)n位數(shù)(n>3 ),它的每個(gè)位上的數(shù)字的n次哥之和等于它本身。(例如:1人3 + 5A3 + 3A3 = 153)三位的水仙花數(shù)共有4 個(gè): 153, 370, 371, 407;四位的水仙花數(shù)共有3 個(gè):1634 , 8208 , 9474 ;五位的水仙花數(shù)共有3 個(gè):54748, 92727 , 93084 ;六位的水仙花數(shù)只有1 個(gè):548

31、834 ;七位的水仙花數(shù)共有4 個(gè):1741725, 4210818, 9800817,9926315;八位的水仙花數(shù)共有3 個(gè):24678050 , 24678051 , 88593477編寫如下事件過程:Private Sub Form_Click()Dim a, b, c As Integer 'a(個(gè))b(十)c(百)For a = 0 To 9For b = 0 To 9For c = 1 To 9If a A 3 + b A 3 + c A 3 = a + 10 * b + 100 * c ThenMsgBox 100 * c + 10 * b + a '或?qū)懗?P

32、rint 100 * c + 10 * b + aEnd IfNext cNext bNext aEnd Sub17. 添加成員列表(枚舉類型)的方法添加成員列表(枚舉類型)可以用 Enum 語句:如:Public Enum WorkdaysSaturdaySundayMondayTuesdayWednesdayThursdayFridayEnd Enum在默認(rèn)情況下,枚舉中的第一個(gè)常數(shù)被初始化為0,其后的常數(shù)則初始化為比起前面的常數(shù)大 1 的數(shù)值。上述的枚舉中常數(shù)Sunday 的值為0。Public Enum WorkdaysSaturdaySunday=0MondayTuesdayWedn

33、esdayThursdayFridayInvalid=-1End Enum該程序的第一個(gè)元素Sunday 被賦值為 0, Saturday 為第一個(gè)元素,也被賦值為 0, Tuesday的值為 2 。18. 顯示不同形狀在窗體上顯示6 中不同是形狀:Private Sub Form_Click()FontSize=12CurrentX=350Print "0"For i=1 To 5Shape1(i).Left=Shape1(i-1).Left+1050Shape1(i).Shape=1Shape1(i).Visible=TrueCurrentX=CrrentX+750Pr

34、int i;Next iEnd Sub19. 寫入與清屏在窗體上畫一個(gè)文本框, Caption 屬性為空;再畫三個(gè)命令按鈕, Caption 屬性分別為“單擊此按鈕輸入” 、 “清屏”和“結(jié)束” 。雙擊 Command1 進(jìn)入代碼窗口,輸入以下程序代碼:Private Sub Command1_Click()Text1.FontSize=20Text1.Text=" 歡迎進(jìn)入 VB 世界 "End SubPrivate Sub Command2_Click()Text1.Text=""End SubPrivate Sub Command13_Click(

35、)EndEnd Sub20. 選 擇機(jī)型并顯示從窗體上選擇機(jī)型,并在立即窗口中顯示結(jié)果:在窗體上建立四個(gè)標(biāo)簽, Caption 屬性分別為: “機(jī)型” 、 “ CPU 主頻” 、 “內(nèi)存”和“硬盤” ;建立四個(gè)組合框, Style 屬性分別為: 1、 2、 2 和 0;建立兩個(gè)命令按鈕,Caption 屬性分別為: “確定”和“取消” , Default 屬性都是 True。編寫如下事件過程:Sub Form_Load()Combol1.AddItem "IBM"Combol1.AddItem "Compad"Combol1.AddItem "

36、 方正 "Combol1.AddItem " 聯(lián)想 "Combol1.AddItem "HP"Combol1.AddItem "Acer"Combol1.AddItem "DEC"Combol2.AddItem "奔騰3 900"Combol2.AddItem "奔騰3 933"Combol2.AddItem "奔騰3 1.0G"Combol2.AddItem "奔騰4 1.2G"Combol2.AddItem "奔

37、騰4 1.5G"、Combol2.AddItem "奔騰4 1.7G"Combol2.AddItem "奔騰4 2.0G"Combol3.AddItem "64MB"Combol3.AddItem "128MB"Combol3.AddItem "256MB"Combol4.AddItem "10GB"Combol4.AddItem "20GB"Combol4.AddItem "32GB"Combol4.AddItem &quo

38、t;32GB"Combol4.AddItem "40GB"Combol4.AddItem "60GB"End SubSub Command1_Click()Debug.Print " 你所選的機(jī)型為: "Debug.Print " 機(jī)型: "Combo1Debug.Print "CPU: "Combo2Debug.Print " 內(nèi)存 "Combo3Debug.Print " 硬盤 "Combo4End SubSub Command2_Click

39、()EndEnd Sub21. 用 單選按鈕改變字體和字號用單選按鈕改變文本框里的字體和字號:在 窗 體 上 建 立 一 個(gè) 文 本 框 和 三 個(gè) 單 選 按 鈕 。 單 選 按 鈕 的 Caption 屬 性 分 別 為“ FontName:Roman ” 、 “ FontName:Modern ”和“FontName:Courier ” ;Name 屬性分別為“Roman”、 “Modern ”和“ Courier ”;文本框的 Name 屬性為“ Display” 。編寫如下事件過程:Private Sub Courier_Click()Display.FontSize=18Displ

40、ay.FontName="Couier"End SubPrivate Sub Modern_Click()Display.FontSize=20Display.FontName="Modern"End SubPrivate Sub Form_Roman()Display.FontSize=24Display.FontName="Times New Roman"End Sub22. 用 復(fù)選框給文字加下劃線和刪除線用復(fù)選框控制文本輸入是否“加下劃線”和“斜體顯示” :建立三個(gè)控件:一個(gè)文本框和兩個(gè)復(fù)選框,復(fù)選框的 Caption 屬性分

41、別為“加下劃線”和“斜體顯示” 。編寫如下事件過程:'雙擊窗體Private Sub Form_Load()Display.FontSize=20End Sub'雙擊文本框Private Sub Display_Change() '把文本框的 Name 屬性改為 Display 且字號為 20If UnderOn.Vale=1 ThenDisplay.FontUnderline=TrueElseIF ItalicOn.value=True ThenDisplay.FontItalic=TrueEnd IfEnd Sub'雙擊“斜體顯示”復(fù)選框Private Sub ItalicOn_Click() ' 把復(fù)選框的 Name 屬性改為 ItalicOn If ItalicOn.Value=1 ThenDisplay.FontItalic=TrueElseDisplay.FontItalic=FalseEnd IfEnd Sub'雙

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論