VFP題目及答案_第1頁
VFP題目及答案_第2頁
VFP題目及答案_第3頁
VFP題目及答案_第4頁
VFP題目及答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 在兩個文本框中分別輸入用戶名和密碼,點擊“注冊”按鈕,出現(xiàn)三種情況:a) 若至少一個文本框為空,者提示“用戶名或密不能為空!”b) 若輸入的用戶名的已經(jīng)在后臺的“用戶”表中存在,則提示“此用戶名已被占用,請重新輸入!”c) 排除上述兩種情況,則出現(xiàn)“注冊成功”信息,并把該新注冊的用戶名及密碼寫入后臺的“用戶”表中2. 輸入用戶名和密碼,點擊“登錄”按鈕,可能出現(xiàn)的三種情況:a) 該用戶已在用戶表中,而且密碼也正確,則出現(xiàn)“您已成功登錄本系統(tǒng)”的信息;b) 若用戶名已存在于后臺的“用戶”表中,則顯示“密碼錯誤”的信息c) 若用戶名不在用“戶表”中,則顯示“您尚未注冊”的信息3. 點擊“退出

2、”按鈕,退出程序注冊(command1) clickif allt(thisform.text1.value)="" or allt(thisform.text2.value)=""messagebox("用戶名或密碼不能為空!",17,"提示")elsesele 用戶locate for 用戶名=allt(thisform.text1.value)if found()messagebox("此用戶名已被占用,請重新輸入!",49,"提示")elseappend blankr

3、eplace 用戶名 with alltrim(thisform.text1.value)replace 密碼 with alltrim(thisform.text2.value)messagebox("注冊成功",65,"恭喜!")thisform.text1.value=""thisform.text2.value=""endifendif登入(command2) clickif allt(thisform.text1.value)="" or allt(thisform.text2.val

4、ue)=""messagebox("用戶名或密碼不能為空!",17,"提示")elseselect 用戶locate for allt(用戶名)=allt(thisform.text1.value)if found()if allt(密碼)=allt(thisform.text2.value)messagebox("您已成功登錄本系統(tǒng)!",65,"恭喜")elsemessagebox("密碼錯誤!",49,"提示")endifelsemessagebox(

5、"您尚未注冊!",49,"提示")endifendif選擇左邊組合框中的課程號,右側(cè)列表中顯示該課程的全部成績。Combo1 interactivechangeselect 課程locate for 課程號=this.valuethisform.refresh在左上角文本框中輸入學(xué)號,點擊“查找”按鈕,右側(cè)顯示該學(xué)生的相關(guān)信息。若輸入學(xué)號為空,則出現(xiàn)“學(xué)號不能為空”的提示;若所輸入的學(xué)號不在學(xué)生表中,則顯示“查無此人!”查找(command1) Clicksele 學(xué)生if allt(thisform.text1.value)=""m

6、essagebox("學(xué)號不能為空")thisform.text1.setfocuselselocate for 學(xué)號=allt(thisform.text1.value)if not found()messagebox("查無此人!",17,"出錯啦!")thisform.text1.value=""thisform.text1.setfocusendifendifthisform.refresh點擊“轉(zhuǎn)換”按鈕,完成攝氏到華氏、華氏到攝氏、攝氏到攝氏、華氏到華氏的轉(zhuǎn)換。轉(zhuǎn)換(command1) Clickif

7、allt(thisform.text1.value)=""returnelseif val(thisform.text1.value)=0returnelseif bo1.value=bo2.valuethisform.text2.value=thisform.text1.valueelseif bo1.value="攝氏"thisform.text2.value=9/5*val(thisform.text1.value)+32elsethisform.text2.value=(val(thisform.text1.value)-32)*5/9endif

8、endifendifendifthisform.refresh1 點擊“出題”按鈕,由程序隨機(jī)產(chǎn)生兩個兩位數(shù)的正整數(shù),分別填寫在左側(cè)的兩個文本框中;2 用戶輸入上述兩個數(shù)相加的結(jié)果,點擊“答題”按鈕,出現(xiàn)以下兩種可能的情況:a) 若用戶計算正確,則給出“答對了,真棒!”的提示b) 若用戶給出的答案錯誤,則給出“不對啊,再仔細(xì)想想!”的提示。3 點擊“退出”按鈕,退出程序出題(command1) clickthisform.text1.value=int(rand()*90)+10thisform.text2.value=int(rand()*90)+10thisform.text3.value

9、=""thisform.refresh答題(command2) clicka=val(thisform.text3.value)b=thisform.text1.valuec=thisform.text2.valueif a=b+cmessagebox("答對了,真棒!",65,"congratulations")elsemessagebox("不對啊,再仔細(xì)想想!",17,"出錯啦!")endif1.用戶選擇組合框中的學(xué)號,右側(cè)文本框中顯示相應(yīng)的姓名;2.點擊“確定”按鈕,出現(xiàn)兩個可能的情況:

10、c) 若用戶勾選了至少一個運動項目,則把學(xué)號、姓名及所報項目寫入后臺的“報名表”,且在界面的表格控件中顯示報名結(jié)果d) 若用戶沒有勾選任何運動項目,則不寫表。3點擊“清空報名表”按鈕,則清空后臺“報名表”中的所有數(shù)據(jù),并在界面的表格控件中反映出來。4.點擊“退出”按鈕,退出程序。確定(command)n=0if bo1.value=""returnendifselect 報名表if thisform.check1.value=.t.n=1endifif thisform.check2.value=.t.n=1endifif thisform.check3.value=.t.

11、n=1endifif n=1append blankreplace 學(xué)號 with bo1.value,姓名 with thisform.txt姓名.valueif thisform.check1.value=.t.replace 項目1 with thisform.check1.captionendifif thisform.check2.value=.t.replace 項目2 with thisform.check2.captionendifif thisform.check3.value=.t.replace 項目3 with thisform.check3.captionendife

12、ndifthisform.refresh清空報名表select 報名表zapthisform.refreshcombo interactivechangethisform.check1.value=.f.thisform.check2.value=.f.thisform.check3.value=.f.thisform.refresh1.點擊“查找”按鈕,可能出現(xiàn)的三種情況:a) 若學(xué)號文本框為空,則出現(xiàn)“學(xué)號不能為空”的提示b) 若在成績表中找不到輸入的學(xué)號,則出現(xiàn)“沒有找到該學(xué)生的成績”的提示c) 若輸入的學(xué)號在成績表中找到,則右側(cè)的表格控件顯示該學(xué)生的所有成績,并在下方的文本框中顯示該學(xué)

13、生所有課程的平均成績。2.點擊“退出”按鈕,退出程序。查找if allt(thisform.text1.value)=""messagebox("學(xué)號不能為空!")returnendifsele 成績locate for allt(學(xué)號)=allt(thisform.text1.value)if found()sele * from 成績 where allt(學(xué)號)=allt(thisform.text1.value) into cursor 個人成績thisform.grid1.recordsourcetype=1thisform.grid1.rec

14、ordsource="個人成績"thisform.grid1.visible=.t.sele avg(成績) as 平均成績 from 個人成績 into cursor pjcjsele pjcjthisform.text2.value=平均成績elsemessagebox("沒有找到該學(xué)生的成績!")thisform.grid1.visible=.f.endifthisform.refresh1.點擊“產(chǎn)生三個整數(shù)”按鈕,由程序隨機(jī)生成三個隨機(jī)的整數(shù),分別填寫在三個文本框中:2.點擊“排序輸出”按鈕,在下方的三個文本框中按從大到小的順序分別輸出上述三個

15、數(shù)。3.點擊“退出”按鈕,退出程序。產(chǎn)生三個整數(shù)thisform.text1.value=int(rand()*1000)thisform.text2.value=int(rand()*1000)thisform.text3.value=int(rand()*1000)thisform.text4.value=""thisform.text5.value=""thisform.text6.value=""thisform.refresh排序輸出x=thisform.text1.valuey=thisform.text2.valuez=

16、thisform.text3.valueif x<yt=xx=yy=tendifif x<zt=xx=zz=tendifif y<zt=yy=zz=tendifthisform.text4.value=xthisform.text5.value=ythisform.text6.value=zthisform.refresh在程序文件prg中完成,要求運行時提示用戶輸入起止數(shù)字,然后顯示找到的所有素數(shù)。并輸出這些素數(shù)的平均值。input "開始:" to startinput "結(jié)束:" to ends=0countn=0for n=st

17、art to endfor i=2 to n-1if mod(n,i)=0 thenexitendifnextif i>n-1?ns=s+ncountn=countn+1 endifnext?s/countn在程序文件prg中完成,要求運行時提示用戶輸入圖形總行數(shù)和圖形然后打印一個指定行數(shù)指定圖形的倒金字塔。input "層數(shù):" to maccept "字符:" to zffor i=1 to m?space(i)for j=1 to 2*m-2*i-1?zfnextnext實驗9實驗?zāi)康模豪盟鶎W(xué)函數(shù)、命令、程序的三種控制結(jié)構(gòu)來解決實際問題。靈

18、活運用數(shù)值和數(shù)學(xué)函數(shù);靈活應(yīng)用字符型函數(shù);靈活應(yīng)用數(shù)據(jù)表(庫)?;A(chǔ)題1:從鍵盤輸入n個評委的評分(n由鍵盤輸入確定),去掉一個最高分,去掉一個最低分,然后對其他評委的評分求平均,作為選手的最后得分。以下是程序的一次運行結(jié)果:set talk offclearinput "請輸入評委人數(shù):" to ninput "第1個評委的評分:" to xmmax=xmmin=xs=xfor i=2 to ninput "第"+alltrim(str(i)+"個評委的評分:" to xif x>mmaxmmax=xend

19、ifif x<mminmmin=xendifs=s+xendfors=(s-mmax-mmin)/(n-2)?alltrim(str(n)+"個評委給出的最高分為:"+alltrim(str(mmax,5,1)?",最低分為:"+alltrim(str(mmin,5,1)?"去掉最高分、最低分后,該選手得分:"+alltrim(str(s,5,1)set talk on基礎(chǔ)題2:編寫一個自定義函數(shù),求n!的末尾有幾個連續(xù)的數(shù)碼0,要求返回正整數(shù)。主程序中調(diào)用這個自定義函數(shù)。以下是程序的一次運行結(jié)果:set talk offcle

20、arinput "x=" to x?alltrim(str(x)+"!="+alltrim(str(fact(x)+",末尾有"+alltrim(str(nfact(x)+"個數(shù)碼0"set talk onfunction nfact &&計算n!的末尾0個數(shù)parameter ns=fact(n)k=0do while .t.if s%10=0k=k+1s=int(s/10)elseexitendifenddoreturn kendfuncfunction fact &&計算n!p

21、ara ns=1for i=1 to ns=s*inext return sendfun基礎(chǔ)題3:將一個數(shù)值型數(shù)據(jù)(可以有小數(shù),也可以是負(fù)數(shù))中位值最大的和最小的數(shù)碼輸出。如輸入2937.751,則輸出“最大數(shù)碼為9,最小數(shù)碼為1”。以下是程序的一次運行結(jié)果:set talk offclearinput "x=" to xx=abs(x)do while int(x)#xx=x*10enddommax=mod(x,10)mmin=mod(x,10)x=int(x/10)do while x>0r=x%10if r>mmaxmmax=rendifif r<m

22、minmmin=rendifx=int(x/10)enddo?"最大數(shù)碼為"+alltrim(str(mmax)+",最小數(shù)碼為"+alltrim(str(mmin)set talk on實驗8握過程和自定義函數(shù)的編寫和調(diào)用方法;掌握參數(shù)傳遞的概念與規(guī)則。編寫程序:由程序自動生成10個三位數(shù),把這10個數(shù)從小到大排序后輸出(提示:可利用隨機(jī)函數(shù)生成10個三位數(shù))下圖為其中一次執(zhí)行的結(jié)果:set talk offcleardeclare a(10)?"原始數(shù)據(jù):"for i=1 to 10a(i)=int(rand()*900+100)

23、?str(a(i),5)next ifor i=1 to 9for j=i+1 to 10if a(i)>a(j)t=a(i)a(i)=a(j)a(j)=tendifendforendfor?"排序以后:"for i=1 to 10?str(a(i),5)nextset talk on編寫程序:用過程文件和參數(shù)傳遞,求:(m!+n!)/(m-n)!+mn+mm)的值。要求:為了保證用戶輸入的數(shù)據(jù)符合要求,程序必須保證m>n。下圖是一次可能的執(zhí)行結(jié)果:set talk offclear?"請輸入m、n,且m>n"input "m

24、=" to minput "n=" to ndo while m<=n?"輸入的數(shù)據(jù)不合要求!請輸入m、n,且m>n"input "m=" to minput "n=" to nenddosm=mdo jc with smsn=ndo jc with snsmn=m-ndo jc with smncmn=ndo mc with m,cmndo mc with m,m?(sm+sn)/(smn+cmn+m)set talk onproc jc &&計算x的階乘para xloca

25、l tt=1for i=1 to xt=t*iendforx=treturn proc mc &&計算x的y次方para x,ylocal tt=1for i=1 to yt=t*xnexty=treturn編寫程序,顯示21000之間的正整數(shù)中所有的完數(shù)。完數(shù)的定義:一個正整數(shù),若其所有不重復(fù)因子的累加和等于自身的值,則稱這個數(shù)為完數(shù)。因子包括1,但不包括該數(shù)本身。要求:完數(shù)的判斷用自定義函數(shù)完成執(zhí)行結(jié)果:set talk off?"21000之間的完數(shù)有:"for i=2 to 1000if wanshu(i)=.t.?iendifendforset t

26、alk onfunction wanshupara ns=1for i=2 to n-1if n%i=0s=s+iendifendforif n=sreturn .t.elsereturn .f.endifendfunc1. 點擊“抽獎”按鈕,界面上的抽獎?wù)咝畔⒑偷锚劦却涡畔㈤_始滾動顯示,同時按鈕的caption顯示為“暫停”;2. 點擊“暫停”,滾動停止;并把得獎人的姓名和得獎具體內(nèi)容寫入相應(yīng)的表中;3. 點擊“清空得獎數(shù)據(jù)”,把得獎信息全部刪除。Command1(抽獎) clickif this.caption="抽獎"this.caption="暫停&quo

27、t;thisform.timer1.enabled=.t.thisform.timer2.enabled=.t.elsethis.caption="抽獎" thisform.timer1.enabled=.f. thisform.timer2.enabled=.f. select 中獎append blank replace 姓名 with allt(thisform.text2.value) replace 獎品 with allt(thisform.text4.value)endifthisform.refreshCommand2(清空) clickselect 中獎zapthisf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論