VF課程設(shè)計(jì)點(diǎn)名系統(tǒng)-VF課程設(shè)計(jì)-VisualFoxPro課程設(shè)計(jì)-VFP課程設(shè)計(jì)
《VF課程設(shè)計(jì)點(diǎn)名系統(tǒng)-VF課程設(shè)計(jì)-VisualFoxPro課程設(shè)計(jì)-VFP課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《VF課程設(shè)計(jì)點(diǎn)名系統(tǒng)-VF課程設(shè)計(jì)-VisualFoxPro課程設(shè)計(jì)-VFP課程設(shè)計(jì)(22頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 VF課程設(shè)計(jì)-點(diǎn)名系統(tǒng) NO. 22 點(diǎn)名系統(tǒng)方案設(shè)計(jì) 1、課程設(shè)計(jì)的目的 數(shù)據(jù)庫基礎(chǔ)及應(yīng)用是一門實(shí)用性很強(qiáng)的學(xué)科,是進(jìn)行軟件開發(fā)的主要基礎(chǔ)。只有進(jìn)行實(shí)際操作,才能將理論知識(shí)和實(shí)際應(yīng)用有機(jī)地結(jié)合起來,鍛煉學(xué)生分析解決問題得能力,提高學(xué)生實(shí)際運(yùn)用的技能,為日后工作中的軟件開發(fā)打下良好的基礎(chǔ)。 VFP是微軟公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它是一種地形的第四代計(jì)算機(jī)語言,VFP全面支持可視化編程和面向?qū)ο蟮木幊蹋亲顬槭褂玫臄?shù)據(jù)庫管理系統(tǒng)和中小型數(shù)據(jù)庫應(yīng)用系統(tǒng)的軟件開發(fā)之一,它為數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用軟件開發(fā)而設(shè)計(jì),是功能強(qiáng)大的面向?qū)ο蟮?/p>
2、軟件。本課程設(shè)計(jì)結(jié)合數(shù)據(jù)庫內(nèi)容,運(yùn)用VFP設(shè)計(jì),使學(xué)生掌握數(shù)據(jù)庫基礎(chǔ)內(nèi)容。 2、需求分析 2.1需求 在大學(xué)課堂中,課堂提問是上課環(huán)節(jié)中不可缺少的部分,也是教師與學(xué)生課堂互動(dòng),交流,最直接的方式。但在大學(xué)的課堂中缺存在一些問題。 對(duì)于學(xué)生來說,現(xiàn)在在大學(xué)生心理普遍的思想是:“千萬別點(diǎn)我!”,一旦被老師點(diǎn)到則:“哎呀媽呀!今天點(diǎn)子真背!那么多人,怎么就點(diǎn)到我了呢?!"。還有一種情況就是,有些同學(xué)每節(jié)課都被提問,有些同學(xué)整個(gè)學(xué)期都得不到一次提問機(jī)會(huì)。 對(duì)于教師來說,同樣存在一些提問上的問題。老師每次提問之前都會(huì)拿著點(diǎn)名表看了又看:“點(diǎn)誰好呢?”面對(duì)幾百人的課堂想在其中“公平的”選
3、出回答問題的同學(xué),這是令我們教師非常頭疼的事情。 針對(duì)上述問題,提出程序設(shè)計(jì)需求如下: (1)此程序可以公平的選出提問的同學(xué) (2)此程序可以排除掉已經(jīng)被提問過的同學(xué) (3)此程序可以從提問次數(shù)少的同學(xué)中選一同學(xué) (4)此程序可以為多個(gè)班級(jí)的同學(xué)提供點(diǎn)名服務(wù) (5)此程序最后可以打印出一個(gè)學(xué)期整體提問次數(shù)和分?jǐn)?shù) (6)此程序可以提供最多的點(diǎn)名次數(shù)不少于15次 2.2分析 首先,內(nèi)部程序需要班級(jí)名次表作為點(diǎn)名表;對(duì)于公平的提問這一需求,可以使用VF自帶的隨機(jī)數(shù)函數(shù),隨機(jī)數(shù)函數(shù)可以返回一個(gè)隨機(jī)值,將這個(gè)隨機(jī)值作為學(xué)號(hào)來進(jìn)行提問。每個(gè)班級(jí)每節(jié)課都配置一張?zhí)釂柋?,這樣
4、就可以為多個(gè)班級(jí)多個(gè)課程提供點(diǎn)名服務(wù)。 其次,對(duì)于“排除提問過的同學(xué)”這一需求可以這樣滿足:將點(diǎn)名表增加一個(gè)特殊的字段,把提問過的同學(xué)對(duì)應(yīng)的字段做標(biāo)記,用判斷語句判斷如果特殊字段已經(jīng)做了標(biāo)記則下次不在提問。對(duì)于“從提問次數(shù)少的同學(xué)中選一個(gè)”需求可以這樣滿足:在點(diǎn)名表中增加一個(gè)次數(shù)字段,每次點(diǎn)名到時(shí),將次數(shù)字段增加1次,點(diǎn)名時(shí)先中表中找到次數(shù)字段最少的同學(xué)提問,在使用隨機(jī)函數(shù)隨機(jī)選出一名同學(xué)。 最后,在程序中增加報(bào)表功能,報(bào)表中包括次次數(shù)、總分等滿足需求,對(duì)于“次數(shù)不少于15次”的需求,可以將表增加序列次數(shù)字段,每次提問都將獲得的分?jǐn)?shù)存放到相應(yīng)的次數(shù)中。 3、設(shè)計(jì)方案論證 3.1系統(tǒng)
5、結(jié)構(gòu) 3.2核心算法 3.2.1隨機(jī)數(shù)算法 在本程序中多次用到了隨機(jī)函數(shù),在VF中的rand()函數(shù)只能返回(0,1)之間的隨機(jī)數(shù),并不能返回我們需要的“學(xué)號(hào)”,因此我們必須對(duì)rand()函數(shù)做適當(dāng)?shù)牟僮?,使其返回我們需要的“學(xué)號(hào)”。分析,假如一個(gè)班級(jí)有40名同學(xué),那么隨機(jī)數(shù)算法給我們返回的數(shù)的范圍一定是在0~40之間。假如一個(gè)班級(jí)有100名同學(xué),那么隨機(jī)數(shù)算法給我們返回的數(shù)的范圍一定是在0~100之間。因此根據(jù)數(shù)學(xué)算法,將rand()進(jìn)行變形。 X=int(10000*rand()%(max-mix)+mix) 其中,max為序列的最大值,mix為序列的最小值,X為返回的隨機(jī)數(shù)
6、。 如,一個(gè)班級(jí)有40人,則max的值就為40,mix的值就為1。則X返回的隨機(jī)數(shù)一定在0~40之間。 3.2.2隨機(jī)查找算法 在隨機(jī)輸出“學(xué)號(hào)”時(shí),有一種情況是我們沒有考慮到的:當(dāng)2個(gè)或者很多個(gè)同學(xué)回答的都沒被提問過。換句話說,有n個(gè)同學(xué)的次數(shù)字段相同!那么我們就需要從這些回答次數(shù)相同的同學(xué)中隨機(jī)的選擇一個(gè)!具體算法程序如下,其中X為查找的次數(shù)字段。 located for cishu==X if found() skip int(10000*rand()%(mixx-1)+1) cont endif if found() 顯示此名同學(xué)的信息,
7、定位指針 else go top located for cishu==0 if found() 顯示此名同學(xué)的信息,定位指針 endif endif 下面的流程圖會(huì)幫助理解隨機(jī)查找算法 圖1:隨機(jī)查找算法流程圖 3.2.3中介表思想 在需求中教師不只是教一個(gè)班級(jí),還有很多個(gè)班級(jí),很多課要教,對(duì)點(diǎn)名模塊的設(shè)計(jì)絕對(duì)不能只對(duì)一個(gè)表操作,一定要有很多張表,且可以隨意切換,用戶選擇哪張表,就點(diǎn)哪張表內(nèi)的同學(xué)。首先,將用戶選擇的表所對(duì)應(yīng)的表名存進(jìn)一張“中介表”中;點(diǎn)名時(shí)在從“中介表”中“拿”出對(duì)應(yīng)的表名,再在點(diǎn)名模塊中打開這張表進(jìn)行操作
8、,思想體現(xiàn)如下: biao=thisform.text1.value use mediatable replace c with biao 其中,biao中存放的是用戶想點(diǎn)名的表的名字;mediatable為“中介表”;將biao中的內(nèi)容存放在mediatable的C字段中,每次在使用點(diǎn)名模塊點(diǎn)名的時(shí)候,都必須打開所有對(duì)應(yīng)的表。 use mediatable biao=c close mediatable use &biao 點(diǎn)名主程序 3.2.4臨時(shí)表和數(shù)據(jù)環(huán)境問題 在生成報(bào)表設(shè)計(jì)時(shí),通過用戶輸入想生成報(bào)表的點(diǎn)名表的表名生成報(bào)表。但點(diǎn)名表都是用戶自
9、行創(chuàng)建的,此表當(dāng)然也不在數(shù)據(jù)環(huán)境中,報(bào)表操作時(shí),表必須在當(dāng)前的數(shù)據(jù)環(huán)境中,為了解決這一問題,可以將“臨時(shí)表”、“中介表”思想聯(lián)合到一起,首先新建一個(gè)名為“baobiao“的報(bào)表和一個(gè)叫“baobiao”的臨時(shí)表,將表“baobiao“加入當(dāng)前數(shù)據(jù)環(huán)境中,生成報(bào)表時(shí)運(yùn)行如下代碼: set talk off set safety off biao=thisform.text1.value use baobiao dele all &&邏輯刪除所有記錄 zap
10、 &&物理刪除所有記錄 append from &biao fields xh,xm,cishu,zongfen &&追加表項(xiàng) report form baobiao to print preview &&瀏覽報(bào)表 thisform.release use &biao 首先將表“baobiao“的內(nèi)容刪除,然后將用戶選擇的表中相關(guān)字段的內(nèi)容加載到報(bào) 表“baobiao“中,并瀏覽報(bào)表“baobiao“中的內(nèi)容。 3.3表結(jié)構(gòu)設(shè)計(jì) 3.3.1 Student 表1:student表結(jié)構(gòu) 字段名 類型 寬度 備注
11、xh Xm cishu First Secondd fourth zongfen 數(shù)值型 字符型 數(shù)值型 數(shù)值型 數(shù)值型 數(shù)值型 數(shù)值型 8 10 3 2 2 2 3 用于存放學(xué)生的學(xué)號(hào) 用于存放學(xué)生的姓名 用于存放回答次數(shù) 用于存放回答次數(shù) 用于存放回答次數(shù) 用于存放回答次數(shù) 用于存放總分 3.3.2 Login 表2:login表的結(jié)構(gòu) 字段名 類型 長(zhǎng)度 備注 name password 字符 字符 10 10 用于存放用于的登錄名 用于存放登錄的密碼 3.3.2mediatable 表3:mediat
12、able的結(jié)構(gòu) 字段名 類型 長(zhǎng)度 備注 A B C D 字符 字符 字符 字符 10 10 10 10 用于存放中介變量的臨時(shí)字段 用于存放中介變量的臨時(shí)字段 用于存放中介變量的臨時(shí)字段 用于存放中介變量的臨時(shí)字段 3.4表單設(shè)計(jì) 3.4.1登錄框 圖2:登錄框的表單設(shè)計(jì) 其中的控件信息如下表所示: 表4:登錄框模塊中的控件 控件名 屬性名 屬性值 備注 Label1 Label2 Text1 caption Caption 用戶名 密碼 提示輸入用戶名 提示輸入密碼 Value 接收用戶名 續(xù)表4
13、: Test2 Command1 Command2 Command2 value Caption Caption 登錄 清除 接收用戶密碼 登錄按鈕 清除按鈕 Caption 退出 退出按鈕 以下是登錄框各個(gè)按鈕的click事件: 表5:登錄框代碼表 登錄 清除 退出 name=alltrim(thisform.text1.value) password=alltrim(thisform.text2.value) use login &&在login表里查找 locate for login.name==name and login.passw
14、ord==password if found() thisform.release do form 主頁面 &&打開主頁面 else messagebox("用戶名或密碼不正確","提示") thisform.text2.value="" thisform.text1.value="" thisform.text1.setfocus Endif thisform.text1.value="" thisform.text2.value="" Thisform.release 3.4.2普通點(diǎn)名 圖5:普通點(diǎn)名的表單設(shè)計(jì) 單擊“下一個(gè)”按鈕,可以顯示隨機(jī)函數(shù)返
15、回的隨機(jī)數(shù)。 “下一個(gè)”按鈕的click事件代碼為: use mediatable go top a0=val(mediatable.a) &&將從中介表接收的值存進(jìn)當(dāng)前變量 b0=val(mediatable.b) thisform.label1.caption=alltr(str(10000*rand()%(b0-a0)+a0)) &&隨機(jī)數(shù)算法 3.4.2普通設(shè)置 圖6:普通設(shè)計(jì)的表單設(shè)計(jì) 此表單可以將起始值,終止值存如程序中,單擊“確定”按鈕,完成設(shè)置。 “確定”按鈕的click事件的代碼為: aa=thisform.text1.v
16、alue bb=thisform.text2.value replace a with aa &&將獲得的初始值存進(jìn)表中 replace b with bb messagebox("設(shè)置成功","提示") thisform.release 3.4.3高級(jí)點(diǎn)名 圖7:高級(jí)點(diǎn)名的表單設(shè)計(jì) 單擊“隨便選一個(gè)”按鈕可以隨機(jī)挑選一名同學(xué)。 “隨便選一個(gè)”按鈕的click事件代碼為: use mediatable biao=c thisform.label6.caption="正在使用"+allt(mediatable.c
17、)+"表" &&顯示當(dāng)前使用的表 use mediatable xh=0 publ X use &biao &&利用宏替換打開表 mixx=recc() &&將表中的記錄數(shù)賦給變量mixx x=int(10000*rand()%(mixx-1)+1) &&隨機(jī)產(chǎn)生隨機(jī)數(shù) locate for xh==x if found() thisform.label1.caption="請(qǐng)"+allt(st
18、r(xh))+"號(hào)"+allt(xm)+"同學(xué)回答問題" replace cishu with cishu+1 &&將表中的cishu字段+1 thisform.label2.caption="請(qǐng)為"+allt(str(xh))+"號(hào)同學(xué)打分" thisform.label5.caption="未打分" endif pingjun=(first+secondd+third+fourth+fifth+sixth+seventh+………… +thirtieth)/30 int(pingjun)
19、&&計(jì)算平均分 thisform.label3.caption="這名同學(xué)已經(jīng)獲得"+allt(str(cishu))+"次提問的機(jī)會(huì),平均分為"+allt(str(pingjun))+"分" 單擊“從沒點(diǎn)到的同學(xué)選一個(gè)”按鈕可以隨機(jī)挑選出一個(gè)同學(xué)。 “從沒點(diǎn)到的同學(xué)選一個(gè)”按鈕的click事件代碼為: use mediatable biao=mediatable.c thisform.label6.caption="正在使用"+allt(mediatable.c)+"表" use mediatable xh=0 use &biao
20、 &&利用宏替換打開表 go top mixx=recc() &&將表中的記錄數(shù)賦給變量mixx str(10000*rand()%(mixx-1)+1) &&隨機(jī)產(chǎn)生隨機(jī)數(shù) loca for cishu==0 if found() skip int(10000*rand()%(mixx-1)+1) &&向下條隨機(jī)數(shù)個(gè)記錄 cont endif if found() thisform.label1.caption="請(qǐng)"
21、+allt(str(xh))+"號(hào)"+allt(xm)+"同學(xué)回答問題" replace cishu with cishu+1 thisform.label2.caption="請(qǐng)為"+allt(str(xh))+"號(hào)同學(xué)打分" thisform.label5.caption="未打分" else endif pingjun=(first+secondd+third+fourth+fifth+sixth+seventh+eighth………… +thirtieth)/30 int(pingjun) thisform.label3.caption="
22、這名同學(xué)已經(jīng)獲得"+allt(str(cishu))+"次提問的機(jī)會(huì),平均分為"+allt(str(pingjun))+"分" if eof()==.T. &&如果指針定位到表尾,說明沒有查找到 thisform.label3.caption="同學(xué)們至少被提問了一次,請(qǐng)選擇左側(cè)………提問一個(gè)次數(shù)少的同學(xué)" thisform.label1.caption="" endif 單擊“從次數(shù)少的同學(xué)中選一個(gè)”按鈕可以將隨機(jī)挑選一個(gè)回答次數(shù)少的同學(xué)。 “從次數(shù)少的同學(xué)中選一個(gè)”按鈕的click事件代碼為: use mediatable biao=me
23、diatable.c thisform.label6.caption="正在使用"+allt(mediatable.c)+"表" use mediatable use &biao &&利用宏替換打開表 go top mixx=recc() &&將表中的記錄數(shù)賦給變量mixx mix=cishu skip do while .not.eof() &&利用while循環(huán)找到cishu字段最少的值 if cish
24、u 25、 thisform.label2.caption="請(qǐng)為"+allt(str(xh))+"號(hào)同學(xué)打分"
thisform.label5.caption="未打分"
else
go top
loca for cishu==mix
if found()
thisform.label1.caption="請(qǐng)"+allt(str(xh))+"號(hào)"+allt(xm)+"同學(xué)回答問題"
replace cishu with cishu+1
thisform.label2.caption="請(qǐng)為"+allt(str 26、(xh))+"號(hào)同學(xué)打分"
thisform.label5.caption="未打分"
endif
endif
pingjun=(first+secondd+third+fourth+fifth+sixth+seventh+eight……twentynint+thirtieth)/30
int(pingjun)
thisform.label3.caption="這名同學(xué)已經(jīng)獲得"+allt(str(cishu))+"次提問的機(jī)會(huì),平均分為"+allt(str(pingjun))+"分"
“打分條”按鈕組可以設(shè)置同學(xué)獲得的分?jǐn)?shù)。
“打分條”的cl 27、ick事件代碼為:
do case
case this.value==1
thisform.label5.caption="該同學(xué)將獲得1分" &&每次點(diǎn)擊時(shí),在label5上顯示狀態(tài)
case this.value==2
thisform.label5.caption="該同學(xué)將獲得2分"
case this.value==3
thisform.label5.caption="該同學(xué)將獲得3分"
case this.value==4
t 28、hisform.label5.caption="該同學(xué)將獲得4分"
case this.value==5
thisform.label5.caption="該同學(xué)將獲得5分"
endcase
“打分”按鈕的click事件代碼為:
n=thisform.optiongroup1.value &&將選項(xiàng)按鈕組的返回值賦給n
do case
case cishu==1 &&將次數(shù)對(duì)應(yīng)的字段值賦予對(duì)應(yīng)的分?jǐn)?shù)
replace first with n
case 29、 cishu==2
replace secondd with n
(省略)
case cishu==30
replace thirtieth with n
endcase
thisform.label5.caption="打分成功"
3.4.4選擇表
圖8:選擇表的表單設(shè)計(jì)
單擊“使用”按鈕可以將想要點(diǎn)名的“表”輸入進(jìn)程序。
“使用”按鈕的click事件代碼為:
biao=thisform.text1.value
use mediatable
replace c with biao 30、 &&將用戶的表名傳遞給中介表
wait "選擇成功" windows at 30,120 timeout 1
thisform.release
close tables
3.4.5選擇同學(xué)
圖9:打分的表單設(shè)計(jì)
點(diǎn)擊“打分”按鈕給同學(xué)打分。
“打分”按鈕的click事件代碼為:
xx=val(thisform.text1.value)
locate for xh==xx
if found ()
replace cishu with cishu+1 &&將當(dāng)前cishu字段+1
e 31、lse
messagebox("未找到","提示")
endif
n=thisform.optiongroup1.value
do case
case cishu==1
replace first with n
case cishu==2
replace secondd with n
case cishu==3
replace third with n
case cishu==4
replace fourth with n
case cishu==5
replace fifth with n
(省略) 32、
case cishu==30
replace thirtieth with n
endcase
wait "打分成功" windows at 30,120 timeout 1
close tables
thisform.release
3.4.6查詢表
圖10:查詢的表單設(shè)計(jì)
“查詢”按鈕的click事件代碼為:
thisform.grid1.recordsource=thisform.text1.value
3.4.7生成報(bào)表
圖11:生成報(bào)表的表單設(shè)計(jì)
“生成”按鈕的click事件代碼為:
set talk off 33、 &&關(guān)閉安全提示
set safety off &&關(guān)閉安全提示
biao=thisform.text1.value
use baobiao
dele all &&邏輯刪除所有記錄
zap &&物理刪除所有記錄
append from &biao fields xh,xm,cishu,zongfen &&將用戶所輸入表中的內(nèi)容追加到中介表中
report form baobiao to print 34、preview &&閱覽中介表(報(bào)表)
thisform.release
use &biao
3.4.8修改表
圖11:編輯的表單設(shè)計(jì)
各個(gè)按鈕的click事件如下:
代碼表3.4.8
確定
添加
修改
刪除
publ biao
biao=alltrim(thisform.text1.value)
thisform.grid1.recordsource=biao
go bottom
append blank
edit
thisform.refresh
edit
thisform.refresh
temps 35、tr=messagebox("確定要?jiǎng)h除這個(gè)同學(xué)嗎?",4+32+256,"刪除記錄")
if tempstr=6
delete
pack
thisform.grid1.recordsource='學(xué)生'
thisform.refresh
endif
3.5菜單設(shè)計(jì)
表2:主菜單
一級(jí)菜單
二級(jí)菜單
過程代碼
文件
退出
Quit
點(diǎn)名
普通點(diǎn)名
高級(jí)點(diǎn)名
添加表
修改表
查詢
生成報(bào)表
Do form 普通點(diǎn)名
Do form 高級(jí)點(diǎn)名
Do form添加表
Do form修改表
Do form查詢
Do form生成報(bào)表
編輯 36、
3.6表設(shè)計(jì)
3.6.1中介表
表3:mediatable
A
B
C
D
3.6.2登錄表
表4:login
Name
password
王詩洋
123
admin
123
123
admin
3.6.3點(diǎn)名表
表5:student
Xh
Xm
cishu
First
Secondd
Thirth
Fourth
zongfen
1
李蕾
2
湯勤書
3
李純漪
4
鞠振東
5
趙曉宇
37、
6
趙海年
4、運(yùn)行結(jié)果與反饋
4.1運(yùn)行結(jié)果
4.1.1登錄模塊
輸入用戶名和密碼點(diǎn)擊“登錄”按鈕,如圖12所示。
圖12:登錄模塊運(yùn)行結(jié)果
4.1.2普通點(diǎn)名模塊
打開菜單-點(diǎn)名-普通點(diǎn)名,點(diǎn)擊“設(shè)置”如圖13所示,并且設(shè)置隨機(jī)數(shù)范圍,點(diǎn)擊“確定”觀察到設(shè)置成功,回到普通點(diǎn)名模塊,點(diǎn)擊“下一個(gè)”觀察到有在范圍內(nèi)生成的隨機(jī)數(shù)如圖14所示:
圖13:設(shè)置隨機(jī)數(shù)范圍
圖14:產(chǎn)生的在范圍內(nèi)的隨機(jī)數(shù)
4.1.3高級(jí)點(diǎn)名模塊
選擇“高級(jí)點(diǎn)名”,高級(jí)點(diǎn)名主窗體打開,程序提示先選擇表,根據(jù)提示選擇想要點(diǎn)名的表,如圖15所示:
分 38、別點(diǎn)擊“隨便選一個(gè)”,“從沒點(diǎn)到的同學(xué)中選一個(gè)”,“從次數(shù)少的同學(xué)中選擇一個(gè)”按鈕,并且測(cè)試打分項(xiàng)目,如圖16,17.18所示:
圖16:隨便選一名同學(xué)
圖17:從沒點(diǎn)到的同學(xué)中選一個(gè)
圖18:成功為同學(xué)打分
點(diǎn)擊“給主要回答問題的同學(xué)打分”如圖19所示:
圖19:成功給主動(dòng)回答問題的同學(xué)打分
4.1.4生成報(bào)表模塊
點(diǎn)擊編輯“報(bào)表”按鈕,在文本框中輸入想要生成報(bào)表的表名,點(diǎn)擊“確定”按鈕,如圖20所示:
圖20:生成報(bào)表模塊
4.2反饋
通過設(shè)計(jì),現(xiàn)在所呈現(xiàn)的效果已基本達(dá)到預(yù)期效果,用VF制作的點(diǎn)名系統(tǒng)系統(tǒng)提供了點(diǎn)名功能,但是仍還有許多不足 39、之處,例如沒有考慮到用戶權(quán)限問題。我認(rèn)為完善數(shù)據(jù)庫功能,讓內(nèi)部信息直接和網(wǎng)絡(luò)上的數(shù)據(jù)庫服務(wù)器上傳下載數(shù)據(jù),實(shí)時(shí)同步消息,期末匯總成分?jǐn)?shù)表,這些問題在以后的學(xué)習(xí)中我會(huì)更多注意。
5、設(shè)計(jì)體會(huì)
通過這次的課程設(shè)計(jì),我收獲了很多。在設(shè)計(jì)的過程中,我對(duì)課本的內(nèi)容有了進(jìn)一步的了解,編程及調(diào)試程序的能力都得到了較大的提高。在寫第一個(gè)模塊還是比較輕松的,但我覺得第二個(gè)模塊對(duì)我的能力的提高更有幫助,每個(gè)模塊都調(diào)試了n多次,經(jīng)常報(bào)錯(cuò),當(dāng)時(shí)真的很想砸電腦,不過當(dāng)我寫完了之后又非常地高興很有成就感,從而促使我繼續(xù)下去。
整體感覺可以,但在表的創(chuàng)建和查看方面還應(yīng)該加強(qiáng)。整個(gè)系統(tǒng)花了大概3個(gè)星期的時(shí)間,其中遇到問 40、題能夠耐下心來解決真的很不容易,VF是一個(gè)非常適合開發(fā)數(shù)據(jù)庫的軟件,其中自身自帶的數(shù)據(jù)庫語言也方便了我對(duì)學(xué)生表的查找。
之后我會(huì)繼續(xù)對(duì)點(diǎn)名系統(tǒng)完善,將這個(gè)系統(tǒng)的功能更加的完善,如,增加后端數(shù)據(jù)庫服務(wù)器,在WEB端使用,水平移植到android系統(tǒng)上,等等。
6、參考文獻(xiàn)
[1] 范立南,張 宇. Visual FoxPro程序設(shè)計(jì)與應(yīng)用教程(第二版)[M]. 北京: 科學(xué)出版社, 2014.1
[2] 薩師煊 王 珊.?dāng)?shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2000年2月第三版
[3] 劉 志, 杜小慧. 21天學(xué)會(huì)Visual FoxPro[M]. 北京: 北京大學(xué)出版社, 2010.1:123-130
沈 陽 大 學(xué)
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年二年級(jí)數(shù)學(xué)上冊(cè)9總復(fù)習(xí)專題二圖形與幾何作業(yè)課件新人教版
- 2023年二年級(jí)數(shù)學(xué)上冊(cè)6表內(nèi)乘法二第4節(jié)9的乘法口訣作業(yè)課件新人教版
- 2023年二年級(jí)數(shù)學(xué)上冊(cè)4表內(nèi)乘法一22~6的乘法口訣第2節(jié)234的乘法口訣作業(yè)課件新人教版
- 2023年二年級(jí)數(shù)學(xué)上冊(cè)2100以內(nèi)的加法和減法二3連加連減和加減混合第4課時(shí)解決問題作業(yè)課件新人教版
- 2023年二年級(jí)數(shù)學(xué)上冊(cè)1長(zhǎng)度單位單元復(fù)習(xí)提升作業(yè)課件新人教版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第四單元綠色生態(tài)園__解決問題信息窗1用連乘連除兩步運(yùn)算解決問題作業(yè)課件青島版六三制
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第六單元認(rèn)識(shí)分?jǐn)?shù)第4課時(shí)分一分二2作業(yè)課件北師大版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第二單元長(zhǎng)方形和正方形的面積第4課時(shí)長(zhǎng)方形和正方形面積的計(jì)算1作業(yè)課件西師大版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第三單元三位數(shù)除以一位數(shù)的除法第4課時(shí)筆算除法1作業(yè)課件西師大版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第一單元除法練習(xí)二作業(yè)課件北師大版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第一_五單元階段性綜合復(fù)習(xí)作業(yè)課件蘇教版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第6單元年月日第1課時(shí)年月日1作業(yè)課件新人教版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第4單元兩位數(shù)乘兩位數(shù)拓展提升四作業(yè)課件新人教版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第4單元兩位數(shù)乘兩位數(shù)1口算乘法第2課時(shí)口算乘法2作業(yè)課件新人教版
- 2023年三年級(jí)數(shù)學(xué)下冊(cè)第2單元除數(shù)是一位數(shù)的除法2筆算除法第4課時(shí)商中間有0的除法作業(yè)課件新人教版