第1組實(shí)驗(yàn)題
上機(jī)步驟和操作說明
(1)Windows NT用戶注冊(cè),用戶名為個(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ù)庫(kù),錄入數(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ù)庫(kù)文件”。為減少錄入的負(fù)擔(dān),表名、字段名、變量名等盡量不要用漢字,可用英文或漢語(yǔ)拼音。
現(xiàn)有關(guān)于圖書借閱管理數(shù)據(jù)庫(kù)的模式如下:
圖書(書號(hào),書名,作者,單價(jià),數(shù)量)
讀者(讀者號(hào),姓名,年齡,部門)
借閱(書號(hào),讀者號(hào),借書日期,還書標(biāo)記)
讀者與圖書是多對(duì)多聯(lián)系。同一種圖書同日只能借一次、一本。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長(zhǎng)度等根據(jù)語(yǔ)義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
3.編寫一個(gè)供圖書登記入庫(kù)的錄入程序。要求在登記一種圖書后屏幕詢問:“繼續(xù)錄入嗎?”,根據(jù)用戶回答決定程序流程。要求不退出本程序能繼續(xù)進(jìn)行錄入操作。(20分)
4.用FoxPro語(yǔ)言或SQL語(yǔ)言編寫程序完成以下查詢。以下三題依次為15分、20分、20分。
(1)列出全部圖書目錄,包括書號(hào)、書名、作者、單價(jià),且在最后一行顯示:
圖書的平均單價(jià)為 xxxx元。
(2)列出讀者所借閱過的圖書的書號(hào)、書名,重復(fù)的書只允許出現(xiàn)一次。
(3)列出借書逾期(超過30天)未還者的讀者清單,內(nèi)容包括讀者號(hào)、姓名和書號(hào)。
第1組實(shí)驗(yàn)題
現(xiàn)有關(guān)于圖書借閱管理數(shù)據(jù)庫(kù)的模式如下:
圖書(書號(hào),書名,作者,單價(jià),數(shù)量)
讀者(讀者號(hào),姓名,年齡,部門)
借閱(書號(hào),讀者號(hào),借書日期,還書標(biāo)記)
讀者與圖書是多對(duì)多聯(lián)系。同一種圖書同日只能借一次、一本。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長(zhǎng)度等根據(jù)語(yǔ)義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
答:見第1組實(shí)驗(yàn)題答案文件夾。
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
答:見第1組實(shí)驗(yàn)題答案文件夾。
3.編寫一個(gè)供圖書登記入庫(kù)的錄入程序。要求在登記一種圖書后屏幕詢問:“繼續(xù)錄入嗎?”,根據(jù)用戶回答決定程序流程。要求不退出本程序能繼續(xù)進(jìn)行錄入操作。(20分)
答:程序清單如下
set talk off
clear
use 第1組實(shí)驗(yàn)題答案文件夾\tushu
define window w1 from 5,5 to 25,75 system title “圖書登記錄入窗口”;
close float grow zoom minimize
define window w2 from 10,10 to 15,50 in window w1 system title “對(duì)話窗口”;
close float grow zoom minimize
dimension a(5)
action=.t.
answer=.t.
do while action
scatter to a blank
activate window w1
do while .t.
clear
@ 1,5 say “書號(hào):” get a(1)
@ 1,35 say “書名:” get a(2)
@ 3,5 say “作者:” get a(3)
@ 3,35 say “單價(jià):” get a(4)
@ 5,5 say “數(shù)量:” get a(5)
read
activate window w2
@ 1,5 say “輸入正確嗎?[Y/N]” get answer picture “L”
read
if answer
append blank
gather from a
exit
else
deactivate window w2
loop
endif
enddo
@ 1,5 say “還繼續(xù)錄入嗎?[Y/N]” get action picture “L”
read
deactivate window w2
enddo
use
deactivate window w1,w2
return
4.用FoxPro語(yǔ)言或SQL語(yǔ)言編寫程序完成以下查詢。以下三題依次為15分、20分、20分。
(1)列出全部圖書目錄,包括書號(hào)、書名、作者、單價(jià),且在最后一行顯示:
圖書的平均單價(jià)為 xxxx元。
答:程序清單如下
set talk off
clear
use 第1組實(shí)驗(yàn)題答案文件夾\tushu
list off fields 書號(hào),書名,作者,單價(jià)
average 單價(jià) to ave
? “ 圖書的平均單價(jià)為”+str(ave,6,2)+“元”
use
set talk on
return
(2)列出讀者所借閱過的圖書的書號(hào)、書名,重復(fù)的書只允許出現(xiàn)一次。
答:程序清單如下
set talk off
clear
select 2
use 第1組實(shí)驗(yàn)題答案文件夾\tushu index 第1組實(shí)驗(yàn)題答案文件夾\tushu1
select 1
use 第1組實(shí)驗(yàn)題答案文件夾\jieyu
index on 書號(hào) to 第1組實(shí)驗(yàn)題答案文件夾\jieyu0 unique
set relation to 書號(hào) into B
list off fields 書號(hào),b.書名,b.作者,b.單價(jià)
close databases
set talk on
return
(3)列出借書逾期(超過30天)未還者的讀者清單,內(nèi)容包括讀者號(hào)、姓名和書號(hào)。
答:程序清單如下
set talk off
clear
select 2
use 第1組實(shí)驗(yàn)題答案文件夾\duzhe index 第1組實(shí)驗(yàn)題答案文件夾\duzhe1
select 1
use 第1組實(shí)驗(yàn)題答案文件夾\jieyu index 第1組實(shí)驗(yàn)題答案文件夾\jieyu2
set relation to 讀者號(hào) into B
list off fields 讀者號(hào),b.姓名,書號(hào) for (date()-借書日期-36525)>30 and (not 還書標(biāo)記)
close databases
set talk on
return
第2組實(shí)驗(yàn)題
上機(jī)步驟和操作說明
(1)Windows NT用戶注冊(cè),用戶名為個(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ù)庫(kù),錄入數(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ù)庫(kù)文件”。為減少錄入的負(fù)擔(dān),表名、字段名、變量名等盡量不要用漢字,可用英文或漢語(yǔ)拼音。
現(xiàn)有關(guān)于倉(cāng)庫(kù)管理數(shù)據(jù)庫(kù)的模式如下:
倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),面積,地址,管理員)
貨物(貨號(hào),貨物名,單價(jià),重量)
存放(倉(cāng)庫(kù)號(hào),貨物號(hào),數(shù)量)
倉(cāng)庫(kù)與貨物是多對(duì)多聯(lián)系。一個(gè)倉(cāng)庫(kù)只設(shè)一名管理員。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長(zhǎng)度等根據(jù)語(yǔ)義和查詢的需要自行決定。根據(jù)查詢需要建立索引。 (15分)
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。 (10分)
3.編寫一個(gè)菜單程序。水平菜單項(xiàng)為:錄入、刪除、修改、查詢。要求選擇前三個(gè)菜單項(xiàng)后分別執(zhí)行程序p_insert.prg、p_delete.prg和p_update.prg;選擇查詢菜單項(xiàng)后彈出下級(jí)菜單,其菜單項(xiàng)為:順序查詢、索引查詢。 (20分)
4.用FoxPro語(yǔ)言或SQL語(yǔ)言編寫程序完成以下查詢。(以下三題依次為15分、20分、20分)
(1)列出倉(cāng)庫(kù)清單,要包含所有倉(cāng)庫(kù)的所有屬性,且在最后一行顯示:
所有倉(cāng)庫(kù)的總面積為 xxxxx平方米。
(2)列出各個(gè)倉(cāng)庫(kù)的庫(kù)存情況清單,包括的數(shù)據(jù)項(xiàng)為倉(cāng)庫(kù)號(hào)、貨號(hào)、貨物名、(每種)貨物的總價(jià)。重量小于50千克的貨物不在其內(nèi)。以倉(cāng)庫(kù)號(hào)為第一序、貨物號(hào)為第二序,升序排列。
(3)列出每個(gè)倉(cāng)庫(kù)的倉(cāng)庫(kù)號(hào),以及每個(gè)倉(cāng)庫(kù)單位面積內(nèi)所承受的平均重量,并按平均承重值從大到小排序。
上機(jī)步驟和操作說明
(1)Windows NT用戶注冊(cè),用戶名為個(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ù)庫(kù),錄入數(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ù)庫(kù)文件”。為減少錄入的負(fù)擔(dān),表名、字段名、變量名等盡量不要用漢字,可用英文或漢語(yǔ)拼音。
現(xiàn)有關(guān)于圖書借閱管理數(shù)據(jù)庫(kù)的模式如下:
圖書(書號(hào),書名,作者,單價(jià),數(shù)量)
讀者(讀者號(hào),姓名,年齡,部門)
借閱(書號(hào),讀者號(hào),借書日期,還書標(biāo)記)
讀者與圖書是多對(duì)多聯(lián)系。同一種圖書同日只能借一次、一本。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長(zhǎng)度等根據(jù)語(yǔ)義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
3.編寫一個(gè)供圖書登記入庫(kù)的錄入程序。要求在登記一種圖書后屏幕詢問:“繼續(xù)錄入嗎?”,根據(jù)用戶回答決定程序流程。要求不退出本程序能繼續(xù)進(jìn)行錄入操作。(20分)
4.用FoxPro語(yǔ)言或SQL語(yǔ)言編寫程序完成以下查詢。以下三題依次為15分、20分、20分。
(1)列出全部圖書目錄,包括書號(hào)、書名、作者、單價(jià),且在最后一行顯示:
圖書的平均單價(jià)為 xxxx元。
(2)列出讀者所借閱過的圖書的書號(hào)、書名,重復(fù)的書只允許出現(xiàn)一次。
(3)列出借書逾期(超過30天)未還者的讀者清單,內(nèi)容包括讀者號(hào)、姓名和書號(hào)。
第1組實(shí)驗(yàn)題
現(xiàn)有關(guān)于圖書借閱管理數(shù)據(jù)庫(kù)的模式如下:
圖書(書號(hào),書名,作者,單價(jià),數(shù)量)
讀者(讀者號(hào),姓名,年齡,部門)
借閱(書號(hào),讀者號(hào),借書日期,還書標(biāo)記)
讀者與圖書是多對(duì)多聯(lián)系。同一種圖書同日只能借一次、一本。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長(zhǎng)度等根據(jù)語(yǔ)義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
答:見第1組實(shí)驗(yàn)題答案文件夾。
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
答:見第1組實(shí)驗(yàn)題答案文件夾。
3.編寫一個(gè)供圖書登記入庫(kù)的錄入程序。要求在登記一種圖書后屏幕詢問:“繼續(xù)錄入嗎?”,根據(jù)用戶回答決定程序流程。要求不退出本程序能繼續(xù)進(jìn)行錄入操作。(20分)
答:程序清單如下
set talk off
clear
use 第1組實(shí)驗(yàn)題答案文件夾\tushu
define window w1 from 5,5 to 25,75 system title “圖書登記錄入窗口”;
close float grow zoom minimize
define window w2 from 10,10 to 15,50 in window w1 system title “對(duì)話窗口”;
close float grow zoom minimize
dimension a(5)
action=.t.
answer=.t.
do while action
scatter to a blank
activate window w1
do while .t.
clear
@ 1,5 say “書號(hào):” get a(1)
@ 1,35 say “書名:” get a(2)
@ 3,5 say “作者:” get a(3)
@ 3,35 say “單價(jià):” get a(4)
@ 5,5 say “數(shù)量:” get a(5)
read
activate window w2
@ 1,5 say “輸入正確嗎?[Y/N]” get answer picture “L”
read
if answer
append blank
gather from a
exit
else
deactivate window w2
loop
endif
enddo
@ 1,5 say “還繼續(xù)錄入嗎?[Y/N]” get action picture “L”
read
deactivate window w2
enddo
use
deactivate window w1,w2
return
4.用FoxPro語(yǔ)言或SQL語(yǔ)言編寫程序完成以下查詢。以下三題依次為15分、20分、20分。
(1)列出全部圖書目錄,包括書號(hào)、書名、作者、單價(jià),且在最后一行顯示:
圖書的平均單價(jià)為 xxxx元。
答:程序清單如下
set talk off
clear
use 第1組實(shí)驗(yàn)題答案文件夾\tushu
list off fields 書號(hào),書名,作者,單價(jià)
average 單價(jià) to ave
? “ 圖書的平均單價(jià)為”+str(ave,6,2)+“元”
use
set talk on
return
(2)列出讀者所借閱過的圖書的書號(hào)、書名,重復(fù)的書只允許出現(xiàn)一次。
答:程序清單如下
set talk off
clear
select 2
use 第1組實(shí)驗(yàn)題答案文件夾\tushu index 第1組實(shí)驗(yàn)題答案文件夾\tushu1
select 1
use 第1組實(shí)驗(yàn)題答案文件夾\jieyu
index on 書號(hào) to 第1組實(shí)驗(yàn)題答案文件夾\jieyu0 unique
set relation to 書號(hào) into B
list off fields 書號(hào),b.書名,b.作者,b.單價(jià)
close databases
set talk on
return
(3)列出借書逾期(超過30天)未還者的讀者清單,內(nèi)容包括讀者號(hào)、姓名和書號(hào)。
答:程序清單如下
set talk off
clear
select 2
use 第1組實(shí)驗(yàn)題答案文件夾\duzhe index 第1組實(shí)驗(yàn)題答案文件夾\duzhe1
select 1
use 第1組實(shí)驗(yàn)題答案文件夾\jieyu index 第1組實(shí)驗(yàn)題答案文件夾\jieyu2
set relation to 讀者號(hào) into B
list off fields 讀者號(hào),b.姓名,書號(hào) for (date()-借書日期-36525)>30 and (not 還書標(biāo)記)
close databases
set talk on
return
第2組實(shí)驗(yàn)題
上機(jī)步驟和操作說明
(1)Windows NT用戶注冊(cè),用戶名為個(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ù)庫(kù),錄入數(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ù)庫(kù)文件”。為減少錄入的負(fù)擔(dān),表名、字段名、變量名等盡量不要用漢字,可用英文或漢語(yǔ)拼音。
現(xiàn)有關(guān)于倉(cāng)庫(kù)管理數(shù)據(jù)庫(kù)的模式如下:
倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),面積,地址,管理員)
貨物(貨號(hào),貨物名,單價(jià),重量)
存放(倉(cāng)庫(kù)號(hào),貨物號(hào),數(shù)量)
倉(cāng)庫(kù)與貨物是多對(duì)多聯(lián)系。一個(gè)倉(cāng)庫(kù)只設(shè)一名管理員。
要求完成如下操作:
1.按題目要求建立表結(jié)構(gòu),各表各個(gè)字段的名字、數(shù)據(jù)類型、長(zhǎng)度等根據(jù)語(yǔ)義和查詢的需要自行決定。根據(jù)查詢需要建立索引。 (15分)
2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項(xiàng)的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。 (10分)
3.編寫一個(gè)菜單程序。水平菜單項(xiàng)為:錄入、刪除、修改、查詢。要求選擇前三個(gè)菜單項(xiàng)后分別執(zhí)行程序p_insert.prg、p_delete.prg和p_update.prg;選擇查詢菜單項(xiàng)后彈出下級(jí)菜單,其菜單項(xiàng)為:順序查詢、索引查詢。 (20分)
4.用FoxPro語(yǔ)言或SQL語(yǔ)言編寫程序完成以下查詢。(以下三題依次為15分、20分、20分)
(1)列出倉(cāng)庫(kù)清單,要包含所有倉(cāng)庫(kù)的所有屬性,且在最后一行顯示:
所有倉(cāng)庫(kù)的總面積為 xxxxx平方米。
(2)列出各個(gè)倉(cāng)庫(kù)的庫(kù)存情況清單,包括的數(shù)據(jù)項(xiàng)為倉(cāng)庫(kù)號(hào)、貨號(hào)、貨物名、(每種)貨物的總價(jià)。重量小于50千克的貨物不在其內(nèi)。以倉(cāng)庫(kù)號(hào)為第一序、貨物號(hào)為第二序,升序排列。
(3)列出每個(gè)倉(cāng)庫(kù)的倉(cāng)庫(kù)號(hào),以及每個(gè)倉(cāng)庫(kù)單位面積內(nèi)所承受的平均重量,并按平均承重值從大到小排序。