第3組實(shí)驗(yàn)題
上機(jī)步驟和操作說明
(1)Windows NT用戶注冊,用戶名為個(gè)人賬號(hào),口令欄直接按回車。
(2)進(jìn)入Visual FoxPro(VFP)系統(tǒng)環(huán)境,中途不要退出。
(3)在VFP命令窗口中鍵入以下兩條命令:
SET DEFAULT TO Z:\<目錄名> (目錄名即你的賬號(hào),目錄已建好)
SET SAFETY OFF
第一條命令的目的是設(shè)置你的缺省工作目錄,這樣,操作命令中就不要再帶路徑名。
(4)按題目要求創(chuàng)建數(shù)據(jù)庫,錄入數(shù)據(jù),編寫程序。
(5)在程序編輯器窗口錄入、修改程序,編輯完畢,保存后再執(zhí)行。
(6)第3題和第4題的各小題,都要分別保存為一個(gè)程序文件。文件名要用“賬號(hào)+題號(hào)”命名,例如:C100_3,表示是C100賬戶的第3題的程序。C108_4_2表示是C108賬戶的第4題的第(2)小題的程序。
(7)做題次序不限,實(shí)現(xiàn)方法不限。題目中所謂的“表”即指“數(shù)據(jù)庫文件”。為減少錄入的負(fù)擔(dān),表名、字段名、變量名等盡量不要用漢字,可用英文或漢語拼音。
現(xiàn)有關(guān)于工資管理數(shù)據(jù)庫的模式如下:
職工(職工號(hào),姓名,出生日期,職級(jí))
職務(wù)(職級(jí),職務(wù),工資,補(bǔ)貼)
扣除(職工號(hào),房租,水費(fèi),電費(fèi))
職工的收入與職級(jí)直接掛鉤。職級(jí)與職務(wù)一一對(duì)應(yīng),假設(shè)1級(jí)干部為處長,2級(jí)干部為副處長,等等。每個(gè)職工收入的扣除部分每月更新一次。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長度等根據(jù)語義和查詢的需要自行決定。根據(jù)查詢需要建立索引。 (15分)
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。 (10分)
3.編寫一個(gè)工資單打印程序。假設(shè)各項(xiàng)數(shù)據(jù)已計(jì)算完畢,并存放于表payroll.dbf中。工資單格式如下。表格線可只畫橫線,不畫豎線。 (20分)
部門號(hào) 職工號(hào) 姓名 工資 補(bǔ)貼 扣除 實(shí)發(fā)工資
01 01 WANG
……
02 05 CHEN
……
4.用FoxPro語言或SQL語言編寫程序完成以下查詢。(15分、20分、20分)
(1)列出職工名單,要包含所有職工的全部屬性,且在最后一行顯示:
處級(jí)干部的平均年齡為 xx 歲。
(處級(jí)干部是指職務(wù)為處長、副處長的職工)
(2)為打印工資單準(zhǔn)備好數(shù)據(jù),存入表payroll.dbf中。其中“扣除”一欄的數(shù)據(jù),用“扣除”關(guān)系所提供的數(shù)據(jù)來更新。
(3)列出按部門工資匯總清單,格式如下:
部門號(hào) 工資 補(bǔ)貼 扣除 實(shí)發(fā)工資
01
02
……
總合計(jì)
第3組實(shí)驗(yàn)題
現(xiàn)有關(guān)于工資管理數(shù)據(jù)庫的模式如下:
職工(職工號(hào),姓名,出生日期,職級(jí))
職務(wù)(職級(jí),職務(wù),工資,補(bǔ)貼)
扣除(職工號(hào),房租,水費(fèi),電費(fèi))
職工的收入與職級(jí)直接掛鉤。職級(jí)與職務(wù)一一對(duì)應(yīng),假設(shè)1級(jí)干部為處長,2級(jí)干部為副處長,等等。每個(gè)職工收入的扣除部分每月更新一次。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長度等根據(jù)語義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
答:見第3組實(shí)驗(yàn)題答案文件夾。
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
答:見第3組實(shí)驗(yàn)題答案文件夾。
3.編寫一個(gè)工資單打印程序。假設(shè)各項(xiàng)數(shù)據(jù)已計(jì)算完畢,并存放于表payroll.dbf中。工資單格式如下。表格線可只畫橫線,不畫豎線。(20分)
部門號(hào) 職工號(hào) 姓名 工資 補(bǔ)貼 扣除 實(shí)發(fā)工資
01 01 WANG
……
02 05 CHEN
……
答:程序清單如下
clear
set talk off
use 第3組實(shí)驗(yàn)題答案文件夾\payroll
@ 0,1 say “─────────────────────────────”
@ 1,1 say “部門號(hào)”
@ 1,8 say “職工號(hào)”
@ 1,15 say “姓名”
@ 1,23 say “工資”
@ 1,33 say “補(bǔ)貼”
@ 1,43 say “扣除”
@ 1,52 say “實(shí)發(fā)工資”
@ 2,1 say “─────────────────────────────”
i=1
scan
i=i+2
@ i,1 get 部門號(hào)
@ i,8 get 職工號(hào)
@ i,15 get 姓名
@ i,23 get 工資
@ i,33 get 補(bǔ)貼
@ i,43 get 扣除
@ i,52 get 實(shí)發(fā)工資
@ i+1,1 say “─────────────────────────────”
endscan
use
set talk on
return
4.用FoxPro語言或SQL語言編寫程序完成以下查詢。(15分、20分、20分)
(1)列出職工名單,要包含所有職工的全部屬性,且在最后一行顯示:
處級(jí)干部的平均年齡為 xx 歲。
(處級(jí)干部是指職務(wù)為處長、副處長的職工)
答:程序清單如下
clear
set talk off
select 2
use 第3組實(shí)驗(yàn)題答案文件夾\zhiwu index 第3組實(shí)驗(yàn)題答案文件夾\zhiwu0
select 1
use 第3組實(shí)驗(yàn)題答案文件夾\zhigong index 第3組實(shí)驗(yàn)題答案文件夾\zhigong1
set relation to 職級(jí) into b
average date()-出生日期 for 職級(jí)=“1級(jí)” or 職級(jí)=“2級(jí)” to ave
list 職工號(hào),姓名,出生日期,職級(jí),b.職務(wù),b.工資,b.補(bǔ)貼
? “ 處級(jí)干部的平均年齡為”+str(ave/365,2)+“歲”
close databases
set talk on
return
上機(jī)步驟和操作說明
(1)Windows NT用戶注冊,用戶名為個(gè)人賬號(hào),口令欄直接按回車。
(2)進(jìn)入Visual FoxPro(VFP)系統(tǒng)環(huán)境,中途不要退出。
(3)在VFP命令窗口中鍵入以下兩條命令:
SET DEFAULT TO Z:\<目錄名> (目錄名即你的賬號(hào),目錄已建好)
SET SAFETY OFF
第一條命令的目的是設(shè)置你的缺省工作目錄,這樣,操作命令中就不要再帶路徑名。
(4)按題目要求創(chuàng)建數(shù)據(jù)庫,錄入數(shù)據(jù),編寫程序。
(5)在程序編輯器窗口錄入、修改程序,編輯完畢,保存后再執(zhí)行。
(6)第3題和第4題的各小題,都要分別保存為一個(gè)程序文件。文件名要用“賬號(hào)+題號(hào)”命名,例如:C100_3,表示是C100賬戶的第3題的程序。C108_4_2表示是C108賬戶的第4題的第(2)小題的程序。
(7)做題次序不限,實(shí)現(xiàn)方法不限。題目中所謂的“表”即指“數(shù)據(jù)庫文件”。為減少錄入的負(fù)擔(dān),表名、字段名、變量名等盡量不要用漢字,可用英文或漢語拼音。
現(xiàn)有關(guān)于工資管理數(shù)據(jù)庫的模式如下:
職工(職工號(hào),姓名,出生日期,職級(jí))
職務(wù)(職級(jí),職務(wù),工資,補(bǔ)貼)
扣除(職工號(hào),房租,水費(fèi),電費(fèi))
職工的收入與職級(jí)直接掛鉤。職級(jí)與職務(wù)一一對(duì)應(yīng),假設(shè)1級(jí)干部為處長,2級(jí)干部為副處長,等等。每個(gè)職工收入的扣除部分每月更新一次。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長度等根據(jù)語義和查詢的需要自行決定。根據(jù)查詢需要建立索引。 (15分)
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。 (10分)
3.編寫一個(gè)工資單打印程序。假設(shè)各項(xiàng)數(shù)據(jù)已計(jì)算完畢,并存放于表payroll.dbf中。工資單格式如下。表格線可只畫橫線,不畫豎線。 (20分)
部門號(hào) 職工號(hào) 姓名 工資 補(bǔ)貼 扣除 實(shí)發(fā)工資
01 01 WANG
……
02 05 CHEN
……
4.用FoxPro語言或SQL語言編寫程序完成以下查詢。(15分、20分、20分)
(1)列出職工名單,要包含所有職工的全部屬性,且在最后一行顯示:
處級(jí)干部的平均年齡為 xx 歲。
(處級(jí)干部是指職務(wù)為處長、副處長的職工)
(2)為打印工資單準(zhǔn)備好數(shù)據(jù),存入表payroll.dbf中。其中“扣除”一欄的數(shù)據(jù),用“扣除”關(guān)系所提供的數(shù)據(jù)來更新。
(3)列出按部門工資匯總清單,格式如下:
部門號(hào) 工資 補(bǔ)貼 扣除 實(shí)發(fā)工資
01
02
……
總合計(jì)
第3組實(shí)驗(yàn)題
現(xiàn)有關(guān)于工資管理數(shù)據(jù)庫的模式如下:
職工(職工號(hào),姓名,出生日期,職級(jí))
職務(wù)(職級(jí),職務(wù),工資,補(bǔ)貼)
扣除(職工號(hào),房租,水費(fèi),電費(fèi))
職工的收入與職級(jí)直接掛鉤。職級(jí)與職務(wù)一一對(duì)應(yīng),假設(shè)1級(jí)干部為處長,2級(jí)干部為副處長,等等。每個(gè)職工收入的扣除部分每月更新一次。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長度等根據(jù)語義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
答:見第3組實(shí)驗(yàn)題答案文件夾。
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
答:見第3組實(shí)驗(yàn)題答案文件夾。
3.編寫一個(gè)工資單打印程序。假設(shè)各項(xiàng)數(shù)據(jù)已計(jì)算完畢,并存放于表payroll.dbf中。工資單格式如下。表格線可只畫橫線,不畫豎線。(20分)
部門號(hào) 職工號(hào) 姓名 工資 補(bǔ)貼 扣除 實(shí)發(fā)工資
01 01 WANG
……
02 05 CHEN
……
答:程序清單如下
clear
set talk off
use 第3組實(shí)驗(yàn)題答案文件夾\payroll
@ 0,1 say “─────────────────────────────”
@ 1,1 say “部門號(hào)”
@ 1,8 say “職工號(hào)”
@ 1,15 say “姓名”
@ 1,23 say “工資”
@ 1,33 say “補(bǔ)貼”
@ 1,43 say “扣除”
@ 1,52 say “實(shí)發(fā)工資”
@ 2,1 say “─────────────────────────────”
i=1
scan
i=i+2
@ i,1 get 部門號(hào)
@ i,8 get 職工號(hào)
@ i,15 get 姓名
@ i,23 get 工資
@ i,33 get 補(bǔ)貼
@ i,43 get 扣除
@ i,52 get 實(shí)發(fā)工資
@ i+1,1 say “─────────────────────────────”
endscan
use
set talk on
return
4.用FoxPro語言或SQL語言編寫程序完成以下查詢。(15分、20分、20分)
(1)列出職工名單,要包含所有職工的全部屬性,且在最后一行顯示:
處級(jí)干部的平均年齡為 xx 歲。
(處級(jí)干部是指職務(wù)為處長、副處長的職工)
答:程序清單如下
clear
set talk off
select 2
use 第3組實(shí)驗(yàn)題答案文件夾\zhiwu index 第3組實(shí)驗(yàn)題答案文件夾\zhiwu0
select 1
use 第3組實(shí)驗(yàn)題答案文件夾\zhigong index 第3組實(shí)驗(yàn)題答案文件夾\zhigong1
set relation to 職級(jí) into b
average date()-出生日期 for 職級(jí)=“1級(jí)” or 職級(jí)=“2級(jí)” to ave
list 職工號(hào),姓名,出生日期,職級(jí),b.職務(wù),b.工資,b.補(bǔ)貼
? “ 處級(jí)干部的平均年齡為”+str(ave/365,2)+“歲”
close databases
set talk on
return