VisualBasic程序設(shè)計(jì)教程(第4版)實(shí)驗(yàn)答案_第1頁(yè)
VisualBasic程序設(shè)計(jì)教程(第4版)實(shí)驗(yàn)答案_第2頁(yè)
VisualBasic程序設(shè)計(jì)教程(第4版)實(shí)驗(yàn)答案_第3頁(yè)
VisualBasic程序設(shè)計(jì)教程(第4版)實(shí)驗(yàn)答案_第4頁(yè)
VisualBasic程序設(shè)計(jì)教程(第4版)實(shí)驗(yàn)答案_第5頁(yè)
已閱讀5頁(yè),還剩124頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、聲明:1. 實(shí)驗(yàn)所屬課本原件為visual basic程序設(shè)計(jì)教程(第4版) (主編 龔沛曾 編者 楊志強(qiáng) 陸慰民 謝步瀛) ;2. 實(shí)驗(yàn)答案代碼采用紅色字體突出 ;3. 僅提供課本前七個(gè)實(shí)驗(yàn)的代碼,之后的實(shí)驗(yàn)上課考試均不涉及故不作 ;4. 教學(xué)平臺(tái)上機(jī)實(shí)驗(yàn)、課本篇后實(shí)驗(yàn),兩者題目操作略有差異,作業(yè)以前者要求為準(zhǔn),故以下答案代碼為前者代碼,如對(duì)后者代碼有所需求請(qǐng)私信 ;5. 本文為作者原創(chuàng),復(fù)制轉(zhuǎn)載請(qǐng)注明出處 ;6. 如果對(duì)代碼有所疑問(wèn),或者略感繁瑣想直接要已完成實(shí)驗(yàn),請(qǐng)私信 ;7. 瀏覽、復(fù)制、下載后請(qǐng)給作者一個(gè)合理的評(píng)價(jià),感激不盡 。實(shí)驗(yàn)1-1編制簡(jiǎn)單的歡迎界面程序。 要求:在屏幕上顯示“

2、歡迎學(xué)習(xí)visual basic”;在文本框text1中輸入姓名;單擊命令按鈕“你輸入的姓名是”,在label3標(biāo)簽顯示在文本框中輸入的姓名。 程序運(yùn)行效果如圖2.1.1所示。程序以“學(xué)號(hào)-1-1.frm”和“學(xué)號(hào)-1-1.vbp”文件名保存。以后每個(gè)實(shí)驗(yàn)項(xiàng)目的命名規(guī)則都是如此,即“學(xué)號(hào)-實(shí)驗(yàn)號(hào)-實(shí)驗(yàn)題目”。(如某同學(xué)的學(xué)號(hào)為a10414001,所完成的是實(shí)驗(yàn)2的第3題,那么程序文件名為“a10414001-2-3.frm”和“a10414001-2-3.vbp”) 圖2.1.1 實(shí)驗(yàn)1.1運(yùn)行界面提示: (1) 實(shí)驗(yàn)所用到的控件及屬性設(shè)置見(jiàn)表2.1.1。表2.1.1 屬 性 設(shè) 置控件名屬

3、性label1caption=歡迎學(xué)習(xí)visual basic;font屬性:字號(hào)為二號(hào),字體為隸書(shū),aligment=2(居中)label2caption=請(qǐng)輸入你的姓名;font屬性:字體為楷體,有下劃線label3caption=,borderstyle=1text1text=command1caption=你輸入的姓名是(2) “歡迎學(xué)習(xí)visual basic”要在兩行顯示,只要將label1控件的寬度縮小一些。private sub command1_click()label3.caption = text1.textend sub實(shí)驗(yàn)1-2模仿教學(xué)篇例1.1,將事件過(guò)程中的自上而

4、下移動(dòng)改為自右向左移動(dòng),同時(shí)考慮文字超出窗體邊界的情況。各個(gè)控件及屬性窗口的設(shè)置見(jiàn)表2.1.2,背景圖形文件可以選擇自己喜歡的,按鈕上的圖標(biāo)可通過(guò)windows搜索功能查找。以“學(xué)號(hào)-1-2”為項(xiàng)目名保存。表2.1.2 屬 性 設(shè) 置控件名屬 性form1caption=實(shí)驗(yàn)1.2;picture:選擇自己喜歡的圖片label1caption=我開(kāi)始學(xué)習(xí)程序設(shè)計(jì);fontsize=36;backstyle=0command1caption=;style=1;picture=clock02.ico;tooltiptext自動(dòng)command2caption=;style=1;picture=key

5、04.ico;tooltiptext手動(dòng)timer1interval=0注:因?yàn)橛∷㈠e(cuò)誤,例題1.1中兩個(gè)命令按鈕的圖形與事件過(guò)程代碼不一致,需要調(diào)整。提示: 自定義事件過(guò)程mymove代碼應(yīng)調(diào)整為,可實(shí)現(xiàn)文字移動(dòng)方向的改變sub mymove()label1.move label1.left - 50, label1.topif label1.left 0 then label1.left = form1.widthend subsub mymove()label1.move label1.left - 50, label1.topif label1.left 要求:(1) command1

6、:使得text1的字體和字號(hào)根據(jù)命令按鈕顯示的要求改變(2) command2:要求將text1選中的內(nèi)容及其格式復(fù)制到text2。選中的內(nèi)容通過(guò)text1的seltext屬性獲得提示:為使text2文本框保持text1中的字符格式,通過(guò)text2.fontsize=text1.fontsize和text2.fontname=text1.fontname實(shí)現(xiàn)private sub command1_click()text1.fontname = 隸書(shū)text1.fontsize = 25end subprivate sub command2_click()text2 = text1.selte

7、xttext2.fontname = text1.fontnametext2.fontsize = text1.fontsizeend sub實(shí)驗(yàn)1-6圖片縮小、還原的設(shè)置。窗體上放置一個(gè)image圖像控件和兩個(gè)命令按鈕。image圖像控件裝入自己喜歡的圖片,設(shè)置stretch屬性為true,使得圖片隨著圖像控件的大小而變,如圖2.1.4所示。以“學(xué)號(hào)-1-6”為項(xiàng)目名保存。圖2.1.4 實(shí)驗(yàn)1.6運(yùn)行界面要求:(1)單擊“縮小一半”按鈕,圖片縱、橫均縮小一半。(2)單擊“還原”按鈕,圖片與初始裝入時(shí)同大。提示:為了實(shí)現(xiàn)還原效果,要做以下3件事。(1)必須在事件過(guò)程外,即程序代碼最上方聲明窗體

8、級(jí)變量:dim h%,w% 用戶輸入的變量聲明語(yǔ)句(2)在form1_load事件中保存圖像控件的初始值:w=image1.widthh=image1.height(3)在command2_click事件中還原為初始值:image1.width=wimage1.height=h縮小一半command1_click事件請(qǐng)讀者自行完成。思考:若要設(shè)置圖片放大效果,如何修改代碼?dim h%, w%private sub command1_click()image1.width = image1.width * 0.5image1.height = image1.height * 0.5end su

9、bprivate sub command2_click()image1.width = wimage1.height = hend subprivate sub form_load()w = image1.widthh = image1.heightend sub實(shí)驗(yàn)2-1隨機(jī)生成3個(gè)正整數(shù),其中一個(gè)1位數(shù),1個(gè)2位數(shù),1個(gè)3位數(shù),計(jì)算它們的平均值,保留兩位小數(shù),運(yùn)行界面如圖2.2.1所示。圖2.2.1 實(shí)驗(yàn)2.1運(yùn)行界面提示:(1)隨機(jī)數(shù)生成某范圍內(nèi)的正整數(shù)公式為int(rnd*范圍+基數(shù))其中范圍=數(shù)的上限-下限+1,基數(shù)=數(shù)的下限。例如,要生成2位數(shù),語(yǔ)句為int(rnd*(99-10+

10、1)+10)=int(rnd*90+10)(2)保留兩位小數(shù),利用format函數(shù),形式為format(要顯示的數(shù)值, 0.00 )。private sub command1_click()text1.text = int(rnd * 9 + 1)text2.text = int(rnd * 90 + 10)text3.text = int(rnd * 900 + 100)end subprivate sub command2_click()text4.text = format(val(text1.text) + val(text2.text) + val(text3.text) / 3,

11、0.00)end subprivate sub command3_click()text1.text = text2.text = text3.text = text4.text = end sub實(shí)驗(yàn)2-2我國(guó)有13億人口,假定按人口年增長(zhǎng)0.8%計(jì)算,多少年后我國(guó)人口超過(guò)26億。提示:(1)已知年增長(zhǎng)率r=0.8%,求人數(shù)超過(guò)26億的年數(shù)n公式為:其中:log(x)為對(duì)數(shù)函數(shù),log(2)緣由log(13/26),0.8%需寫(xiě)成0.008(2)該題目的界面設(shè)計(jì) 由讀者自行設(shè)計(jì)。private sub command1_click()n = int(log(2) / log(1 + 0.00

12、8) + 1)text1 = n & 年后人口超過(guò)26億end sub實(shí)驗(yàn)2-3輸入一個(gè)合法的3位正整數(shù),測(cè)試其數(shù)值合法性后,逆序輸出并顯示。例如,輸入“734”,輸出是“437”,如圖2.2.2所示。提示:(1)利用text1_lostfocus事件,輸入數(shù)據(jù)合法性檢查調(diào)用isnumeric函數(shù),參閱教學(xué)篇例2.5;若有錯(cuò)利用msgbox顯示出錯(cuò)信息,如圖2.2.3所示;清除文本框內(nèi)輸入的非法數(shù)據(jù),通過(guò)setfocus定位于文本框處,重新輸入。(2)利用“mod”和“”運(yùn)算符將一個(gè)3位數(shù)分離出3個(gè)1位數(shù),然后利用乘法和加法運(yùn)算將3個(gè)1位數(shù)連接成一個(gè)逆序的3位數(shù)。圖2.2.2 實(shí)驗(yàn)2.3運(yùn)行界

13、面 圖2.2.3 出錯(cuò)信息private sub command1_click()dim x%, x1%, x2%, x3%x = val(text1)x1 = x mod 10x2 = (x mod 100) 10x3 = x 100label2 = x1 * 100 + x2 * 10 + x3end subprivate sub text1_keypress(keyascii as integer)if keyascii = 13 thenif not isnumeric(text1.text) thentext1.text = end ifend ifend subprivate su

14、b text1_lostfocus()if not isnumeric(text1.text) thenmsgbox 輸入非數(shù)值數(shù)據(jù),請(qǐng)重新輸入, , 數(shù)據(jù)檢驗(yàn)text1.text = text1.setfocusend ifend sub實(shí)驗(yàn)2-4輸入一個(gè)字符串,分別調(diào)用ucase、len、mid、left、right函數(shù),顯示如圖2.2.4所示的效果。圖2.2.4 實(shí)驗(yàn)2.4運(yùn)行界面提示:事件過(guò)程可以在form_click中編碼,輸出控件可以使用標(biāo)簽控件。private sub form_click()label1 = ucase(text1.text)label2 = len(text1

15、.text)label3 = left(text1, 11)label4 = mid(text1, 12, 6)label5 = right(text1, 5)end sub實(shí)驗(yàn)2-5效仿實(shí)驗(yàn)2.4,驗(yàn)證轉(zhuǎn)換函數(shù)的使用,text1文本框輸入字符串,text2文本框顯示調(diào)用所選函數(shù)的結(jié)果,4個(gè)命令按鈕為轉(zhuǎn)換函數(shù),label2顯示對(duì)應(yīng)的函數(shù)名,運(yùn)行效果如圖2.2.5所示。圖2.2.5 實(shí)驗(yàn)2.5運(yùn)行界面private sub command1_click()label2 = val函數(shù)的結(jié)果text2 = val(text1.text)end subprivate sub command2_cli

16、ck()label2 = str函數(shù)的結(jié)果text2 = str(text1.text)end subprivate sub command3_click()label2 = chr函數(shù)的結(jié)果text2 = chr(text1.text)end subprivate sub command4_click()label2 = asc函數(shù)的結(jié)果text2 = asc(text1.text)end sub實(shí)驗(yàn)2-6print方法練習(xí),顯示字符圖形。參考教學(xué)篇例4.4輸出簡(jiǎn)單圖形,如圖2.2.6所示。要求窗體不可改變大小,當(dāng)單擊“清屏”按鈕后,清除窗體所顯示的圖形。提示:利用循環(huán)語(yǔ)句和string函數(shù)

17、。讀者也可以發(fā)揮自己的想像力,設(shè)計(jì)更美觀的圖形。進(jìn)一步要求:若要顯示如圖2.2.7所示的圖形,程序要如何修改?圖2.2.6 實(shí)驗(yàn)2.6運(yùn)行界面 圖2.2.7 進(jìn)一步要求運(yùn)行界面private sub command1_click()printfor i = 1 to 5print tab(15 - i * 2); string(2 * i - 1, ); string(10 - (2 * i - 1), ); string(2 * i - 1, )next iend subprivate sub command2_click()clsend sub實(shí)驗(yàn)2-7用inputbox輸入一個(gè)正實(shí)數(shù),用

18、print方法在一行上顯示出它的平方和平方根、立方和立方根,每個(gè)數(shù)保留三位小數(shù),其間有間隔。private sub command1_click()x = val(inputbox(輸入一個(gè)正實(shí)數(shù), 計(jì)算, 0)pf = format(x * x, 0.000)pfg = format(sqr(x), 0.000)lf = format(x * x * x, 0.000)lfg = format(x (1 / 3), 0.000)print 平方為:; pf; space(3); 平方根為:; pfg; space(3); 立方為:; lf; space(3); 立方根為:; lfgend s

19、ub實(shí)驗(yàn)3-1在購(gòu)買某物品時(shí),若所標(biāo)明的價(jià)錢x在下述范圍內(nèi),所付錢y按對(duì)應(yīng)折扣支付:提示:此例用多分支結(jié)構(gòu)實(shí)現(xiàn),注意計(jì)算公式和條件表達(dá)式的正確書(shū)寫(xiě)。private sub form_click()dim x!, y!x = val(inputbox(輸入x的值)if x 1000 theny = xelseif x 2000 theny = 0.9 * xelseif x 3000 theny = 0.8 * xelsey = 0.7 * xend ifprint yend sub實(shí)驗(yàn)3-2編一個(gè)程序輸入上網(wǎng)的時(shí)間并計(jì)算上網(wǎng)費(fèi)用,計(jì)算方法如下:同時(shí)為了鼓勵(lì)多上網(wǎng),每月收費(fèi)最多不超過(guò)150元。提

20、示:首先利用多分支if語(yǔ)句根據(jù)3個(gè)時(shí)間段算出費(fèi)用,然后再用單分支if語(yǔ)句對(duì)超過(guò)150元的費(fèi)用設(shè)置為150元。private sub form_click()dim x!, y!x = val(inputbox(輸入上網(wǎng)時(shí)間)if x 10 theny = 30elseif x 150 theny = 150end ifprint yend sub實(shí)驗(yàn)3-3輸入x,y,z三個(gè)數(shù),按從大到小的次序顯示,如圖2.3.1所示。圖2.3.1 實(shí)驗(yàn)3.3運(yùn)行界面提示:利用inputbox函數(shù)輸入3個(gè)數(shù),存放到數(shù)值型變量中,然后對(duì)其進(jìn)行比較;若放在字符串變量中,有時(shí)會(huì)得到不正確的結(jié)果(因?yàn)樽址菑淖蟮接业?/p>

21、規(guī)則比較,例如會(huì)出現(xiàn)“34”“2345”“126789”的情況)。對(duì)三個(gè)數(shù)進(jìn)行排序,只能通過(guò)兩兩比較,一般可用三條單分支if語(yǔ)句來(lái)實(shí)現(xiàn)。方法如下:先將x與y比較,使得xy;然后將x與z比較,使得xz,此時(shí)x最大;最后將y與z比較,使得yz。要顯示多個(gè)數(shù)據(jù),可以用“;”逐一顯示,也可利用“&”字符串連接符將多個(gè)變量連接顯示。例如要輸出x、y、z:print ”排序后”;x;” ”;y;” ”;z 用分號(hào)將多個(gè)變量顯示也可print ”排序后”& x &” ” & y &” ” &z 用”&”字符串連接符思考:若要按從小到大的次序顯示,程序?qū)⑷绾涡薷??private sub command1_cl

22、ick()dim x!, y!, z!x = inputbox(input x)y = inputbox(input y)z = inputbox(input z)print x y zprint 排序前; x; ; y; ; zif x y then t = x: x = y: y = tif x z then t = x: x = z: z = tif y z then t = y: y = z: z = tprint 排序后; x; ; y; ; zend sub實(shí)驗(yàn)3-4編一模擬袖珍計(jì)算器的完整程序,界面如圖2.3.2所示。要求:輸入兩個(gè)操作數(shù)和一個(gè)操作符,根據(jù)操作符決定所做的運(yùn)算。圖

23、2.3.2 實(shí)驗(yàn)3.4運(yùn)行界面提示:對(duì)于存放操作符的文本框text3,利用select case語(yǔ)句實(shí)現(xiàn)相應(yīng)的運(yùn)算。private sub command2_click()text1.text = text2.text = text3.text = text4.text = end subprivate sub text3_lostfocus()select case trim(text3)case +text4 = val(text1) + val(text2)case -text4 = val(text1) - val(text2)case *text4 = val(text1) * va

24、l(text2)case /if val(text2) = 0 thenmsgbox 分母為零,重新輸入text2 = text2.setfocuselsetext4 = val(text1) / val(text2)end ifend selectend sub實(shí)驗(yàn)3-5利用計(jì)算機(jī)解決古代數(shù)學(xué)問(wèn)題”雞兔同籠問(wèn)題”。即已知在同一個(gè)籠子里有總數(shù)為m只雞和兔,雞和兔的總腳數(shù)為n只,求雞和兔各有多少只?提示:雞、兔的只數(shù)通過(guò)已知輸入的m,n列出方程可解, 設(shè)雞為x只,兔為y只,則計(jì)算公式為:但不要求出荒唐的解(如3.5只雞、4.5只兔,或者求得的只數(shù)為負(fù)數(shù))。因此,在text2_lostfocus事

25、件中要考慮下面兩個(gè)條件:輸入的總腳數(shù)n必須是偶數(shù),否則提示數(shù)據(jù)錯(cuò)誤的原因,要求重新輸入數(shù)據(jù)。(使用求余方法判斷,即n mod 20)圖2.3.3 實(shí)驗(yàn)3.5運(yùn)行界面 若求出的只數(shù)為負(fù)數(shù),提示數(shù)據(jù)錯(cuò)誤的原因,如圖2.3.3所示,重新輸入數(shù)據(jù)。(使用總只數(shù)和總腳數(shù)的關(guān)系,即n4*m or n2*m )private sub text2_lostfocus()dim m%, n%, y%m = val(text1)n = val(text2)if n mod 2 0 thenmsgbox (腳數(shù)必須是偶數(shù))text2 = text2.setfocuselsey = n / 2 - mif n 4 *

26、 m or n =0。private sub command1_click()dim a!, b!, c!, x1!, x2!, de!a = text1b = text2c = text3de = b * b - 4 * a * ct = 2 * aif de = 0 thentext4 = format(-b / t, 0.00)text5 = format(-b / t, 0.00)elseif de 0 thentext4 = format(-b + sqr(de) / t, 0.00)text5 = format(-b - sqr(de) / t, 0.00)elsetext4 =

27、format(-b / t, 0.00) & + & format(sqr(abs(de) / t, 0.00) & itext5 = format(-b / t, 0.00) & - & format(sqr(abs(de) / t, 0.00) & iend ifend subprivate sub command2_click()text1 = text2 = text3 = text4 = text5 = end sub實(shí)驗(yàn)3-7檢查表達(dá)式輸入中圓括號(hào)配對(duì)問(wèn)題。要求對(duì)文本框輸入的算術(shù)表達(dá)式,檢驗(yàn)其圓括號(hào)配對(duì)情況,并給出相應(yīng)信息,如圖2.3.5所示。當(dāng)單擊“重置”按鈕,清除文本框輸入的內(nèi)

28、容、窗體顯示的信息和計(jì)算,并對(duì)窗體級(jí)變量賦初值零,便于再次輸入和統(tǒng)計(jì)。提示:在過(guò)程外最上方聲明一個(gè)窗體級(jí)變量n,存放統(tǒng)計(jì)括號(hào)配對(duì)的情況;在text1_keypress(keyascii as integer)事件過(guò)程中進(jìn)行如下處理:if chr(keyascii)不是等號(hào) then若是左括號(hào)”(”則n=n+1;若是右括號(hào)”)”則n=n-1;else結(jié)束表達(dá)式輸入,對(duì)n的3種情況:=n、0、0用print方法顯示相應(yīng)的信息end if用一個(gè)嵌套的雙分支和內(nèi)嵌兩個(gè)多分支結(jié)構(gòu)來(lái)實(shí)現(xiàn)。dim n!private sub command1_click()text1.text = n = 0clsend

29、subprivate sub text1_keypress(keyascii as integer)if chr(keyascii) = thenif chr(keyascii) = ( thenn = n + 1end ifif chr(keyascii) = ) thenn = n - 1end ifelseif n = 0 thenprint 括號(hào)配對(duì)成功;elseif n 0 thenprint 左括號(hào)多于右括號(hào) & n & 個(gè),按“重置”按鈕,重新輸入end ifif n 7, is 7 or text1 1 thenmsgbox 數(shù)字為17,重新輸入text1 = text1.se

30、tfocuselselabel3 = choose(text1, monday, tuesday, wednesday, thursday, friday, saturday, sunday)end ifend sub實(shí)驗(yàn)3-9設(shè)計(jì)如圖2.3.6所示的計(jì)算程序。當(dāng)輸入?yún)?shù),選擇“函數(shù)”和“字形”后單擊“計(jì)算”按鈕,在label3以選擇的字形顯示計(jì)算的結(jié)果。提示:關(guān)于“字形”復(fù)選框的選用采用逐個(gè)判斷選擇,進(jìn)行屬性值的對(duì)應(yīng)設(shè)置。字形的屬性見(jiàn)表2.3.1,設(shè)置屬性值為true時(shí)其屬性起作用。字 形 屬 性意義fontbold粗體fontitalic斜體fontstrikethru刪除線fontund

31、erline下劃線圖2.3.6 實(shí)驗(yàn)3.9運(yùn)行界面private sub command1_click()if option1.value thenlabel3.caption = sin( & text1.text & )= & sin(val(text1.text)elseif option2.value thenlabel3.caption = exp( & text1.text & )= & exp(val(text1.text)elselabel3.caption = sqr( & text1.text & )= & sqr(val(text1.text)end ifif check

32、1.value thenlabel3.fontbold = trueelselabel3.fontbold = falseend ifif check2.value thenlabel3.fontitalic = trueelselabel3.fontitalic = falseend ifif check3.value thenlabel3.fontunderline = trueelselabel3.fontunderline = falseend ifend sub實(shí)驗(yàn)3-10利用單選按鈕,選擇目的地和車速類型,顯示從上海出發(fā)到目的地座票的票價(jià),如圖2.3.7所示。從上海到南京、北京乘火

33、車有3種車速類型:高鐵(二等)、動(dòng)車、快車,座位票的票價(jià)見(jiàn)表2.3.2。當(dāng)選擇了目的地、車速類型單選按鈕后,在label1控件顯示選擇的相關(guān)信息和車票價(jià)格。表2.3.2 票 價(jià)目 的 地高 鐵動(dòng) 車快 車南京1409347北京555410179圖2.3.7 實(shí)驗(yàn)3.10運(yùn)行界面提示:command1_click事件采用一個(gè)雙分支(目的地)結(jié)構(gòu)分別嵌套一個(gè)多分支(車速類型)來(lái)實(shí)現(xiàn);顯示的內(nèi)容通過(guò)各單選按鈕的caption屬性來(lái)獲得。private sub command1_click()if option1.value = true thenif option3.value = true the

34、nlabel1.caption = 從上海到南京 高鐵價(jià)格 140元elseif option4.value = true thenlabel1.caption = 從上海到南京 動(dòng)車價(jià)格 93元elselabel1.caption = 從上海到南京 快車價(jià)格 47元end ifelseif option3.value = true thenlabel1.caption = 從上海到北京 高鐵價(jià)格 555元elseif option4.value = true thenlabel1.caption = 從上海到北京 動(dòng)車價(jià)格 410元elselabel1.caption = 從上海到北京 快車

35、價(jià)格 179元end ifend ifend sub實(shí)驗(yàn)3-11編寫(xiě)一個(gè)“個(gè)人簡(jiǎn)歷表”程序。該程序運(yùn)行后,用戶在文本框中輸入姓名和年齡,選擇性別、職業(yè)、學(xué)歷和個(gè)人興趣等個(gè)人信息。單擊“遞交”按鈕運(yùn)行后,在右側(cè)label1控件顯示具體個(gè)人信息;單擊“重置”按鈕則清除輸入的信息和所做的選擇。運(yùn)行界面如圖2.3.8所示。圖2.3.8 個(gè)人簡(jiǎn)歷表提示:利用xb,xl,zy,ah字符串變量分別保存性別、學(xué)歷、職業(yè)和愛(ài)好的選擇信息。dim xm, xb, xl, zy, ah as stringprivate sub command1_click()if text1.text = thentext1.se

36、tfocusmsgbox 姓名未填, , 提示elsexm = text1.textend ifif not isnumeric(text2.text) or val(text2.text) = 60 thentext2.text = text2.setfocusmsgbox 年齡輸入錯(cuò)誤, , 提示elsenl = val(text2.text)end ifif option1.value thenxb = label4.captionelseif option2.value thenxb = label5.captionelsemsgbox 性別未選, , 提示end ifif optio

37、n3.value thenxl = label6.captionelseif option4.value thenxl = label7.captionelseif option5.value thenxl = label8.captionelsemsgbox 學(xué)歷未選, , 提示end ifif option6.value thenzy = label9.captionelseif option7.value thenzy = label10.captionelseif option8.value thenzy = label11.captionelsemsgbox 職業(yè)未選, , 提示en

38、d ifif check1.value thenah = label12.captionelseah = end ifif check2.value thenah = label13.caption + + ahelseah = ah + end ifif check3.value thenah = label14.caption + + ahelseah = ah + end ifif check4.value thenah = label15.caption + + ahelseah = ah + end iflabel3.caption = 簡(jiǎn)歷 & vbcrlf & 姓名: & xm

39、& vbcrlf & 年齡: & nl & vbcrlf & 性別: & xb & vbcrlf & 學(xué)歷: & xl & vbcrlf & 職業(yè): & zy & vbcrlf & 愛(ài)好: & ahend subprivate sub command2_click()text1.text = text2.text = label3.caption = option1.value = falseoption2.value = falseoption3.value = falseoption4.value = falseoption5.value = falseoption6.value = fa

40、lseoption7.value = falseoption8.value = falsecheck1.value = falsecheck2.value = falsecheck3.value = falsecheck4.value = falseend sub實(shí)驗(yàn)4-1用單循環(huán)和print方法顯示有規(guī)律的圖形,可通過(guò)form_click事件實(shí)現(xiàn),如圖2.4.1所示。 提示: (1)對(duì)于特殊字符、通過(guò)漢字標(biāo)準(zhǔn)輸入的軟鍵盤菜單中的特殊符號(hào)命令來(lái)實(shí)現(xiàn)。(2)用string(n, )函數(shù)產(chǎn)生重復(fù)字符串,如:string(5, )將產(chǎn)生。(3)通過(guò)循環(huán)結(jié)構(gòu)確定顯示的起始位tab(20-2*i),顯示

41、有規(guī)律的子串, 的列寬約為2。圖2.4.1 實(shí)驗(yàn)4 .1運(yùn)行界面private sub form_click()for i = 1 to 9print tab(20 - 2 * i); string(2 * i - 1, )next iend sub實(shí)驗(yàn)4-2用單循環(huán)實(shí)現(xiàn)如圖2.4.2所示的界面。 圖2.4.2 實(shí)驗(yàn)4.2運(yùn)行界面提示:利用chr函數(shù)將字母編碼值轉(zhuǎn)換成字母。private sub form_click()for i = 1 to 10 step 1print tab(i); string(20 - 2 * i), chr(64 + i)next iend sub實(shí)驗(yàn)4-3求s=1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+n)。要求:用for單循環(huán)求前30項(xiàng)和。用until求多項(xiàng)式和,直到和大于5000為止。運(yùn)行效果如圖2.4.3所示。圖2.4.3 實(shí)驗(yàn)4.3運(yùn)行界面private s

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論