vfp課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  《Visual FoxPro 數(shù)據(jù)庫(kù)程序設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書</p><p>  題目:學(xué)生成績(jī)管理系統(tǒng)</p><p><b>  1.系統(tǒng)總體設(shè)計(jì)</b></p><p><b>  1.1系統(tǒng)功能簡(jiǎn)介</b></p><p>  數(shù)據(jù)錄入:輸入學(xué)生的學(xué)號(hào),給出學(xué)生姓名;輸

2、入課程號(hào),給出課程名;輸入學(xué)生成績(jī)。</p><p>  數(shù)據(jù)修改:按課程號(hào)修改成績(jī)。</p><p>  成績(jī)查詢:按學(xué)號(hào)查詢?cè)撏瑢W(xué)的各科成績(jī);按課程號(hào)查詢每名同學(xué)的成績(jī),并排序查詢結(jié)果。</p><p>  1.2系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  2.數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p&g

3、t;  2.1建立數(shù)據(jù)庫(kù)和基本表,并建立合理的約束</p><p>  打開Visual FoxPro,建立數(shù)據(jù)庫(kù),名為學(xué)生成績(jī)管理系統(tǒng),并在數(shù)據(jù)庫(kù)下建立三張表:學(xué)生表、課程表、成績(jī)表。表結(jié)構(gòu)如下:</p><p>  學(xué)生表(學(xué)號(hào),姓名,性別,出生年月) </p><p>  建立主索引:名為學(xué)號(hào) 表達(dá)式為:學(xué)號(hào)</p><p>  課程

4、表(課程名,課程號(hào),學(xué)分,主講教師)</p><p>  建立主索引:名為課程號(hào) 表達(dá)式為:課程號(hào)</p><p>  成績(jī)表(學(xué)號(hào),課程號(hào),成績(jī))</p><p>  建立普通索引:名為學(xué)號(hào) 表達(dá)式為:學(xué)號(hào) </p><p>  建立普通索引:名為課程號(hào) 表達(dá)式為:課程號(hào)</p><p>  學(xué)生表、課程表、成績(jī)

5、表相關(guān)聯(lián)如圖所示:</p><p><b>  2.2錄入數(shù)據(jù)</b></p><p>  學(xué)生表錄入數(shù)據(jù)如下所示:</p><p>  課程表錄入數(shù)據(jù)如下所示:</p><p>  成績(jī)表錄入數(shù)據(jù)如下所示:</p><p><b>  3.程序設(shè)計(jì)界面</b></p&

6、gt;<p><b>  3.1系統(tǒng)主界面</b></p><p>  系統(tǒng)主界面設(shè)計(jì)如圖所示:</p><p><b>  1)菜單設(shè)計(jì)</b></p><p>  1、按照系統(tǒng)功能結(jié)構(gòu)圖設(shè)計(jì)頂層菜單。</p><p>  2、在VFP系統(tǒng)主菜單的“顯示”菜單下,選擇“常規(guī)選項(xiàng)”命令

7、,在彈出的對(duì)話框中,勾選頂層表單選項(xiàng),將該菜單設(shè)置為頂層表單菜單。設(shè)計(jì)如下:</p><p><b>  2)控件屬性設(shè)置</b></p><p>  圖片Image1的路徑屬性Picture設(shè)置為VFP的默認(rèn)路徑。</p><p>  標(biāo)簽label1的標(biāo)題屬性Caption設(shè)置為:三亞學(xué)院學(xué)生成績(jī)管理系統(tǒng),并設(shè)置相應(yīng)的字體、字號(hào)和顏色。&l

8、t;/p><p><b>  3)表單代碼設(shè)計(jì)</b></p><p>  表單的Init事件代碼:DO 學(xué)生成績(jī).MPR WITH THIS </p><p>  表單的Destroy事件代碼:RELEASE MENU 學(xué)生成績(jī)EXTENDED</p><p><b>  3.2學(xué)生成績(jī)錄入</b>&

9、lt;/p><p>  學(xué)生成績(jī)錄入表單設(shè)計(jì)如圖所示:</p><p><b>  1)控件屬性設(shè)置</b></p><p>  標(biāo)簽:label1學(xué)號(hào) 標(biāo)題:Caption 設(shè)置為:學(xué)號(hào)</p><p>  Label2課程號(hào) 標(biāo)題:Caption 設(shè)置為:課程號(hào)</p>&l

10、t;p>  Label3成績(jī) 標(biāo)題:Caption 設(shè)置為:成績(jī)</p><p>  文本框:txt1學(xué)號(hào) 數(shù)據(jù)源:ControlSource 設(shè)置為:成績(jī).學(xué)號(hào)</p><p>  Txt2課程號(hào) 數(shù)據(jù)源:ControlSource 設(shè)置為:成績(jī).課程號(hào)</p><p>  Txt3成績(jī) 數(shù)據(jù)源:ControlSo

11、urce 設(shè)置為:成績(jī).成績(jī)</p><p>  命令按鈕:command1 標(biāo)題:caption 設(shè)置為:追加</p><p>  Command2 標(biāo)題:caption 設(shè)置為:退出</p><p><b>  2)代碼設(shè)計(jì)</b></p><p>  文本框txt學(xué)號(hào)的GotFocus事件代碼:</p&

12、gt;<p>  select 成績(jī) </p><p>  append blank</p><p>  jlh=recno()</p><p>  文本框txt學(xué)號(hào)的LostFocus事件代碼:</p><p><b>  select 成績(jī)</b></p><p>  repla

13、ce 學(xué)號(hào) with thisform.txt學(xué)號(hào).value</p><p><b>  select 學(xué)生</b></p><p>  locate for 學(xué)號(hào)=thisform.txt學(xué)號(hào).value</p><p>  thisform.label1.caption="姓名: "+學(xué)生.姓名</p>

14、<p><b>  select 成績(jī)</b></p><p>  文本框txt課程號(hào)的getFocus事件代碼:</p><p><b>  select 成績(jī)</b></p><p>  thisform.txt課程號(hào).value=' '</p><p>  文本

15、框txt課程號(hào)的LostFocus事件代碼:</p><p><b>  select 成績(jī)</b></p><p><b>  go jlh</b></p><p>  replace 課程號(hào) with thisform.txt課程號(hào).value</p><p>  select 課程表</

16、p><p>  locate for 課程號(hào)=thisform.txt課程號(hào).value</p><p>  thisform.label2.caption="課程名: "+課程表.課程名</p><p><b>  select 成績(jī)</b></p><p><b>  go jlh<

17、/b></p><p>  thisform.txt成績(jī).value=0</p><p>  文本框txt成績(jī)的getFocus事件代碼:</p><p><b>  select 成績(jī)</b></p><p><b>  go jlh</b></p><p>  文本

18、框txt成績(jī)的LostFocus事件代碼:</p><p><b>  select 成績(jī)</b></p><p><b>  go jlh</b></p><p>  replace 成績(jī) with thisform.txt成績(jī).value</p><p>  命令按鈕command1的Click

19、事件代碼:</p><p>  thisform.label1.caption=" "</p><p>  thisform.label2.caption=" "</p><p><b>  select 成績(jī)</b></p><p>  append blank<

20、;/p><p>  thisform.txt學(xué)號(hào).setfocus </p><p>  thisform.refresh</p><p>  命令按鈕command2的Click事件代碼:</p><p><b>  select 成績(jī)</b></p><p><b>  use</

21、b></p><p><b>  use 成績(jī)</b></p><p>  delete for 學(xué)號(hào)=space(8).or.課程號(hào)=space(5)</p><p><b>  pack</b></p><p>  close database </p><p> 

22、 thisform.release</p><p><b>  3.3學(xué)生成績(jī)修改</b></p><p>  學(xué)生成績(jī)修改表單設(shè)計(jì)如圖所示:</p><p>  按課程號(hào)修改數(shù)據(jù),用戶由鍵盤輸入課程號(hào),當(dāng)控制交點(diǎn)離開文本框時(shí),在表格中顯示要修改的數(shù)據(jù)記錄。用戶用鼠標(biāo)、鍵盤對(duì)數(shù)據(jù)記錄進(jìn)行修改。</p><p><b

23、>  1)控件屬性設(shè)置</b></p><p>  標(biāo)簽:label1 標(biāo)題:caption 設(shè)置為:課程號(hào)</p><p>  文本框:text1 接收由鍵盤輸入的數(shù)據(jù)</p><p>  命令按鈕:command1 標(biāo)題:caption 設(shè)置為:退出</p><p>  表格:顯示要修改的記錄 </

24、p><p><b>  2)代碼設(shè)計(jì)</b></p><p>  文本框text1的LostFocus的事件代碼:</p><p>  set filter to alltrim(課程號(hào))=alltrim(thisform.text1.value)</p><p>  設(shè)置過(guò)濾器,修改滿足條件的數(shù)據(jù)記錄。</p>

25、<p><b>  3.4學(xué)生成績(jī)查詢</b></p><p>  3.4.1學(xué)號(hào)查詢表單設(shè)計(jì)</p><p><b>  界面設(shè)計(jì)如下:</b></p><p><b>  1)控件屬性設(shè)置</b></p><p>  標(biāo)簽:label1 標(biāo)題:caption

26、設(shè)置為:學(xué)號(hào)</p><p>  文本框:text1 接收由鍵盤輸入的數(shù)據(jù)</p><p>  命令按鈕:command1 標(biāo)題:caption 設(shè)置為:查詢</p><p>  Command2 標(biāo)題:caption 設(shè)置為:退出</p><p>  表格:顯示查詢結(jié)果 </p><p><b&

27、gt;  2)代碼設(shè)計(jì)</b></p><p>  命令按鈕command1的Click事件代碼:</p><p>  set safety off</p><p>  select 成績(jī).學(xué)號(hào),學(xué)生.姓名,成績(jī).課程號(hào),課程表.課程名,成績(jī).成績(jī) from 成績(jī),學(xué)生,課程表;</p><p>  where 成績(jī).學(xué)號(hào)=學(xué)生.

28、學(xué)號(hào) and 成績(jī).課程號(hào)=課程表.課程號(hào) and alltrim(成績(jī).學(xué)號(hào))=alltrim(thisform.text1.value);</p><p>  into table cxb</p><p>  thisform.grid1.recordsource='cxb'</p><p>  thisform.refresh</p>

29、;<p>  set safety on</p><p>  命令按鈕command2的Click事件代碼:</p><p>  thisform.release</p><p>  3.4.2課程號(hào)查詢表單設(shè)計(jì)</p><p><b>  界面設(shè)計(jì)如下:</b></p><p>&

30、lt;b>  1)控件屬性設(shè)置</b></p><p>  標(biāo)簽:label1 標(biāo)題:caption 設(shè)置為:學(xué)號(hào)</p><p>  文本框:text1 接收由鍵盤輸入的數(shù)據(jù)</p><p>  單選按鈕組:OptionGroup1.option1 標(biāo)題:Caption 設(shè)置為:升序</p><p>  Opt

31、ionGroup1.option2 標(biāo)題:Caption 設(shè)置為:降序</p><p>  命令按鈕:command1 標(biāo)題:caption 設(shè)置為:查詢</p><p>  Command2 標(biāo)題:caption 設(shè)置為:退出</p><p>  表格:顯示查詢結(jié)果 </p><p>

32、<b>  2)代碼設(shè)計(jì)</b></p><p>  命令按鈕command1的Click事件代碼:</p><p>  set safety off</p><p>  if thisform.optiongroup1.option1.value=1</p><p>  select 成績(jī).學(xué)號(hào),學(xué)生.姓名,成績(jī).課程

33、號(hào),課程表.課程名,成績(jī).成績(jī) from 成績(jī),學(xué)生,課程表;</p><p>  where 成績(jī).學(xué)號(hào)=學(xué)生.學(xué)號(hào) and 成績(jī).課程號(hào)=課程表.課程號(hào) and alltrim(成績(jī).課程號(hào))=alltrim(thisform.text1.value);</p><p>  order by 成績(jī).成績(jī) asc into table cxb1</p><p>&

34、lt;b>  else</b></p><p>  select 成績(jī).學(xué)號(hào),學(xué)生.姓名,成績(jī).課程號(hào),課程表.課程名,成績(jī).成績(jī) from 成績(jī),學(xué)生,課程表;</p><p>  where 成績(jī).學(xué)號(hào)=學(xué)生.學(xué)號(hào) and 成績(jī).課程號(hào)=課程表.課程號(hào) and alltrim(成績(jī).課程號(hào))=alltrim(thisform.text1.value);</p&g

35、t;<p>  order by 成績(jī).成績(jī) desc into table cxb1</p><p><b>  endif </b></p><p>  thisform.grid1.recordsource='cxb1'</p><p>  thisform.refresh</p><

36、p>  set safety on</p><p><b>  4.課程設(shè)計(jì)總結(jié) </b></p><p>  經(jīng)過(guò)一年的荒廢,我們對(duì)于VFP的一些知識(shí)已經(jīng)忘的快差不多了,所以這次的作業(yè)對(duì)我們來(lái)說(shuō),相當(dāng)?shù)木哂须y度。在翻閱過(guò)多份資料,我們小組正式進(jìn)入了工作,我們首先通過(guò)分工,確定每個(gè)人的任務(wù)。然后每個(gè)人開始做自己的工作。我的任務(wù)主要是負(fù)責(zé)系統(tǒng)設(shè)計(jì)的操作以及圖片的剪

37、裁。每次的操作都要求非常的縝密,因?yàn)樵诓粩嗟牟僮髦?,需要認(rèn)真仔細(xì)的檢查代碼,也許中間的一個(gè)標(biāo)點(diǎn)都有可能造成程序的中止。其實(shí),性格粗心大意的我,對(duì)于這種仔細(xì)的活有些不合適,但是組員們能決定將這項(xiàng)工作交給我,我將會(huì)盡自己最大的努力去完成。在不斷的“語(yǔ)法錯(cuò)誤”、“命令無(wú)法識(shí)別”等等一些問(wèn)題中,我終于完成自己工作。由于有時(shí)操作忘了截圖又讓我頭疼,通常是這項(xiàng)完成后,又忙著去找前幾個(gè)的代碼、圖片,工作也在這樣的不斷重復(fù)著持續(xù)到最后。</p&g

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論