




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Wizard WongVF實(shí)習(xí)報(bào)告Visual FoxPro 及其應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)習(xí)報(bào)告 姓名:Wizard Wong 班級(jí):XXXXX 學(xué)號(hào):XXXXX 指導(dǎo)老師:XXXX 學(xué)院:XXXXX目錄一、 第一題 3第一小題第二小題第三小題第四小題二、 第二題 8第一小題第二小題第三小題第四小題三、 第三題 13第一小題第二小題第三小題第四小題四、 第四題 22 - 3 - / 56Wizard WongVF實(shí)習(xí)報(bào)告一、 第一題1 第一小題: 建立工資表文件gz20131000495.dbf,備注定義為MEMO字段使用命令語(yǔ)句:create gz20131000495然后按要求輸入表格的結(jié)構(gòu),接著輸
2、入相關(guān)數(shù)據(jù)以及添加相關(guān)備注,最后按Ctrl+W鍵存盤(pán)即可2 第二小題:添加、插入、刪除、修改操作練習(xí)添加命令:append 插入命令:insert into gz20131000495 () values ()刪除命令:go <數(shù)值表達(dá)式>delete &&邏輯刪除命令pack &&物理刪除命令修改命令:use gz20131000495 Browse 然后根據(jù)需要對(duì)數(shù)據(jù)進(jìn)行修改3 第三小題:記錄指針移動(dòng)、檢索操作練習(xí)記錄指針移動(dòng)命令:go top go bottom go <數(shù)值表達(dá)式>檢索命令: index on <索引關(guān)鍵字&
3、gt; tag <索引標(biāo)識(shí)名> 4 第四小題:排序、索引、統(tǒng)計(jì)操作練習(xí)排序操作:sort to <新文件名> on <字段>索引的建立:index on <索引關(guān)鍵字> tag <索引標(biāo)識(shí)名> ascending|descending索引的使用命令: set order to <索引標(biāo)識(shí)>統(tǒng)計(jì)命令:sum<數(shù)值表達(dá)式><范圍>for<條件1>while <條件2>to<內(nèi)存變量>二、第二題:1. 第一小題:已知半徑R=10,計(jì)算周長(zhǎng)C=2Rclearinput &
4、quot;請(qǐng)輸入圓的半徑:" to bjC=2*PI()*bjA=STR ( C,5,2)?"周長(zhǎng)=",AReturn2. 第二小題:假設(shè)銀行一、二、三年定期存款的年利率分別為5.0%、5.5%、6.2%。若儲(chǔ)戶存款為X元,期末償還本息為Y元,編寫(xiě)計(jì)算各種不同定期存款期末應(yīng)付本息的程序clearinput "請(qǐng)輸入存款額:" to Xinput "請(qǐng)輸入定期年數(shù):" to nsdo case case ns=1 bx=ns*(0.05+1)*X case ns=2 bx=(0.055+1)ns*X case ns=3 bx=
5、(0.062+1)ns*Xendcase ?"存款期末應(yīng)付本息Y=",bx3. 第三小題:求二元一次方程ax2+bx=c=0的根CLEAR?"求解一元二次方程:a*x2+b*x+c=0"input "請(qǐng)輸入?yún)?shù)a=" to ainput "請(qǐng)輸入?yún)?shù)b=" to binput "請(qǐng)輸入?yún)?shù)c=" to cd=b*b-4*a*cDO case CASE a=0 ?"x=",-c/b CASE d<0 ?"此方程組無(wú)實(shí)根" CASE d=0 ?"
6、;x1=x2=",-b/(2*a) CASE d>0 ?"x1=",(-b-SQRT(d)/(2*a) ?"x2=",(-b+SQRT(d)/(2*a)ENDCASE4. 第四小題:計(jì)算自然數(shù)前N項(xiàng)和S=1+2+3+N,設(shè)N=50clear?"計(jì)算自然數(shù)前N項(xiàng)和S"input "請(qǐng)輸入項(xiàng)數(shù)N=" to NS=0FOR i=1 to N S=S+iNEXT ? "S=" , S三、第三題1、 第一小題:計(jì)算每個(gè)人的應(yīng)發(fā)工資及各項(xiàng)工資合計(jì)(1) 命令方式:use gz20131000
7、495replace all 應(yīng)發(fā)工資 with 基本工資+獎(jiǎng)金-扣款listsum 基本工資,獎(jiǎng)金,扣款,應(yīng)發(fā)工資 to a,b,c,dgo 6replace 基本工資 with areplace 獎(jiǎng)金 with breplace 扣款 with creplace 應(yīng)發(fā)工資 with dlist(2) 程序方式:cleartext * * 1. 計(jì)算個(gè)人應(yīng)發(fā)工資 * * 2. 計(jì)算各項(xiàng)工資合計(jì) * * 3. 退出此項(xiàng)運(yùn)行程序 * * endtextdo while .t. 10,0 clear input "請(qǐng)輸入所需操作功能的編號(hào):" to gn do case cas
8、e gn=1 do e1 case gn=2 do e2 case gn=3 wait "系統(tǒng)將關(guān)閉!" window exit endcaseenddoreturnprocedure e1use gz20131000495replace all 應(yīng)發(fā)工資 with 0listinput "請(qǐng)按表格輸入所需計(jì)算應(yīng)發(fā)工資職工的記錄號(hào):" to mcgo mcreplace 應(yīng)發(fā)工資 with 基本工資+獎(jiǎng)金-扣款displaywaitprocedure e2use gz20131000495go 6replace 基本工資 with 0 獎(jiǎng)金 with 0
9、 扣款 with 0 應(yīng)發(fā)工資 with 0listsum 基本工資,獎(jiǎng)金,扣款,應(yīng)發(fā)工資 to a,b,c,dgo 6replace 基本工資 with a 獎(jiǎng)金 with b 扣款 with c 應(yīng)發(fā)工資 with dlistwait2第二小題:按分廠匯總,生成全廠工資匯總表gzhz?.dbf,其格式如下: 分廠基本工資獎(jiǎng)金扣款應(yīng)發(fā)工資1299(1)、命令方式:Create gzhz20131000495use gz20131000495calculate sum(基本工資) for 分廠="1" to gch1calculate sum(獎(jiǎng)金) for 分廠=&quo
10、t;1" to gch11calculate sum(扣款) for 分廠="1" to gch12calculate sum(應(yīng)發(fā)工資) for 分廠="1" to gch13use gzhz20131000495go 1replace 基本工資 with gch1 獎(jiǎng)金 with gch11 扣款 with gch12 應(yīng)發(fā)工資 with gch13listuse gz20131000495calculate sum(基本工資) for 分廠="2" to gch2calcula sum(獎(jiǎng)金) for 分廠="
11、;2" to gch21calcula sum(扣款) for 分廠="2" to gch22calcula sum(應(yīng)發(fā)工資) for 分廠="2" to gch23use gzhz20131000495go 2replace 基本工資 with gch2 獎(jiǎng)金 with gch21 扣款 with gch22 應(yīng)發(fā)工資 with gch23listuse gzhz20131000495sum (基本工資) to jbgzhzsum (獎(jiǎng)金) to jjhzsum (扣款) to kkhzsum (應(yīng)發(fā)工資) to yfgzhzgo 3rep
12、lace 基本工資 with jbgzhz 獎(jiǎng)金 with jjhz 扣款 with kkhz 應(yīng)發(fā)工資 with yfgzhzlist(2)、程序方式:use gz20131000495index on 分廠 tag fchtotal on 分廠 to ause a? "查看完全廠工資匯總表以后請(qǐng)按Ctrl+W存盤(pán)!"browse field 分廠,基本工資,獎(jiǎng)金,扣款,應(yīng)發(fā)工資 title "全廠工資匯總表gzhz20131000495"return3.第三小題: 根據(jù)需要,打印職工工資表或者全廠工資匯總表clearinput "要打印職工
13、工資表請(qǐng)輸入1,全廠工資匯總表請(qǐng)輸入2:" to shrif shr=1 use gz20131000495 list to printer prompt noconsoleelse use a copy to ab fields 分廠,基本工資,獎(jiǎng)金,扣款,應(yīng)發(fā)工資 use ab list to printer prompt noconsoleendifreturn 4.第四小題:利用表單,設(shè)計(jì)gz20131000495.dbf的錄入、修改等維護(hù)功能 四、第四題1 第一小題:編寫(xiě)一個(gè)主控程序,將第三題中各子程序組裝起來(lái),建成一個(gè)工資管理系統(tǒng)1編寫(xiě)一個(gè)主控程序,將第三題中各子程序組裝
14、起來(lái),建成一個(gè)工資管理系統(tǒng)clearuse gz20131000495text * * 1.應(yīng)發(fā)工資合計(jì) 4.打印工資數(shù)據(jù) * * 2.各項(xiàng)工資合計(jì) 5.錄入修改功能 * * 3.按分廠匯總工資 6.退出 * *endtextdo while .t. 6,10 clear 6,10 say "請(qǐng)輸入1 -6:" get hy default space(1) read do case case hy="1" do yfgz1 case hy="2" do gxgz2 case hy="3" do fchz3 cas
15、e hy="4" do dygz4 case hy="5" close all do form 維護(hù).scx case hy="6" wait "系統(tǒng)將關(guān)閉!" window timeout 3 exit endcaseEnddo 2、 利用項(xiàng)目文件重建以上工資管理系統(tǒng),分別編譯成app、exe文件進(jìn)行運(yùn)行3、根據(jù)資料,開(kāi)發(fā)“汽車修理管理信息系統(tǒng)” 一、資料背景:某汽車修理廠準(zhǔn)備建立一個(gè)“汽車修理管理信息系統(tǒng)”,其目標(biāo)如下:a) 能對(duì)汽車修理有關(guān)數(shù)據(jù)進(jìn)行錄入、修改和查詢b) 編制月度零件定貨計(jì)劃和修理人員工資月報(bào)表
16、c) 用戶提車時(shí),及時(shí)打印修理汽車發(fā)表軟件開(kāi)發(fā)人員根據(jù)用戶要求進(jìn)行了調(diào)查,系統(tǒng)主要數(shù)據(jù)載體為:修車登記表編號(hào):5001 日期:97/01/02修理項(xiàng)目點(diǎn)火線圈汽車牌號(hào)A2020203型號(hào)S130生產(chǎn)廠南方汽車廠車主姓名李華地址前進(jìn)路110號(hào)電話87878766汽車修理單登記單編號(hào):5005 汽車牌號(hào):A2312318 車主:王平修理項(xiàng)目大修送修日期97/06/02完工日期97/03/30零件號(hào)100001100002100005修理小時(shí)200零件數(shù)量255修理費(fèi)零件費(fèi)總金額零件庫(kù)存表盤(pán)存:方龍 日期:97/04/30零件號(hào)零件名成本數(shù)量?jī)r(jià)格最低庫(kù)存定貨量領(lǐng)料單編號(hào): 日期: 修理工:零件號(hào)數(shù)量
17、修理工登記表工號(hào)姓名地址電話小時(shí)工資零件定貨計(jì)劃單日期:97/04/23零件號(hào)零件名庫(kù)存量最低庫(kù)存定貨量修理工工資月報(bào)表日期:97/04/30工號(hào)姓名修理小時(shí)小時(shí)工資月工資修理汽車發(fā)表日期:車主姓名汽車牌號(hào)備注送修日期修理項(xiàng)目地址修理費(fèi)零件費(fèi)總金額具體功能為:(1) 數(shù)據(jù)錄入和修改(2) 數(shù)據(jù)查詢:(3) 每個(gè)月編制一次零件定貨計(jì)劃單和修理工工資表,其中定貨條件為:零件庫(kù)存量<最低庫(kù)存(4) 用戶提車時(shí),及時(shí)打印發(fā)票。其中修理費(fèi)=3*修理工時(shí)*修理工小時(shí)工資零件費(fèi)=(零件價(jià)格*耗用零件數(shù)量)二、數(shù)據(jù)庫(kù)設(shè)計(jì)1、邏輯設(shè)計(jì)根據(jù)季度零件訂貨計(jì)劃、汽車修理發(fā)票和工資月報(bào)表等輸出單據(jù)的數(shù)據(jù)需求,從修
18、車登記單、汽車修理單、零件入庫(kù)單和零件出庫(kù)單等輸入單據(jù)中歸納出包含6個(gè)表的數(shù)據(jù)庫(kù)。這些表的名稱和關(guān)聯(lián)如下:() 修理單:XLD(編號(hào),牌號(hào),工號(hào),修理項(xiàng)目,修理小時(shí),送修日期,完工日期)() 汽車:QC(牌號(hào),型號(hào),生產(chǎn)廠,車主名)() 車主:CZ(車主名,地址,電話)() 修理工:XLG(工號(hào),姓名,地址,電話,出生日期,進(jìn)廠日期,小時(shí)工資)() 零件用量:LJYL(編號(hào),零件號(hào),數(shù)量)() 零件庫(kù)存:LJKC(零件號(hào),零件名,成本,價(jià)格,庫(kù)存量,最低庫(kù)存,訂貨量)“汽車修理管理系統(tǒng)”總體模塊圖:QCXLPRG(汽車修理管理系統(tǒng)主文件) SJHJVUE(數(shù)據(jù)環(huán)境視圖文件) FMSCX(封面表
19、單文件) QCXLCDMPR(汽車修理管理系統(tǒng)菜單程序) XCDJSCX(修車登記表單文件) SRXLDHSCX(輸入修理單號(hào)表單) QCXLSCX(汽車修理表單文件) LJDHSCX(零件訂貨計(jì)劃表單文件:輸入季度號(hào)) DYFPSCX(打印發(fā)票表單文件:輸入修理單號(hào)) FPFRX(發(fā)票報(bào)表文件)2、物理設(shè)計(jì)八個(gè)表以及表的部分記錄:XLD,QC,CZ,XLG,LJYL,LJKC,LJRK,LJCK三:應(yīng)用程序設(shè)計(jì)(一)封面設(shè)計(jì)1、主文件(QCXLPRG)*程序文件名:qcxl.prg*功能:調(diào)用QCXLCD(汽車修理菜單)set talk offset defa to c:Wizard Won
20、gVF實(shí)習(xí)close allset view to sjhj.vuepublic xldh,ljfxldh=space(4)do form fmkeyb 'ctrl+f4'modi wind screen titl '汽車修理管理系統(tǒng)'cleardo qcxlcd.mprread eventquit(二)單程序結(jié)構(gòu)1、數(shù)據(jù)庫(kù)(QCXLSCX)按書(shū)上步驟做出數(shù)據(jù)庫(kù):2、建立SJHJ.VUE(數(shù)據(jù)環(huán)境)文件3、菜單程序(QCXLCDMPR)生成菜單生成,運(yùn)行后呈現(xiàn)如下圖所示:過(guò)程如下:5 往命令窗口鍵入 MODIFY FORM XCDJ,使出現(xiàn)標(biāo)題為XCDJ.SCX
21、的表單設(shè)計(jì)器窗口;屬性設(shè)計(jì):FORM1的CAPTION屬性設(shè)置為“修車登記”,AUTOCENTER屬性設(shè)置為.T.;用數(shù)據(jù)環(huán)境把xld 表的編號(hào),送修日期,修理項(xiàng)目和牌號(hào),qc表的型號(hào),生產(chǎn)廠和車主名, cz表的地址和電話等字段拖拽到表單中相應(yīng)位置。2) 分別設(shè)置牌號(hào)和車主名兩個(gè)文本框valid事件代碼sele qclocate for 牌號(hào)=xld.牌號(hào)if not found()insert into qc(牌號(hào)) values (xld.牌號(hào))endif select czlocate for 車主名=xld.車主名if not found()insert into cz(車主名) va
22、lues (qc.車主名)endif設(shè)置commandgroup1的click事件select xlddo casecase this.value=1 if recn()<recc() skip endifcase this.value=2 if recn()>1skip-1 endifcase this.value=3 go top case this.value=4 go bottomcase this.value=5 do form srxldhcase this.value=6 zy=messagebox('是要增頁(yè)么?',1+48+256,'確認(rèn)增
23、加修理單') if zy=1 go bottom insert into xld(編號(hào)) values (str(val(編號(hào))+1,4) endifcase this.value=7 sy=messagebox('是要?jiǎng)h頁(yè)么?',1+48+256,'確認(rèn)刪除修理單') if sy=1 delete pack endifcase this.value=8select qcbrow titl'汽車修改'+space(20)+'單擊行首可打刪除標(biāo)記,退出就刪去'packcase this.value=9select czbro
24、w titl'車主修改'+space(20)+'單擊行首可打刪除標(biāo)記,退出就刪去'pack case this.value=10thisform.releaseendcasethisform.refresh 尋頁(yè)按鈕gotfocus事件代碼select xldjlh=recn()loca for 編號(hào)=trim(xldh)if not found()wait window "無(wú)此編號(hào)"go jlhendifthisform.refresh汽車修理表單qcxl.scx按照簡(jiǎn)歷表的結(jié)構(gòu)用往命令窗口鍵入 MODIFY FORM QCXL,使出現(xiàn)標(biāo)題
25、為QCXL.SCX的表單設(shè)計(jì)器窗口;數(shù)據(jù)環(huán)境把xld表的編號(hào),送修日期,修理項(xiàng)目,牌號(hào),修理小時(shí)和完工日期字段拖拽到表單窗口,產(chǎn)生各相應(yīng)的標(biāo)簽和文本框,創(chuàng)建text1text8等8個(gè)文本框;屬性設(shè)置;為XLD表編號(hào)、送修日期、修理項(xiàng)目和牌號(hào)字段的文本框,text1text8等文本框的READONLY屬性都設(shè)置為.T.;在表單上創(chuàng)建COMBOL1組合框,并設(shè)置屬性,創(chuàng)建COMMANDGROUP1命令按鈕組,并編寫(xiě)CLICK代碼。1.創(chuàng)建組合框combol,按照課本P330頁(yè)設(shè)置屬性 2.Form1的Refresh 事件代碼編寫(xiě)如下: thisform.text1.value="&quo
26、t;thisform.text2.value=""thisform.text3.value=""thisform.text4.value=""thisform.text5.value=0thisform.text6.value=0thisform.text7.value=0thisform.text8.value=0select ljyllocate for 編號(hào)=xld.編號(hào)if found() thisform.text1.value=零件號(hào) thisform.text5.value=數(shù)量endifcontif not eof()
27、 thisform.text2.value=零件號(hào) thisform.text6.value=數(shù)量endifcontif not eof() thisform.text3.value=零件號(hào) thisform.text7.value=數(shù)量endifcontif not eof() thisform.text4.value=零件號(hào) thisform.text8.value=數(shù)量endif 1.創(chuàng)建命令按鈕組并編寫(xiě)如下click代碼。 select xlddo case case this.value=1 if recn()<recc() skip endif case this.value
28、=2 if recn()>1 skip -1 endif case this.value=3 go top case this.value=4 go bott case this.value=5 do form srxldh thisform.release endc thisform.refresh “零件訂貨計(jì)劃”表單(LJDH.SCX)往命令窗口鍵入 MODIFY FORM LJDH,使出現(xiàn)標(biāo)題為L(zhǎng)JDH.SCX的表單設(shè)計(jì)器窗口;創(chuàng)建LABEL1標(biāo)簽和LIST1列表框,并設(shè)置屬性;創(chuàng)建變量屬性JD(表示“季度”);為L(zhǎng)IST1的INIT事件和DBLCLICK事件編寫(xiě)代碼。如下:1.LIST1的LNIT事件代碼編寫(xiě)如下: this.additem("1")this.additem("2")this.additem("3")this.additem("4")(2)LIST1的 DBLCLICK事件代碼編寫(xiě)如下:select ljkccount for 庫(kù)存量<最低庫(kù)存 to jlsif jls
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安陽(yáng)車管預(yù)約管理辦法
- 自動(dòng)監(jiān)控資質(zhì)管理辦法
- 種植設(shè)備設(shè)施管理辦法
- 福建游戲游藝管理辦法
- 育嬰護(hù)理知識(shí)培訓(xùn)課件
- 肥厚型心肌病
- 股票技術(shù)課件
- 原材料管理培訓(xùn)課件
- 肝癌中醫(yī)教學(xué)課件
- 廣東20年高考數(shù)學(xué)試卷
- 公司電子屏管理制度
- 六堡茶知識(shí)課件
- 2025年上海高考英語(yǔ)復(fù)習(xí)必背考綱詞匯手冊(cè)默寫(xiě)
- 2025安全生產(chǎn)法律法規(guī)專題知識(shí)培訓(xùn)
- 2025年全民反詐知識(shí)競(jìng)賽題庫(kù)及答案(共50題)
- 2025年江西省三支一扶考試真題
- 超市安全管理
- 2025年四川省安全員《A證》考試題庫(kù)
- 2024年山東省夏季普通高中學(xué)業(yè)水平合格考試歷史試卷
- 月子中心員工手冊(cè)管理制度
- 2025中考數(shù)學(xué)專項(xiàng)復(fù)習(xí):最值問(wèn)題之瓜豆原理模型(含答案)
評(píng)論
0/150
提交評(píng)論