VF計(jì)算機(jī)課程設(shè)計(jì)_第1頁(yè)
VF計(jì)算機(jī)課程設(shè)計(jì)_第2頁(yè)
VF計(jì)算機(jī)課程設(shè)計(jì)_第3頁(yè)
VF計(jì)算機(jī)課程設(shè)計(jì)_第4頁(yè)
VF計(jì)算機(jī)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、重慶科技學(xué)院課程設(shè)計(jì)報(bào)告 院(系):_ 法政與經(jīng)貿(mào)學(xué)院 專(zhuān)業(yè)班級(jí): 經(jīng)貿(mào)2011級(jí)3班 學(xué)生姓名: 卜益姣 學(xué) 號(hào): 2011443785 設(shè)計(jì)地點(diǎn)(單位)_ 第一實(shí)驗(yàn)樓I305_ _ _ 設(shè)計(jì)題目:_ 成績(jī)計(jì)算系統(tǒng)_ 完成日期: 2012年 6月 29日 指導(dǎo)教師評(píng)語(yǔ): _ _ _ 成績(jī)(五級(jí)記分制):_ _ 指導(dǎo)教師(簽字):_ _目 錄 TOC o 1-3 h z u HYPERLINK l _Toc328696656 1 需求分析0 PAGEREF _Toc328696656 h 4 HYPERLINK l _Toc328696657 1.1 問(wèn)題描述 PAGEREF _Toc3286

2、96657 h 4 HYPERLINK l _Toc328696658 1.2 基本要求 PAGEREF _Toc328696658 h 4 HYPERLINK l _Toc328696659 2 概要設(shè)計(jì) PAGEREF _Toc328696659 h 5 HYPERLINK l _Toc328696660 2.1 學(xué)生信息的設(shè)計(jì) PAGEREF _Toc328696660 h 5 HYPERLINK l _Toc328696661 2.2系統(tǒng)功能的設(shè)計(jì) PAGEREF _Toc328696661 h 6 HYPERLINK l _Toc328696662 2.3結(jié)構(gòu)框架圖 PAGEREF

3、_Toc328696662 h 6 HYPERLINK l _Toc328696663 3 詳細(xì)設(shè)計(jì) PAGEREF _Toc328696663 h 8 HYPERLINK l _Toc328696664 3.1 數(shù)據(jù)庫(kù)的設(shè)計(jì) PAGEREF _Toc328696664 h 8 HYPERLINK l _Toc328696665 3.2 系統(tǒng)功能的設(shè)計(jì) PAGEREF _Toc328696665 h 8 HYPERLINK l _Toc328696666 3.3 設(shè)計(jì)主程序 PAGEREF _Toc328696666 h 9 HYPERLINK l _Toc328696667 3.4 設(shè)計(jì)主界

4、面模塊 PAGEREF _Toc328696667 h 10 HYPERLINK l _Toc328696668 3.5 設(shè)計(jì)整理數(shù)據(jù) PAGEREF _Toc328696668 h 12 HYPERLINK l _Toc328696669 3.6設(shè)計(jì)輸入數(shù)據(jù)模塊 PAGEREF _Toc328696669 h 13 HYPERLINK l _Toc328696670 3.7設(shè)計(jì)高分段平均分 PAGEREF _Toc328696670 h 17 HYPERLINK l _Toc328696671 3.8設(shè)計(jì)離均差模塊 PAGEREF _Toc328696671 h 18 HYPERLINK l

5、 _Toc328696672 3.9 設(shè)計(jì)大平均分 PAGEREF _Toc328696672 h 19 HYPERLINK l _Toc328696673 3.10設(shè)計(jì)設(shè)置高分段 PAGEREF _Toc328696673 h 22 HYPERLINK l _Toc328696674 4 調(diào)試分析 PAGEREF _Toc328696674 h 24 HYPERLINK l _Toc328696675 5 用戶(hù)使用說(shuō)明 PAGEREF _Toc328696675 h 25 HYPERLINK l _Toc328696676 6 測(cè)試結(jié)果 PAGEREF _Toc328696676 h 26

6、HYPERLINK l _Toc328696677 7 總 結(jié) PAGEREF _Toc328696677 h 27 HYPERLINK l _Toc328696678 8 致 謝 PAGEREF _Toc328696678 h 28 HYPERLINK l _Toc328696679 9 參考文獻(xiàn) PAGEREF _Toc328696679 h 29 HYPERLINK l _Toc328696680 10 附 錄 PAGEREF _Toc328696680 h 301 需求分析1.1 問(wèn)題描述 成績(jī)計(jì)算系統(tǒng)是Visual ForPro進(jìn)行系統(tǒng)操作的理想實(shí)例,包含了計(jì)算離均差、大平均差、高分

7、段平均分3個(gè)主要功能。其中離均差是運(yùn)用方差分析的方法處理學(xué)生的成績(jī),得出各個(gè)班整體的;大平均分是將所有參考學(xué)生的成績(jī)平均,了解學(xué)生的平均水平;高分段平均分是按照給定的分?jǐn)?shù)線計(jì)算該分?jǐn)?shù)線以上的平均分。1.2 基本要求學(xué)生通過(guò)動(dòng)手動(dòng)腦解決實(shí)際問(wèn)題,是學(xué)生學(xué)完課程后進(jìn)行的一次全面的綜合訓(xùn)練,是一個(gè)非常重要的教學(xué)環(huán)節(jié),通過(guò)課程設(shè)計(jì),使學(xué)生經(jīng)受一次綜合動(dòng)用所學(xué)知識(shí),解決實(shí)際問(wèn)題的方法。VFP課程設(shè)計(jì)課程設(shè)計(jì)旨在讓學(xué)生掌握目前在辦公系統(tǒng)流行的Visual Foxpro6.0,具備數(shù)據(jù)庫(kù)軟件開(kāi)發(fā)基本技能,加強(qiáng)數(shù)據(jù)庫(kù)教學(xué)的實(shí)踐環(huán)節(jié),培養(yǎng)學(xué)生對(duì)關(guān)系數(shù)據(jù)庫(kù)的實(shí)際應(yīng)用能力。通過(guò)課程設(shè)計(jì),使學(xué)生能靈活使用Visual

8、 Foxpro6.0系統(tǒng),了解計(jì)算機(jī)軟件開(kāi)發(fā)的基本步驟,編制方法,調(diào)試過(guò)程等基本知識(shí)。為將來(lái)熟練地應(yīng)用計(jì)算機(jī)系統(tǒng)進(jìn)行日常業(yè)務(wù)處理及運(yùn)用相關(guān)知識(shí)處理問(wèn)題打下良好的基礎(chǔ)。要求如下: 1)鞏固和加深對(duì)Visual ForPro 語(yǔ)言基礎(chǔ)知識(shí)的理解,提高綜合運(yùn)用所學(xué)課程知識(shí)的能力。 2)培養(yǎng)學(xué)生的實(shí)際動(dòng)手操作能力。 3)通過(guò)實(shí)際的課程設(shè)計(jì),初步掌握簡(jiǎn)單軟件的分析方法和設(shè)計(jì)方法。 4)需要了解排序算法。 5)能熟練地錯(cuò)誤程序進(jìn)行調(diào)試,能正確解釋和分析實(shí)驗(yàn)結(jié)果。6)要求程序結(jié)構(gòu)簡(jiǎn)單,功能齊全,使用方便。2 概要設(shè)計(jì)2.1 學(xué)生信息的設(shè)計(jì)學(xué)生的信息包括:考生考號(hào)、考生的姓名、班級(jí)名稱(chēng)、科目名稱(chēng),任課教師姓名

9、、離均差、大平均分。這些信息反映到數(shù)據(jù)庫(kù)表中,其字段名如下: 標(biāo)題字號(hào)KSH /考生考號(hào)XM /考生的姓名 班級(jí)名稱(chēng)KM /科目名稱(chēng)1)任課教師姓名LJC /離均差平均分表2-1 離均差表 2.2系統(tǒng)功能的設(shè)計(jì) 成績(jī)處理系統(tǒng)的目的是客觀評(píng)價(jià)學(xué)生的成績(jī),為以后改良教學(xué)方法提供依據(jù),這就要求分析的結(jié)果準(zhǔn)確、客觀、全面。對(duì)于單科成績(jī),需要了解該科的平均分、最高分以及與其他班級(jí)的差距。為此,該系統(tǒng)設(shè)計(jì)了輸入數(shù)據(jù)、離均差、大平均分、高分段平均分幾個(gè)功能模塊,以及數(shù)據(jù)整理和設(shè)置高分段兩個(gè)輔助功能。結(jié)構(gòu)圖如下所示。成績(jī)管理系統(tǒng)輸入數(shù)據(jù)離均差整理數(shù)據(jù)高分平均分大平均分設(shè)置高分段2.3結(jié)構(gòu)框架圖 確定了系統(tǒng)的功

10、能,即可設(shè)計(jì)系統(tǒng)的功能模塊。針對(duì)以上功能要求,分別設(shè)計(jì)GFD_SHR1、SELECT_CLASS、ZHL、SHOW_LJC、SHOW_GFD表單,其結(jié)構(gòu)圖如下:MainSELECT.CLASSZHLSHOW-LJCSHOE-DPJGFD-SHRSHOE-GFD用戶(hù)運(yùn)行程序時(shí),彈出MAIN表單,在該表單上放置了6個(gè)功能項(xiàng),單擊其中某個(gè)按鈕,程序?qū)凑找?guī)定的方法處理數(shù)據(jù),最后將處理的結(jié)果展示給用戶(hù)以便查閱,用戶(hù)確認(rèn)無(wú)誤后,單擊界面上的“打印”按鈕系統(tǒng)將打印出處理結(jié)果。下面詳細(xì)向讀者介紹各個(gè)模塊的功能以及詳細(xì)設(shè)計(jì)。3 詳細(xì)設(shè)計(jì)3.1 數(shù)據(jù)庫(kù)的設(shè)計(jì) 學(xué)生成績(jī)表存儲(chǔ)的是光電閱卷機(jī)提供的原始成績(jī),即系統(tǒng)要

11、處理的數(shù)據(jù),根據(jù)參考班級(jí)數(shù)量,有相應(yīng)數(shù)量的數(shù)據(jù)庫(kù),其中主文件名中后3位是相應(yīng)的班級(jí)名稱(chēng)。高中分為文科和理科兩大類(lèi)班級(jí),每一類(lèi)設(shè)置的考試科目是不同的,所以有兩個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)。理科班級(jí)的考試科目有數(shù)學(xué)、英語(yǔ)、語(yǔ)文、理科綜合、物理、化學(xué)、生物。3.2 系統(tǒng)功能的設(shè)計(jì)成績(jī)處理系統(tǒng)的目的是客觀評(píng)價(jià)學(xué)生的成績(jī),為以后改良教學(xué)方法提供依據(jù),這就要求分析的結(jié)果準(zhǔn)確、客觀、全面。對(duì)于單科成績(jī),需要了解該科的平均分、最高分以及與其他班級(jí)的差距。為此,該系統(tǒng)設(shè)計(jì)了輸入數(shù)據(jù)、離均差、大平均分、高分段平均分幾個(gè)功能模塊,以及數(shù)據(jù)整理和設(shè)置高分段兩個(gè)輔助功能。結(jié)構(gòu)圖如圖3-1所示:成績(jī)管理系統(tǒng)輸入數(shù)據(jù)離均差整理數(shù)據(jù)高分平均

12、分大平均分設(shè)置高分段圖3-1 功能分析圖確定了系統(tǒng)的功能,即可設(shè)計(jì)系統(tǒng)的功能模塊。針對(duì)以上功能要求,分別設(shè)計(jì)GFD_SHR1、SELECT_CLASS、ZHL、SHOW_LJC、SHOW_GFD表單,其結(jié)構(gòu)圖如圖3-2所示:MainSELECT.CLASSZHLSHOW-LJCSHOE-DPJGFD-SHRSHOE-GFD圖3-2 程序結(jié)構(gòu)圖3.3 設(shè)計(jì)主程序 程序在運(yùn)行期間要使用部分變量來(lái)傳遞數(shù)據(jù),這些變量都是在主程序定義的。打開(kāi) Visual FoxPro 程序,進(jìn)入設(shè)計(jì)界面,然后新建一個(gè)項(xiàng)目文件,以“成績(jī)“命名”保存,打開(kāi)該項(xiàng)目的管理器,在管理器的“代碼”選項(xiàng)卡中添加一個(gè)名為“MIAN”

13、的代碼文件,并在“MIAN”代碼文件窗口中添加如下代碼:*初始化系統(tǒng)CLOSE ALLCLEAR ALLSET TALK OFFSET DELETED ON*設(shè)置窗口的屬性_SCREEN.CAPTION=“計(jì)算”_SCREEN.WINDOWSTATE=2*設(shè)置全局變量,用來(lái)傳遞數(shù)據(jù)PUBLIC SHOW_FILE_NAME*調(diào)用主界面DO FORM MIAN 上述代碼中15行對(duì)系統(tǒng)的運(yùn)行進(jìn)行了一系列的設(shè)置,67行定義了窗口的名稱(chēng)和狀態(tài),第8行定義了一個(gè)全局變量,用來(lái)傳遞數(shù)據(jù),第9行調(diào)用系統(tǒng)的主界面,讀者可以根據(jù)實(shí)際的需要來(lái)設(shè)置上面的代碼。3.4 設(shè)計(jì)主界面模塊 主界面是操作者選擇功能的主要方式

14、,在設(shè)計(jì)上力求簡(jiǎn)單快捷。由于該系統(tǒng)的功能比較單一,因此采用了按鈕的方式,如果系統(tǒng)的功能比較多建議采用菜單的方式,可以使界面簡(jiǎn)潔。在項(xiàng)目管理器中添加一個(gè)表單,命名為“MAIN”,Caption屬性設(shè)置為“成績(jī)分析”使用“表單控件”工具欄在表單上一個(gè)CommandGroup控件,用戶(hù)分隔顯示界面如圖3-3圖3-3 添加CommandGroup 控件利用同樣的方法在該表單上添加另外2個(gè)CommandGroup 控件,接下來(lái)添加利用“表單控件”工具箱在表單中添加7個(gè)CommandGroup控件完成具體功能,1個(gè)Lable控件顯示標(biāo)題信息。屬性如表3-1所示。 編號(hào)名稱(chēng)類(lèi)型 屬性名稱(chēng)屬性值1Comman

15、dGroup1CommandGroupButtonCount02CommandGroup2CommandGroupButtonCount03CommandGroup3CommandGroupButtonCount04LableLableCaption成績(jī)計(jì)算系統(tǒng)5Command1Command Caption輸入數(shù)據(jù)6Command2Command Caption離均差7Command3Command Caption整理數(shù)據(jù)8Command4Command Caption高分段平均分9Command5Command Caption大平均分10Command6Command Caption設(shè)置高

16、分段11Command7Command Caption退出 表31 屬性設(shè)置完成設(shè)計(jì)后界面如圖3-4 所示圖3-4 設(shè)計(jì)主界面 在主界面設(shè)計(jì)了6項(xiàng)功能,用6 個(gè)Command控件完成,將完成此項(xiàng)功能所需的代碼添放在6個(gè)Command控件的Click事件中。3.5 設(shè)計(jì)整理數(shù)據(jù) 在系統(tǒng)中處理學(xué)生成績(jī)的一部分是由自動(dòng)閱卷機(jī)產(chǎn)生的,另外一部分由人工輸入的,再由這兩部分?jǐn)?shù)據(jù)合成其他的相關(guān)數(shù)據(jù),數(shù)據(jù)整理的,目的就是為了完成上述功能。 在Main表單的commang3控件的click行為窗口中輸入如下代碼:*整理數(shù)據(jù)USE DMD_G.DBFREPLACE CHJI WITH0,CHJH2WITH OUS

17、E*整理理科班的成績(jī)FOR J=1 TO 3DO CASECASEI=1BJ_DAIMA=CJG301.DBFCASE I=2BJ_DAIMA=CJG302.DBFCASE I=3BJ_DAIMA=CJG303.DBFENDCASEUSE&BJ_DAIMAREPLACE YW WITH YW1+YW2,SX WITH SX1+SX2,YY WITH YY1+YY2 ALLGOTO 1REPLACE WL WITH WL1+WL2,HX WITH HX1+HX2,SW WITH SW1+SW2 ALLGOTO 1REPLACE ZF WITH YW+SX+YY+WL+HX+SW ALLENDFO

18、R*整理文科班的成績(jī)FOR I=4 TO 6DO CASE CASE I=4BJ_DAIMA=CJG304.DBFCASE I=5BJ_DAIMA=CJG305.DBFCASE I=6BJ_DAIMA=CJG306.DBFENDCASEUSE &BJ_DAIMAREPLACE YW WITH YW1+YW2,SX1+SX2,YY WITH YY1+YY2 ALLCOTO 1REPLACE ZZ WITH ZZ1+ZZ2,LS WITH LS1+LS2,WITH DL1+DL2 ALLGOTO 1REPLACE ZF WITH YW+SW+YY+ZZ+LS+DL ALLUSEENDFORMESS

19、AGEBOX(數(shù)據(jù)整理完畢!)執(zhí)行上面的代碼計(jì)算每個(gè)學(xué)生的卷一、卷二以及總分成績(jī),整理完畢后提供給后面的處理使用。3.6設(shè)計(jì)輸入數(shù)據(jù)模塊 在實(shí)際考試中考試的成績(jī)由主觀成績(jī)和客觀成績(jī)兩部分組成。所以在系統(tǒng)中提供了輸入主觀成績(jī)的界面,即輸入數(shù)據(jù)模塊。3.6.1選擇班級(jí)模塊 在輸入數(shù)據(jù)前應(yīng)該先選擇要輸入的班級(jí),為此設(shè)計(jì)了選擇班級(jí)的界面。在項(xiàng)目管理器中新建一表單,命名為“SELECT_CLASS”將Caption屬性設(shè)置為“班級(jí)選擇”,并添加2個(gè)CommandGroup控件分隔顯示界面、1個(gè)Image控件用來(lái)插入背景圖片、1個(gè)Combo控件供用戶(hù)選擇班級(jí)、2個(gè)Command控件完成控制功能,上述控件的

20、主要屬性設(shè)置如表32 所示。表32 屬性設(shè)置編號(hào)名稱(chēng)類(lèi)型屬性名稱(chēng)屬性設(shè)置1CommandGroup1CommandGroupButtonCount02CommandGroup2CommandGroupButtonCount03Image1ImagePicture20041119277.jpg4Combo1ComboRowSourceTypeRowSource1_值 cjg301,cjg302,cjg33,cjg304,cjg3305,cjg3065Command1CommandCaption選擇6Command2CommandCaption返回 設(shè)計(jì)完成后界面如下圖3-5 所示圖3-5 選擇班

21、級(jí)界面系統(tǒng)運(yùn)行時(shí)允許用戶(hù)選擇所要輸入成績(jī)的班級(jí),并根據(jù)用戶(hù)的選擇打開(kāi)相應(yīng)班級(jí)的成績(jī)單供用戶(hù)修改,為此Command1控件的Click行為中添加代碼,見(jiàn)附錄4.53.6.2設(shè)計(jì)輸入學(xué)生成績(jī)表單在SELECT_CLASS表單中要調(diào)用一個(gè)修改學(xué)生成績(jī)的表單,下面介紹設(shè)計(jì)過(guò)程。在項(xiàng)目管理器中新建一表單,命名為“XG”將Caption屬性設(shè)置為“輸入數(shù)據(jù)”。下面為該表單設(shè)置數(shù)據(jù)環(huán)境,用鼠標(biāo)右鍵在表單空白處單擊,在彈出的快捷菜單中現(xiàn)在“數(shù)據(jù)環(huán)境”命令,將打開(kāi)“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口。接下來(lái)將SHOW,DBF 數(shù)據(jù)表添加到數(shù)據(jù)環(huán)境中,用鼠標(biāo)右鍵在設(shè)計(jì)器的空白處單擊,現(xiàn)在彈出的快捷菜單中的“添加”命令。通過(guò)數(shù)據(jù)

22、環(huán)境中的表可以實(shí)現(xiàn)多種功能如用數(shù)據(jù)環(huán)境在的表建立一個(gè)Gril控件,只需要將現(xiàn)在的表文件拖放到表單中即可。在此Gril控件中可以任意修改學(xué)生的成績(jī),為了將修改的結(jié)果保存到相應(yīng)的班級(jí)成績(jī)表中,在表單上添加10個(gè)Command控件,命名為Command1,并將Caption屬性設(shè)置為“確定”,如圖3-6 所示。圖3-6 添加Command控件在Command1控件的Click行為代碼窗口中添加如下代碼,將修改的結(jié)果保持到相應(yīng)的比較成績(jī)表中,其中SHOW_HILE_NAME為用戶(hù)選擇的比較成績(jī)庫(kù)文件名。代碼見(jiàn)附錄4.3.6.2 設(shè)計(jì)輸入學(xué)生成績(jī)單在SELECT_CLASS表單中要調(diào)用一個(gè)修改學(xué)生成績(jī)的

23、表單,下面就介紹一下設(shè)計(jì)過(guò)程。 在項(xiàng)目管理器中新建一個(gè)表單,命名為“XG”,并將該表單的Caption屬性設(shè)置為“輸入數(shù)據(jù)”。下面為該表單設(shè)置數(shù)據(jù)環(huán)境,用鼠標(biāo)右鍵在表單的空白處單擊,在彈出的快捷菜單中選擇“數(shù)據(jù)環(huán)境”命令,將打開(kāi)“數(shù)據(jù)設(shè)計(jì)環(huán)境設(shè)計(jì)器”窗口。 接下來(lái)將SHOW.DBF數(shù)據(jù)表添加到數(shù)據(jù)環(huán)境中,用鼠標(biāo)右鍵在設(shè)計(jì)器的空白處單擊,選擇彈出的快捷菜單中的“添加”命令。 通過(guò)數(shù)據(jù)環(huán)境中的表可以實(shí)現(xiàn)多種功能,如下面將用數(shù)據(jù)環(huán)境中的標(biāo)建立一個(gè)Gril空間,采用這種方法極為簡(jiǎn)單,只需要將選擇的表文件拖放到表單中即可以創(chuàng)建一個(gè)Gril控件。 在此Gril控件中可以修改任意修改學(xué)生的成績(jī),十分方便。為

24、了將修改的結(jié)果保存到相應(yīng)的班級(jí)成績(jī)表中,在該表單上添加10個(gè)Command控件,命名為Command1,并將Caption屬性設(shè)置為“確定”,如圖3-7所示: 圖3-7 添加Command控件在Command1控件的click行為代碼窗口中添加如下代碼,將修改結(jié)果保存到相應(yīng)班級(jí)成績(jī)表中。 *選擇要輸入的班級(jí),然后輸入該班的成績(jī)file_name=alltrim(bo1.value)*刪除show.dbf表文件if file(show.dbf) delete file show.dbfendif*將用戶(hù)選擇的班級(jí)成績(jī)導(dǎo)入到show.dbf表中select*from&file_name into

25、table show.dbfclose all*用全局變量來(lái)保存用戶(hù)的選擇show_file_name=file_name*執(zhí)行修改表單do form xg*將用戶(hù)修改的數(shù)據(jù)保存到選擇的班級(jí)成績(jī)表中use&show_file_namedelete allpack*將修改的結(jié)果保存到選擇的班級(jí)文件中append from show.dbfthisform.release*退出修改表單close all至此,輸入數(shù)據(jù)的模塊就完成了。3.7設(shè)計(jì)高分段平均分高分段平均分反映的是上段分?jǐn)?shù)的平均水平,反映出高分成績(jī)的水平。高分段是人為規(guī)定的,高于該分?jǐn)?shù)段的成績(jī)都稱(chēng)之為高分,對(duì)該成績(jī)平均得到的數(shù)據(jù)叫做叫做高

26、分段平均分。在上面的代碼的最后調(diào)用了SHOW_GFD表單,該表單的設(shè)計(jì)方法與SHOW_LJC相同,區(qū)別在于數(shù)據(jù)環(huán)境中的添加表為L(zhǎng)KGFBB.DBF,設(shè)計(jì)界面如圖3-8所示:圖3-8 高分段平均分表單設(shè)計(jì)界面3.8設(shè)計(jì)離均差模塊在處理離均差前首先要計(jì)算出每班每科的P值,計(jì)算過(guò)程是首先分別將一個(gè)班級(jí)的單科成績(jī)降序排列,然后將該成績(jī)序列分成3個(gè)分?jǐn)?shù)段,每個(gè)分?jǐn)?shù)段的起始點(diǎn)是人為規(guī)定的,其次計(jì)算出每個(gè)分?jǐn)?shù)段的平均分,最后將3個(gè)分?jǐn)?shù)段的平均分乘以一個(gè)系數(shù),將得到的結(jié)果相加得到的就是P值,接下來(lái)處理系數(shù)、可比離均差、離均差漲幅等多項(xiàng)數(shù)據(jù)。上述功能的實(shí)現(xiàn)放在了主界面中,即MAIM表單中的Command2控件的

27、Click行為窗口,添加實(shí)現(xiàn)功能的代碼。首先初始化表:SET TALK OFFCLOSE ALL*清空離均差表USE LJC.DBFREPLACE ALL PZH WITH 0REPLACE LJC WITH OUSE計(jì)算P值是離均差處理中的一個(gè)重要的數(shù)據(jù),在以后的計(jì)算中要重復(fù)使用,計(jì)算的方法為:將某個(gè)班的單科成績(jī)存放在一個(gè)數(shù)組中,所有的成績(jī)降序排列,排列的方法采用了效率較高的冒泡排序法。然后將排好序的成績(jī)分成3個(gè)分?jǐn)?shù)段,開(kāi)放分?jǐn)?shù)段的取值范圍越大則表明對(duì)P值的影響越大,具體的分?jǐn)?shù)段取值范圍讀者可以根據(jù)需要來(lái)確定。P值可以使用下面的公式計(jì)算出來(lái):P=第一個(gè)分?jǐn)?shù)段的平均分*0.5+第二個(gè)分?jǐn)?shù)段的平

28、均分*0.35+第三個(gè)分?jǐn)?shù)段的平均分*0.15公式中每個(gè)分?jǐn)?shù)段平均分乘以權(quán)重是根據(jù)需要確定的,用戶(hù)可以自行修改。計(jì)算出來(lái)的P值存放在LJC.DBF數(shù)據(jù)表。接下來(lái)處理每科成績(jī)的系數(shù),系數(shù)代表了本次考試成績(jī)與本學(xué)期第一次考試成績(jī)的比值,系數(shù)越小表明本次考試越好。計(jì)算系數(shù)就是將同種類(lèi)型的班級(jí)的某一科成績(jī)存放在一個(gè)數(shù)組中,將降序的方法排列,提取前一定比例的平均分以及后一定比例的平均分,提取分?jǐn)?shù)的比例是人為規(guī)定的,將兩個(gè)分?jǐn)?shù)段的平均分相減作為系數(shù)計(jì)算的分母。使用上述方法處理的本學(xué)期的第一次考試存放在XSH.DBF中,作為本學(xué)期所有考試系數(shù)處理的分子。取出理科班某一科所有班級(jí)的P值,計(jì)算出該科P值的平均值

29、,然后用理科班所有班級(jí)的相應(yīng)科目的P值和計(jì)算處理的平均值相減,得到的結(jié)果就是離均差,并將其存放在LJC.DBF表中。在LJC.DBF表設(shè)置了一個(gè)可比離均差,該數(shù)值反映了本次考試與上次考試的對(duì)此情況,計(jì)算的方法是用本次的離均差與本學(xué)期第一次考試離均差相減得到的結(jié)果即為可比離均差。接下來(lái)要計(jì)算離均差的漲幅,計(jì)算的方法是用本次的可比離均差與起始離均差與相減,得到的結(jié)果即為離均差的漲幅。通過(guò)上面的設(shè)計(jì)以及將所有的離均差相關(guān)的數(shù)據(jù)處理完畢,為了更加清楚地反映本次的考試結(jié)果,將處理的結(jié)果按科目排序,排序的結(jié)果存放在LJC_PX.DBF表中。完成后的設(shè)計(jì)界面如圖3-9所示:圖3-9 離均差設(shè)計(jì)界面3.9 設(shè)

30、計(jì)大平均分平均分是成績(jī)處理中最為基礎(chǔ)的計(jì)算方法,在MAIN表單中鼠標(biāo)雙擊command4,打開(kāi)click行為的代碼編輯窗口,將計(jì)算大平均分的功能添加到窗口中。代碼設(shè)計(jì)如下:*計(jì)算3理科班的大平均分CLOSE ALLCLEAR MEMORYSET TALK OFFUSE DPJ.DBFDELETE ALLPACK USEUSE DPJBB.DBFDELETE ALLPACKUSEFOR I=1 TO 3DO CASE CASE I=1 BJ_NAME=”CJG301.DBF” BJ_MCH=”高三(1)班” CASE I=2 BJ_NAME=”CJG302.DBF” BJ_MCH=”高三(2)班

31、” CASE I=3 BJ_NAME=”CJG303.DBF” BJ_MCH=”高三(3)班” ENDCASEFOR J=1 TO 6 &計(jì)算一個(gè)班中的6科成績(jī)的平均分 DO CASE CASE J=1 KM_NAME=”語(yǔ)文” KM_DAIMA=”YW”CASE J=2 KM_NAME=”數(shù)學(xué)” KM_DAIMA=”SX”CASE J=3 KM_NAME=”英語(yǔ)” KM_DAIMA=”YY”CASE J=4 KM_NAME=”物理” KM_DAIMA=”WL”CASE J=5 KM_NAME=”化學(xué)” KM_DAIMA=”HX”CASE J=6 KM_NAME=”生物” KM_DAIMA=”

32、SW”ENDCASEUSE &BJ_NAME &打開(kāi)相應(yīng)的班級(jí)庫(kù)文件AVERAGE &KM_DAIMA TO DKPJF & 計(jì)算單科平均分USELOCATE FOR NAME=”&BJ_MCH”.AND.KM=”&KM_NAME”RKJSH=T_NAMEUSEUSE DPJ.DBFAPPEND BLANKREPLACE BJ WITH BJ_MCH,KM WITH KM_NAME,RK WITH RKJSH,PJF WITH DKPJF USE ENDFORENDFOR*處理文科班的大平均分FOR I=4 TO 6DO CASE CASE I=4 BJ_NAME=”CJG304.DBF” B

33、J_MCH=”高三(4)班” CASE I=5 BJ_NAME=”CJG305.DBF” BJ_MCH=”高三(5)班” CASE I=3 BJ_NAME=”CJG306.DBF” BJ_MCH=”高三(6)班” ENDCASE FOR J=1 TO 6 &計(jì)算一個(gè)班中的6科成績(jī)的平均分 DO CASE CASE J=1 KM_NAME=”語(yǔ)文” KM_DAIMA=”YW” CASE J=2 KM_NAME=”數(shù)學(xué)” KM_DAIMA=”SX”CASE J=3 KM_NAME=”英語(yǔ)” KM_DAIMA=”YY”CASE J=4 KM_NAME=”物理” KM_DAIMA=”WL”CASE J

34、=5 KM_NAME=”化學(xué)” KM_DAIMA=”HX”CASE J=6 KM_NAME=”生物” KM_DAIMA=”SW”ENDCASEUSE &BJ_NAME &打開(kāi)相應(yīng)的班級(jí)庫(kù)文件AVERAGE &KM_DAIMA TO DKPJF & 計(jì)算單科平均分USELOCATE FOR NAME=”&BJ_MCH”.AND.KM=”&KM_NAME”RKJSH=T_NAMEUSEUSE DPJ.DBFAPPEND BLANKREPLACE BJ WITH BJ_MCH,KM WITH KM_NAME,RK WITH RKJSH,PJF WITH DKPJF USE ENDFORENDFORF

35、OR I=1 TO 9DO CASE CASE I=1 KM_DAIMA=”語(yǔ)文” CASE I=2 KM_DAIMA=”數(shù)學(xué)” CASE I=4 KM_DAIMA=”物理” CASE I=5 KM_DAIMA=”化學(xué)” CASE I=6 KM_DAIMA=”生物” CASE I=7 KM_DAIMA=”政治” CASE I=8 KM_DAIMA=”歷史” CASE I=9 KM_DAIMA=”地理” ENDCASE USE DPJBB.DBF APPEND FROM DPJ.DBF FOR KM”=&KM_DAIMA” USEENDFORMESSAGEBOX(“數(shù)據(jù)處理完畢!”)DO FOR

36、M Show-DPJ3.10設(shè)計(jì)設(shè)置高分段高分段是考試結(jié)束后人為確定的,本系統(tǒng)中提供了設(shè)置高分段的一個(gè)模塊,在項(xiàng)目管理器中添加一個(gè)表單,命名為GFD.SHR。添加2個(gè)ComandGroup控件,用來(lái)分割表單顯示區(qū)域;3個(gè)lable控件,用來(lái)顯示標(biāo)題和提示信息;2個(gè)text控件,供用戶(hù)輸入成績(jī);1個(gè)Command控件,完成輸入結(jié)果的保存,返回到主界面,在Command6控件的click行為代碼窗口中添加如下代碼,以便用戶(hù)調(diào)用設(shè)置高分段表單:表3-3 主界面控件屬性設(shè)置編號(hào)名稱(chēng)類(lèi)型屬性名稱(chēng)屬性值1IMAGE1IMAGEPICTURE光盤(pán):、素材2COMMAND1COMMANDCAPTION日常管理

37、3COMMAND2COMMANDCAPTION畢業(yè)管理4COMMAND3COMMANDCAPTION查詢(xún)5COMMAND4COMMANDCAPTION用戶(hù)管理6COMMAND5COMMANDCAPTION退出系統(tǒng)設(shè)計(jì)完成的表單如圖3-10所示:圖3-10 高分段輸入設(shè)計(jì)界面Do form GFD_SHR調(diào)用高分段設(shè)計(jì)模塊,同時(shí)在Command7控件的click行為代碼窗口中添加,退出該系統(tǒng),This for.release這個(gè)系統(tǒng)的設(shè)計(jì)工作就完成了。4 調(diào)試分析 在設(shè)計(jì)好了各個(gè)模塊的表單中的程序之后,對(duì)每一個(gè)模塊都進(jìn)行了實(shí)驗(yàn)。通過(guò)正確地輸入數(shù)據(jù),得到了與預(yù)期相同的結(jié)果,由此確定該程序的正確性和

38、可行度。程序發(fā)布前的最后調(diào)試是指對(duì)最終功能和程序的健壯性的測(cè)試。包括最后調(diào)試和功能測(cè)試兩個(gè)方面。程序的最后調(diào)試工作是應(yīng)用程序發(fā)布版本的最后檢查階段,主要有以下幾點(diǎn):程序遇到用戶(hù)錯(cuò)誤操作時(shí)能否正確處理;程序的預(yù)定功能是否到達(dá);程序在運(yùn)行錯(cuò)誤時(shí)是否能夠正確的處理錯(cuò)誤。 在成績(jī)處理程序中,輸入了對(duì)應(yīng)的正確信息之后,在運(yùn)行程序的時(shí)候也得到了正確的結(jié)果。然而在重新登錄表單的程序運(yùn)行中,輸入的數(shù)據(jù)沒(méi)有進(jìn)行事先的檢驗(yàn),導(dǎo)致運(yùn)行之后得不到數(shù)據(jù),顯示不出來(lái),后來(lái)重新對(duì)程序的編譯,數(shù)據(jù)的輸入進(jìn)行檢查,找到了問(wèn)題的所在輸入的數(shù)據(jù)不能在數(shù)據(jù)庫(kù)表中找到。之后的數(shù)據(jù)備份模塊和系統(tǒng)維護(hù)模塊都運(yùn)行正常,得到了正確的結(jié)果。5

39、用戶(hù)使用說(shuō)明在前面,我們已將各模塊的程序設(shè)計(jì)完畢,現(xiàn)在可以把它們組合起來(lái)以完成一個(gè)完整的成績(jī)計(jì)算系統(tǒng)。(1)成績(jī)錄入系統(tǒng) 試卷采用主觀和客觀兩種方式的試題,客觀試題采用自動(dòng)閱卷機(jī)收集成績(jī),而主觀試題只能人工來(lái)評(píng)閱。在系統(tǒng)中提供了輸入主觀試題成績(jī)的功能。在選擇班級(jí)界面選擇要輸入的班級(jí),系統(tǒng)運(yùn)行時(shí)允許用戶(hù)選擇所要輸入的班級(jí),并根據(jù)用戶(hù)的選擇打開(kāi)相應(yīng)班級(jí)的成績(jī)單供用戶(hù)修改,將修改的結(jié)果保存到相應(yīng)的班級(jí)成績(jī)表中。(2)數(shù)據(jù)處理系統(tǒng)在處理離均差前首先要計(jì)算出每班每科的P值,計(jì)算過(guò)程是首先分別將一個(gè)班級(jí)的單科成績(jī)降序排列,然后將該成績(jī)序列分成3個(gè)分?jǐn)?shù)段,每個(gè)分?jǐn)?shù)段的起始點(diǎn)是人為規(guī)定的,其次計(jì)算出每個(gè)分?jǐn)?shù)段

40、的平均分,最后將3個(gè)分?jǐn)?shù)段的平均分乘以一個(gè)系數(shù),將得到的結(jié)果相加得到的就是P值,接下來(lái)處理系數(shù)、可比離均差、離均差漲幅等多項(xiàng)數(shù)據(jù)。接下來(lái)處理每科成績(jī)的系數(shù),系數(shù)代表了本次考試成績(jī)與本學(xué)期第一次考試成績(jī)的比值,系數(shù)越小表明本次考試越好。計(jì)算系數(shù)就是將同種類(lèi)型的班級(jí)的某一科成績(jī)存放在一個(gè)數(shù)組中,將降序的方法排列,提取前一定比例的平均分以及后一定比例的平均分,提取分?jǐn)?shù)的比例是人為規(guī)定的,將兩個(gè)分?jǐn)?shù)段的平均分相減作為系數(shù)計(jì)算的分母。 (3)成績(jī)分析處理系統(tǒng)計(jì)算平均分是成績(jī)處理中典型的數(shù)據(jù)處理方法,通過(guò)處理的結(jié)果可以得到成績(jī)總體水平。一定的分?jǐn)?shù)線稱(chēng)為高分段,對(duì)超過(guò)該分?jǐn)?shù)段的成績(jī)的平均成績(jī)叫做高分段平均分

41、,該數(shù)據(jù)顯示了優(yōu)秀學(xué)生的平均情況,計(jì)算的方法為將等于或者超過(guò)高分段的成績(jī)平均,得到的值即為高分段??荚嚱Y(jié)束后參考以前考試的效果,人為地規(guī)定出本次考試的理科和文科的高分段。設(shè)置高分段分?jǐn)?shù)功能模塊將接受用戶(hù)的輸入。6 測(cè)試結(jié)果通過(guò)各項(xiàng)測(cè)試,對(duì)于程序編寫(xiě)時(shí)引發(fā)的錯(cuò)誤,進(jìn)行了修改,最后得到了正確的程序內(nèi)容。在測(cè)試成績(jī)處理模塊的時(shí)候,我們對(duì)測(cè)試結(jié)果進(jìn)行了檢驗(yàn)。,結(jié)果是沒(méi)有錯(cuò)誤的。但是在數(shù)據(jù)計(jì)算模塊的時(shí)候,調(diào)用表單需要傳遞給它一個(gè)參數(shù),告訴表單計(jì)算的形式是什么。使用的selectsql語(yǔ)句和集合函數(shù)sum()來(lái)進(jìn)行統(tǒng)計(jì)。但是我們之前并沒(méi)有考慮到這一點(diǎn),所以得不到所對(duì)應(yīng)的數(shù)據(jù)。在輸入正確的信息后,我們也能夠

42、得到正確的結(jié)果。模塊之間的聯(lián)系也處于正常狀態(tài)??偟膩?lái)說(shuō),測(cè)試結(jié)果是令人滿意的。7 總 結(jié)這一周的安排如下:周一上午看老師所發(fā)的資料,大致了解此次課程設(shè)計(jì)的主要內(nèi)容。下午,組員在一起商量整個(gè)系統(tǒng)模塊的建設(shè),每個(gè)模塊的應(yīng)用范圍以及原理。周二,編寫(xiě)主程序,每個(gè)模塊對(duì)應(yīng)下表單的相關(guān)程序。一直持續(xù)到周三上午。周三下午,對(duì)所編寫(xiě)的程序進(jìn)行調(diào)試,有差錯(cuò)的地方及時(shí)調(diào)整。周四,編寫(xiě)實(shí)驗(yàn)報(bào)告,做一個(gè)較為詳細(xì)的用戶(hù)說(shuō)明書(shū)。周五,做最后的檢查,遞交實(shí)驗(yàn)報(bào)告。我相信,這一次課程實(shí)習(xí)之后,我對(duì)于這一方面的知識(shí)會(huì)更加得心應(yīng)手。8 致 謝這一周的課程設(shè)計(jì)的學(xué)習(xí),時(shí)間雖然很短,但是真的讓我學(xué)習(xí)到了很多平時(shí)上課不能學(xué)到的東西,例

43、如,細(xì)節(jié)決定成敗。這句話或許在平時(shí)體現(xiàn)得不是很明顯,但是在編寫(xiě)程序的時(shí)候卻體現(xiàn)得淋漓盡致,真的是細(xì)節(jié)決定你這個(gè)程序能不能正常運(yùn)行,一個(gè)字母或者是一個(gè)符號(hào)錯(cuò)了,你編寫(xiě)出來(lái)的程序就不能運(yùn)行了。我們學(xué)習(xí)編寫(xiě)程序,學(xué)習(xí)的不只是如何來(lái)設(shè)計(jì)程序,還有如何做人,如何提高自己的能力.細(xì)心,合作,耐心,這些都是編寫(xiě)所需要的。這一周,真的讓我受益匪淺,不僅提高了我的實(shí)際操作能力,還對(duì)我以后不論是在工作中還是生活中,都有很大的幫助。感謝學(xué)校開(kāi)展了課程設(shè)計(jì)這個(gè)專(zhuān)周, 希望學(xué)校能夠多多開(kāi)展此類(lèi)教學(xué)活動(dòng)來(lái)豐富我們的學(xué)習(xí)生活。感謝在我寫(xiě)這份報(bào)告時(shí)指導(dǎo)我的老師們,每次設(shè)計(jì)遇到問(wèn)題時(shí)老師不辭辛苦的講解才使得我的課程設(shè)計(jì)順利的進(jìn)

44、行,花費(fèi)了老師很多時(shí)間,在此,向老師們衷心的感謝,老師們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,開(kāi)拓進(jìn)取的精神和高度的責(zé)任心都對(duì)我?guī)椭艽蟆_€要感謝和我一起合作的幾位同學(xué)們,是你們?cè)谖移綍r(shí)設(shè)計(jì)中和我一起探討問(wèn)題,并指出我的一些誤區(qū),使我能及時(shí)發(fā)現(xiàn)問(wèn)題,并且改正,沒(méi)有你們的幫助,我不可能這樣子順利的完成這篇報(bào)告,在此表示深深地謝意.。9 參考文獻(xiàn)1 劉衛(wèi)國(guó).Visual FoxPro課程設(shè)計(jì)教程(第二版). 北京.北京郵電大學(xué)出版社,2005.09.34-36;2 陳洛資. 數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用基礎(chǔ)M.北京:北京交通大學(xué)出版社,2003.08.55-56; 10 附 錄設(shè)計(jì)輸入數(shù)據(jù)模塊*選擇要輸入的班級(jí),然后輸入該班的成績(jī)

45、file_name=alltrim(bo1.value)*刪除show.dbf表文件if file(show.dbf) delete file show.dbfendif*將用戶(hù)選擇的班級(jí)成績(jī)導(dǎo)入到show.dbf表中select*from&file_name into table show.dbfclose all*用全局變量來(lái)保存用戶(hù)的選擇show_file_name=file_name*執(zhí)行修改表單do form xg*將用戶(hù)修改的數(shù)據(jù)保存到選擇的班級(jí)成績(jī)表中use&show_file_namedelete allpack*將修改的結(jié)果保存到選擇的班級(jí)文件中append from sho

46、w.dbfthisform.release*退出修改表單close all設(shè)計(jì)離均差模塊初始化表SET TALK OFFCLOSE ALL*清空離均差表USE LJC.DBFREPLACE ALL PZH WITH 0REPLACE LJC WITH OUSE計(jì)算P值A(chǔ)BC=1FOR I1=1 TO 3 &依次處理1到3班的成績(jī) DO CASE &選擇班級(jí)名稱(chēng),并且存儲(chǔ)班名,共個(gè)3個(gè) CASE I1=1 BJ_NAME=CJG301.DBF BJ_MCH=高三(1)班 CASE I1=2 BJ_NAME=CJG302.DBF BJ_MCH=高三(2)班 CASE I1=3 BJ_NAME=CJ

47、G303.DBF BJ_MCH=高三(3)班 ENDCASE FOR I=1 TO 6 &處理各班數(shù)據(jù) DO CASE CASE I=1 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH=語(yǔ)文 FOR J=1 TO K &傳遞給數(shù)組 TEMP(J)=YW SKIP ENDFOR CASE I=2 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUNT() DELETE TEMP(K) GOTO 1 KM_MCH=數(shù)學(xué) J=1 FOR J=1 TO K &傳遞給數(shù)組 TEMP(

48、J)=SX SKIP ENDFOR CASE I=3 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH=英語(yǔ) J=1 FOR J=1 TO K &傳遞給數(shù)組 TEMP(J)=YY SKIP ENDFOR CASE I=4 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH=物理 J=1 FOR J=1 TO K &傳遞給數(shù)組 TEMP(J)=WL SKIP ENDFOR CASE I=5 &處理一個(gè)班的成績(jī) U

49、SE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH化學(xué) J=1 FOR J=1 TO K &傳遞給數(shù)組 TEMP(J)=HX SKIP ENDFOR CASE I=6 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUN() DECLARE TEMP(K) GOTO 1 KM_MCH生物 J=1 FOR J=1 TO K &傳遞給數(shù)組 TEMP(J)=SW SKIP ENDFOR ENDCASE &下面的操作是進(jìn)行的排序操作 M=0 N=0 Y=0 &指針變量 X=0 &中間變量 FOR M=2 T

50、O K IF TEMP(M)TEMP(M-1) N=M-1 X=TEMP(M) DO WHILE XTEMP(N) TEMP(N+1)=TEMP(N) N=N-1 IF N=0 EXIT ENDIF ENDDO TEMP(N+1)=X ENDIF ENDFOR &排序完畢 ZH1=0 ZH2=0 ZH3=0 &計(jì)算離均差 FOR M=1 TO 1 ZH1=ZH1+TEMP(M) ENDFOR FOR M=2 TO 2 ZH2=ZH2+TEMP(M) ENDFOR FOR M=3 TO 3 ZH3=ZH3+TEMP(M) IF EOF() EXIT ENDIF ENDFOR P=(ZH1/1)*

51、0.5+(ZH2/1)*0.35+(ZH3/1)*0.15 CLOSE ALL USE TEACHER &查找任課教師姓名 LOCATE FOR NAME=BJ_MCH.AND.KM=KM_MCH KR_TEACHER=TEACHER.T_NAME USE USE LJC.DBF &填寫(xiě)離均差表 GOTO ABC REPLACE LJC.BJ WITH BJ_MCH,LJC.PZH WITH P REPLACE LJC.KM WITH KM_MCH,LJC.RK WITH KR_TEACHER ABC=ABC+1 CLOSE ALL ENDFORENDFOR&處理文科成績(jī)FOR I1=4 TO

52、 6 DO CASE &選擇班級(jí)名稱(chēng) CASE I1=4 BJ_NAME=CJG304 BJ_MCH=高三(4)班 CASE I1=5 BJ_NAME=CJG305 BJ_MCH=高三(5)班 CASE I1=6 BJ_NAME=CJG306 BJ_MCH=高三(6)班 ENDCASE FOR I=1 TO 6 &處理各班設(shè)計(jì) DO CASE CASE I=1 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=語(yǔ)文 J=1 FOR J=1 TO K TEMP(J)=YW SKIP ENDFOR CA

53、SE I=2 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=數(shù)學(xué) J=1 FOR J=1 TO K TEMP(J)=SX SKIP ENDFOR CASE I=3 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=英語(yǔ) J=1 FOR J=1 TO K TEMP(J)=YY SKIP ENDFOR CASE I=4 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUNT()

54、DECLARE TEMP(K) GOTO 1 KM_MCH=歷史 J=1 FOR J=1 TO K TEMP(J)=LS SKIP ENDFOR CASE I=5 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=政治 J=1 FOR J=1 TO K TEMP(J)=ZZ SKIP ENDFOR CASE I=6 &處理一個(gè)班的成績(jī) USE &BJ_NAME &打開(kāi)數(shù)據(jù)庫(kù) K=RECCOUNT() DECLARE TEMP(K) GOTO 1 KM_MCH=地理 J=1 FOR J=1 TO K

55、TEMP(J)=DL SKIP ENDFOR ENDCASE &下面的操作是進(jìn)行排序操作 M=0 N=0 Y=0 &指針變量 X=0 &中間變量 FOR M=2 TO K IF TEMP(M)TEMP(M-1) N=M-1 X=TEMP(M) DO WHILE XTEMP(N) TEMP(N+1)=TEMP(N) N=N-1 IF N=0 EXIT ENDIF ENDDO TEMP(N+1)=X ENDIF ENDFOR &排序完畢 ZH1=0 ZH2=0 ZH3=0 &計(jì)算離均差 FOR M=1 TO 1 ZH1=ZH1+TEMP(M) ENDFOR FOR M=2 TO 2 ZH2=ZH2

56、+TEMP(M) ENDFOR FOR M=3 TO 3 ZH3=ZH3+TEMP(M) IF EOF() EXIT ENDIF ENDFOR P=(ZH1/3)*0.5+(ZH2/1)*0.35+(ZH3/1)*0.15 CLOSE ALL USE TEACHER &c查找任課教師姓名 LOCATE FOR NAME=BJ_MCH.AND.KM=KM_MCH KR_TEACHER=TEACHER.T_NAME USE USE LJC.DBF &填寫(xiě)離均差表 GOTO ABC REPLACE LJC.BJ WITH BJ_MCH,LJC.PZH WITH P REPLACE LJC.KM WI

57、TH KM_MCH,LJC.RK WITH KR_TEACHER ABC=ABC+1 CLOSE ALL ENDFOR ENDFOR CLOSE ALL計(jì)算系數(shù)FOR A=1 TO 6DO CASE&處理六科成績(jī)CASE A=1 KM_NAME=”語(yǔ)文” KM_DAIMA=”YW”CASE A=2 KM_NAME=”英語(yǔ)” KM_DAIMA=”YY”CASE A=3 KM_NAME=”數(shù)學(xué)” KM_DAIMA=SX”CASE A=4 KM_NAME=”物理” KM_DAIMA=”WL”CASE A=5 KM_NAME=”化學(xué)” KM_DAIMA=”HX”CASE A=6 KM_NAME=”生物

58、” KM_DAIMA=”SW”ENDCASEXSGS=0FOR I=1 TO 3DO CASECASE I=1USE CJG301.DBF XSGS=XSGS+RECCOUNT()CASE I=2USE CJG302.DBF XSGS=XSGS+RECCOUNT()CASE I=3USE CJG303.DBF XSGS=XSGS+RECCOUNT()ENDCASEENDFOR*初始化數(shù)組DECLARE TEMP(XSGS)FOR HOU=1 TO XSGSTEMP(HOU)=0ENDFOR*初始化指針J=1& 計(jì)算應(yīng)理系統(tǒng)FOR I=1 TO 3 DO CASE CASE I=1 BJ_DAIMA=”CJG301.DBF” CASE I=2 BJ_DAIMA=”CJG302.DBF” CASE I=3 BJ_DAIMA=”CJG303.DBF” ENDCASE USE &BJ_DAIMA GOTO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論