




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Visual Foxpro 6.0,程序設(shè)計(jì)基礎(chǔ),重慶工商大學(xué)計(jì)算機(jī)學(xué)院計(jì)算機(jī)基礎(chǔ)教研室,作業(yè)中的問題,、建立關(guān)聯(lián)的步驟 、上機(jī)成績(jī)=“缺考” or “不及格” 、replace all成績(jī)合格否 with “T”; for 筆試成績(jī)=60 and 上機(jī)成績(jī)=優(yōu)秀 or 上機(jī)成績(jī)=及格,第十一講 多表程序及表的多重循環(huán),多表程序 表的多重循環(huán),內(nèi)容提要,多表程序,例(實(shí)驗(yàn)指導(dǎo)書P35):根據(jù)如下兩個(gè)數(shù)據(jù)表,分別設(shè)計(jì)程序完成以下功能。,輸入課程名,查詢?cè)撜n程授課教師姓名和職稱; 統(tǒng)計(jì)每位教師總的課時(shí)費(fèi)。,kc.dbf,js.dbf,方法一: clear accept請(qǐng)輸入查詢課程名稱: to k
2、cm ?課程名:+kcm select 姓名 as 教師姓名,職稱 from js,kc ; where 職工號(hào)=授課教師 and 課程名=kcm to screen return,方法二: clear set safety off sele 1 use js index on 職工號(hào) tag zgh sele 2 use kc set rela to 授課教師 into js accept請(qǐng)輸入查詢課程名稱: to kcm ?課程名:+kcm ?教師姓名 職稱 scan for 課程名=kcm ?a.姓名,space(4),a.職稱 endscan close all set safety
3、on return, 方法一: clear sele 姓名 as 教師姓名,sum(學(xué)時(shí)數(shù))*單位課時(shí)費(fèi) as 課時(shí)費(fèi) ; from js inner join kc on 職工號(hào)=授課教師; group by 授課教師 return,方法二: clear set safety off sele 1 use kc index on 授課教師 tag skjs total on 授課教師 to zks use zks index on 授課教師 to skjs sele 2 use js set rela to 職工號(hào) into a ?教師姓名 課時(shí)費(fèi) scan ?姓名,a.學(xué)時(shí)數(shù)*單位課時(shí)費(fèi)
4、endscan close all set safety on return,例:有一職工代碼表(ZD.DBF),人事信息表(RS.DBF),ZD.DBF 代碼 職稱 013 助理工程師 015 技術(shù)工人 002 工程師 001 高工,RS.DBF 編號(hào) 姓名 性別 職稱 基本工資 工齡工資 扣款 實(shí)發(fā)工資 1041 趙娟 女 013 113.00 13.00 25.70 5101 駱?biāo)?男 002 150.00 21.00 31.51 1030 沈崢 女 015 87.00 5.00 11.00 4103 劉芳 女 001 180.00 25.00 45.60 5130 楊山 男 002 1
5、50.00 15.00 24.00 1025 劉柳 男 013 113.00 8.00 15.00,編一個(gè)程序,完成以下任務(wù): 計(jì)算實(shí)發(fā)工資(實(shí)發(fā)工資=基本工資+工齡工資-扣款)并填入RS.DBF中。 統(tǒng)計(jì)各類職稱的基本工資,工齡工資,扣款,實(shí)發(fā)工資總數(shù)。 顯示統(tǒng)計(jì)結(jié)果,其中統(tǒng)計(jì)表中“高工,工程師,助理工程師,技術(shù)工人”等職稱名字必須通過職工代碼表得到,并以代碼的索引順序顯示,其格式如下: 基本工資 工齡工資 扣款 實(shí)發(fā)工資 高工 . . . . 工程師 . . . . . . . . 合計(jì) . . . .,clea clea all set talk off set safe off sel
6、e 1 use rs replace all 實(shí)發(fā)工資 with 基本工資+工齡工資-扣款 inde on 職稱 tag zcdm total on 職稱 to hz use hz inde on 職稱 tag zcdm sele 2 use zd set rela to 代碼 into hz,該程序涉及到幾個(gè)表,?,RS.DBF HZ.DBF ZD.DBF,一對(duì)一關(guān)系,匯總,? 基本工資 工齡工資 扣款 實(shí)發(fā)工資 scan ?職稱,hz.基本工資,hz.工齡工資,hz.扣款,hz.實(shí)發(fā)工資 endscan ?合計(jì),jb,gl,kk,sf clos all set talk on set sa
7、fe on retu,store 0 to jb,gl,kk,sf,sum hz.基本工資,hz.工齡工資,hz.扣款,hz. 實(shí)發(fā)工資 to jb,gl,kk,sf,jb=jb+ hz.基本工資 gl=gl+ hz.工齡工資 kk=kk+ hz.扣款 sf=sf+ hz.實(shí)發(fā)工資,inde on 代碼 tag dm where stu.學(xué)號(hào)=fam.學(xué)號(hào) and 部門=bm to screen wait 是否還要繼續(xù)?(y/n) to yn enddo retu,(0801)設(shè)有一學(xué)生成績(jī)表STU.DBF對(duì)“編號(hào)”已經(jīng)建立復(fù)合索引。其內(nèi)容如下: 記錄號(hào)編號(hào) 高數(shù) 外語 計(jì)算機(jī) 1070112
8、0909878 20701128857681 30702003778767 40702010506087 50710010657355 60713108768090 學(xué)生編號(hào)的含義是:1-2位代表年級(jí),3-4位代表專業(yè),最后3位代表一個(gè)專業(yè)全部同學(xué)的順序號(hào)。以下程序的功能是分組匯總各專業(yè)同學(xué)各門功課的總成績(jī)和三門課程的總成績(jī),按順序輸出它們。請(qǐng)?zhí)羁胀瓿伞?SET TALK OFF USE STU SET ORDER TO ? 專業(yè)編號(hào)高數(shù)外語計(jì)算機(jī)總分 DO WHILE not eof() STORE 0 TO K1,K2,K3 BH=substr(編號(hào),3,2) DO WHILE subst
9、r(編號(hào),3,2)=BH AND K1=K1+高數(shù) K2=K2+外語 K3=K3+計(jì)算機(jī) SKIP ENDDO ? ENDDO USE,tag 編號(hào),BH,K1,K2,K3,K1+K2+K3,not eof(),(0802)設(shè)有職工表和獎(jiǎng)金表的表結(jié)構(gòu)如下: 職工表(zg.dbf):職工號(hào)(C,7)(無重復(fù)值),姓名(C,6),工作日期(D)。 獎(jiǎng)金表(jj.dbf):職工號(hào)(C,7)(無重復(fù)值),部門號(hào)(C,4)(有重復(fù)值),獎(jiǎng)金(N,5,1)。 按如下要求編寫一個(gè)程序: 根據(jù)以上兩個(gè)表,可以通過鍵盤任意輸入一個(gè)部門號(hào)(按回車鍵結(jié)束),按獎(jiǎng)金從高到低顯示該部門的職工姓名、工作年限(=系統(tǒng)當(dāng)前日
10、期的年份值-工作日期的年份值)及獎(jiǎng)金,顯示格式如下: 職工姓名 工作年限 獎(jiǎng)金 ,解法一: clear clear all set safe off select 1 use zg inde on 職工號(hào) tag xh (2分) select 2 use jj set relation to 職工號(hào) into zg inde on 獎(jiǎng)金 tag jj desc (1分) do while .t. accept 輸入部門號(hào): to bmh if len(allt(bmh)=0 (3分) exit endif ? 職工姓名 工作年限 獎(jiǎng)金,Scan for 部門號(hào)=bmh (4分) ?zg.姓名,
11、 year(date()-year(zg.工作日期),獎(jiǎng)金 Endscan Enddo close all set safe on return,解法二: clear do while .t. accept 輸入部門號(hào): to bmh (3分) if len(allt(bmh)=0 exit endif select 姓名,year(date()-year(zg.工作日期) as工作年限,獎(jiǎng)金 from zg,jj; (3分)where zg.職工號(hào)=jj.職工號(hào) and 部門號(hào)=bmh; (5分) order by 獎(jiǎng)金 desc (7分) Enddo,(0702)已知兩個(gè)數(shù)據(jù)表:學(xué)生檔案表
12、XSDA.dbf,有學(xué)號(hào)、姓名、專業(yè)班級(jí)(均為字符型)等字段和學(xué)生成績(jī)表XSCJ.dbf,有學(xué)號(hào)(有重復(fù)值)、課程名、成績(jī)(數(shù)值型)等字段。 編寫一程序,通過反復(fù)輸入學(xué)生的學(xué)號(hào)(輸入回車鍵退出),查詢學(xué)生的姓名,專業(yè)班級(jí),課程名以及成績(jī)情況。,方法1:利用VFP語言實(shí)現(xiàn) clear set safety off clear all sele 1 use XSDA index on 學(xué)號(hào) tag xh sele 2 use XSCJ set relation to 學(xué)號(hào) into xsda,do while .T. accept 請(qǐng)輸入學(xué)生的學(xué)號(hào): to xh if len(alltrim(xh
13、)=0 exit endif ?姓名 專業(yè)班級(jí) 課程名 成績(jī) scan for 學(xué)號(hào)=xh ?xsda.姓名,xsda.專業(yè)班級(jí),課程名,成績(jī) endscan enddo close all set safety on return,方法2:利用select-sql語言實(shí)現(xiàn) Close all clear Do while .T. accept 請(qǐng)輸入學(xué)生的學(xué)號(hào): to xh if len(alltrim(xh)=0 exit endif Select 姓名,專業(yè)班級(jí),課程名,成績(jī); from xscj,xsda where xsda.學(xué)號(hào)=xh and xscj.學(xué)號(hào)=xsda.學(xué)號(hào) to
14、screen enddo,(0701)、有營(yíng)業(yè)員數(shù)據(jù)表文件YYY.DBF和日銷售數(shù)據(jù)表文件RXS.DBF *YYY.DBF 營(yíng)業(yè)員代碼 姓名 性別 101 天涯 女 102 海角 男 103 風(fēng)聲 男 水起 女 *RXS.DBF 營(yíng)業(yè)員代碼 品名 數(shù)量 單價(jià) 營(yíng)業(yè)額 101 電視 3 1230.40 0000.00 102 電話 4 223.00 0000.00 101 電扇 5 334.00 0000.00 103 電話 3 223.00 0000.00 102 電視 1 1230.40 0000.00,編程要求:(1)計(jì)算出RXS.DBF中的營(yíng)業(yè)額字段的值。注:營(yíng)業(yè)額=數(shù)量*單價(jià) (2)根據(jù)用戶輸入的營(yíng)業(yè)員代碼查詢某個(gè)營(yíng)業(yè)員的全天營(yíng)業(yè)額,按如下格式顯示: 代碼:101 姓名:天涯 性別: 女 品名 營(yíng)業(yè)額 電視 3691.20 電扇 1670.00 營(yíng)業(yè)額: 5361.20,clear select 1 use rxs replace all 營(yíng)業(yè)額 with 數(shù)量*單價(jià) select 2 use yyy index on 營(yíng)業(yè)員代碼 tag dm select rxs set relation to 營(yíng)業(yè)員代碼 into yyy accept “輸入營(yíng)業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋租賃合同分期付款
- 三農(nóng)村基礎(chǔ)設(shè)施改善工程方案
- 項(xiàng)目時(shí)間線及進(jìn)度表制定
- 中外貨物買賣合同書
- 農(nóng)行個(gè)人貸款合同
- 橋梁加寬加固施工方案
- 維修補(bǔ)漏施工方案
- 路基清表施工方案
- TCSHB 0021-2024 全自動(dòng)真空焊接爐設(shè)備軟件技術(shù)規(guī)范
- 玻璃鋼保溫管道施工方案
- CPK計(jì)算表格EXCEL模板
- 人教部編版九年級(jí)歷史上冊(cè)第4課 希臘城邦和亞歷山大帝國(guó)(共26張PPT)
- 主要用能設(shè)備臺(tái)賬
- 中學(xué)生學(xué)習(xí)方法主題班會(huì)ppt課件
- 輕松游戲——武松打虎
- 人生900格(已調(diào)整為一頁A4紙)
- 世界給了我什么作文【初中初二700字】
- 《中國(guó)河流和湖泊》填圖
- 全民所有制企事業(yè)單位專業(yè)技術(shù)人員和管理人員辭職暫行規(guī)定
- 百數(shù)表(含20以內(nèi)退位減法)A4可打印
- 公司危險(xiǎn)廢物管理制度.doc
評(píng)論
0/150
提交評(píng)論