![匯編學生成績管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/776ffca5-be4e-4223-b6d5-8cdd284bf7fe/776ffca5-be4e-4223-b6d5-8cdd284bf7fe1.gif)
![匯編學生成績管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/776ffca5-be4e-4223-b6d5-8cdd284bf7fe/776ffca5-be4e-4223-b6d5-8cdd284bf7fe2.gif)
![匯編學生成績管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/776ffca5-be4e-4223-b6d5-8cdd284bf7fe/776ffca5-be4e-4223-b6d5-8cdd284bf7fe3.gif)
![匯編學生成績管理系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/776ffca5-be4e-4223-b6d5-8cdd284bf7fe/776ffca5-be4e-4223-b6d5-8cdd284bf7fe4.gif)
![匯編學生成績管理系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/776ffca5-be4e-4223-b6d5-8cdd284bf7fe/776ffca5-be4e-4223-b6d5-8cdd284bf7fe5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、學生成績管理系統(tǒng)一、 實驗題目設計學生成績管理程序(3門課程),實現(xiàn)以下功能:1.各科成績的錄入、修改和刪除(10個學生,每人3門成績,分別按學生存放。即學生編號*,語文成績*,語文成績名次,數(shù)學成績*,數(shù)學成績名次,英語成績*,英語成績名次,后面的三個單元存放該生總成績、名次、平均成績)帶*號的為錄入值2.排序:(1) 單科課程成績排序(分數(shù)從高到低):結果放到每門成績之后的名次單元中(2) 總成績排序(分數(shù)從高到低):結果放到每個學生后面的名次單元中3查找:(1) 查詢某位同學某課程成績及名次;總成績及名次.(2) 查詢單科課程不及格同學名單4.統(tǒng)計:(1) 單科平均分(2) 總成績平均分
2、(3) 單科各分數(shù)段人數(shù)(60以下,6070,7080,8090,90100)二、 設計思路1. 數(shù)據(jù)定義。每個學生記錄由學生編號,語文成績,語文成績名次,數(shù)學成績,數(shù)學成績名次,英語成績,英語成績名次,總成績、名次、平均成績組成。其它數(shù)據(jù),單科平均成績,總成績平均分,單科各分數(shù)段人數(shù)。學生編號0 數(shù)字字符串 5成績0 數(shù)字字符串 3名次1 數(shù)字字符串 2分數(shù)段人數(shù)5 數(shù)字字符串5索引表元素無符號雙字節(jié)數(shù)所有成績數(shù)據(jù),語文成績、數(shù)字成績、英語成績、總成績、平均成績,均采用上述成績的定義;所有名次數(shù)據(jù),均采用上述名次定義。2. 數(shù)據(jù)存儲。所有數(shù)據(jù)存儲于文件中。每條學生記錄占用70個字節(jié),實際有效
3、字節(jié)為24字節(jié),記錄最后兩個字節(jié)是回車換行符,其余字節(jié)為空字符,學生記錄從第0個字節(jié)開始存儲。第1000個字節(jié)開始用以存儲索引表。單科平均成績,總成績平均分,單科各分數(shù)段人數(shù)存儲在所有學生記錄之后的單元中。成績數(shù)據(jù),占用三個字節(jié),排名數(shù)據(jù)占用兩個字節(jié),學號數(shù)據(jù)占用五個字節(jié),各科分數(shù)段人數(shù)占用五個字節(jié),有效字節(jié)不足時,在其后補上空字符,即,如,成績100存儲為31,30,30;90存為39,30,00。3. 系統(tǒng)結構系統(tǒng)分為四部分:插入記錄、刪除記錄、數(shù)據(jù)處理和查詢。結構圖如下:3.1. 插入模塊,包括建立成績表、插入一條學生記錄兩個子模塊。插入一條學生記錄子模塊,搜索可用單元,接收輸入的記錄,
4、并寫入文件。建立成績表子模塊,控制輸入界面,并多次調(diào)用插入記錄子模塊,完成成績的建立。3.2. 刪除模塊,包括學號查詢匹配、刪除處理子模塊。學號設計為定長,長度為2字節(jié),搜索以完全匹配的方式進行。刪除處理,完成對索引表的修改。3.3. 數(shù)據(jù)處理模塊,包括計算個人總分、平均分,計算單科平均分,成績排名處理,統(tǒng)計各科分數(shù)段人數(shù)子模塊,各子模塊完成相應的功能,并把結果寫入文件。3.4. 查詢模塊,完成數(shù)據(jù)的顯示功能,包括查詢某個學生個人記錄,查詢不及格名單,查詢各科分數(shù)段人數(shù)及輸出所有記錄三、 算法設計。1. 所有數(shù)據(jù)在文件中的修改以覆蓋的方式進行,因此將為每個數(shù)據(jù)分配固定長度的存儲空間。根據(jù)以上數(shù)
5、據(jù)的定義,數(shù)據(jù)寫入文件前必須“規(guī)格化”,使其符合定義。從鍵盤輸入學號、成績數(shù)據(jù)到緩沖區(qū),最后一個字符是0DH,且長度不等,需去掉回車符,補上空字符??偡?、平均分的計算。從文件中讀出數(shù)據(jù),需先轉換成二進制數(shù)再進行計算,結果必須轉換成符合格式的字符串寫入文件。從字符串到數(shù)字的轉換算法流程圖如下:STR表示從文件讀出的符合格式的字符串。第一個循環(huán)用以算出有效數(shù)字位數(shù),作為第二個循環(huán)的循環(huán)次數(shù)。第二個循環(huán),AX作累加器,循環(huán)體是“乘10、加上數(shù)字”,循環(huán)結束算出其值從數(shù)字轉換成字符串,算法程序圖:2. 程序采用索引表的方式,完成記錄的刪除、插入與查詢;由于不要求學號有序,因而可以采用索引表,對記錄和文
6、件空間進行管理。其優(yōu)點是管理較為簡單,可以進行隨機訪問,能夠滿足插入刪除的需求;缺點是難以實現(xiàn)學號有序。索引表設計如下:記錄最大容量設計為MAX, 鏈表長度為2*MAX+2個字節(jié),即MAX+1個字長。最后一個字存放尾指針目前學生記錄數(shù)目;空閑的位置值為0,否則為1.學生的記錄從第0個字節(jié)的位置開始存放,每70個字節(jié)為一條記錄。程序初始化時,將索引表讀取到緩沖區(qū)INDEX; 索引位置表LP與相應文件空間的指針FP換算方式是:FP= (LP/2) * 70例如,WORD PTR INDEX+4 值為1, 它所表示文件中開始指針值為140,長度為70字節(jié)的空間已經(jīng)使用,即已經(jīng)存有記錄;否則表示空間可
7、用。遍歷索引表,搜索全部記錄:從索引表第一個字開始,順序掃描索引表。找到非0,將索引表位置LP轉換成文件指針FP,讀取數(shù)據(jù),直到遇到0結束。轉換成文件指針的宏定義是:LOCATE MACRO BXREG PUSH AX PUSH BX MOV AX,BXREG MOV BX,2 DIV BL MOV BX,70 MUL BX MOV DX,AX POP BX POP AX ENDMLOCATE宏參數(shù)是目前索引表位置BX,結果得到對應記錄的文件指針送BX。3. 插入模塊插入學生記錄操作流程:()比較目前記錄數(shù)NUM與設計最大容量MAX,相等操作結束;()接收數(shù)據(jù)()搜索可用文件單元()修改索引表
8、、寫入文件。搜索可用文件單元,順序掃描INDEX,直到 INDEX+BX 為0,根據(jù)BX可轉換成可用的文件單元指針。4. 刪除模塊:刪除學生記錄操作流程:()接收搜索條件,程序設計學號長度為最大為5(2)根據(jù)索引表,搜索匹配學號。(3)修改索引表。數(shù)據(jù)處理模塊。修改索引表只需要將相應記錄的在表中索引值改為0.5. 數(shù)據(jù)處理模塊。模塊中排名處理、學科平均成績計算、分數(shù)段人數(shù)統(tǒng)計操作,均需取出某一學科的所有學生成績,因而此操作作為公用子程序以供調(diào)用。個人總分及平均分處理較為簡單,根據(jù)索引逐條處理記錄。學科平均成績計算、分數(shù)段人數(shù)計算,取出學科成績到數(shù)據(jù)緩沖區(qū),再進行相應操作,并將結果寫入文件相應位
9、置。結果在文件中的位置相對固定,直接寫入文件。排名處理。排名結果為一維數(shù)組,與學科成績存在對應關系。排名結果寫入文件操作需多次進行,所以設計成子程序。程序段如下:DATA_IN PROC PUSHREG MOV BX,NUMP MOV CX,INDEX+BX MOV BX,0 DATA_LP1: PUSH CX PUSH BX MOV DX,INDEX+BX CMP DX,0 JZ DIN_NEXT1 LOCATE BX ADD DX,DI MOVE DX MOV CX,CXTEM MOV DX,SI WRITE DX,CX ADD SI,2 JMP DIN_NEXT2DIN_NEXT1: I
10、NC CX DIN_NEXT2: POP BX POP CX ADD BX,2 LOOP DATA_LP1DATA_EXIT: POPREG RETDATA_IN ENDP排名處理算法流程圖:NUM是數(shù)據(jù)個數(shù),作為循環(huán)計數(shù)。每次循環(huán),找出最大的數(shù),并將其改為CX。除最后一次循環(huán)外,CX將是負數(shù),由于成績不存在負數(shù),故不影響下一次循環(huán)找出最大數(shù)。如NUM為10,第一次找到的最大數(shù)將改為-9。最后一次將改成0.循環(huán)結束后,所有數(shù)據(jù)由CX,到0組成,加上NUM調(diào)整后,數(shù)據(jù)變成由1到NUM組成,即排名數(shù)據(jù)。6. 查詢模塊。模塊由學生記錄查詢、學科分數(shù)段人數(shù)查詢、學科不及格學號查詢、顯示所有數(shù)據(jù)子模塊組
11、成。所有數(shù)據(jù),除索引表外,均以定長字符的形式進行存儲,方便輸出。查詢學科分數(shù)段人數(shù)、所有記錄操作,可以直接將數(shù)據(jù)輸出;查詢學生記錄,先進行學號匹配,再輸出一條記錄;查詢學科不及格學號,根據(jù)索引表,讀取有效記錄的某學科成績,符合成績不及格者輸出其學號記錄。模塊算法較為簡單,界面處理較為復雜。界面總體背景在程序啟動時進行初始化,此模塊中各子模塊關鍵在于控制結果輸出顯示。四、 實驗結果顯示所有記錄五、 實驗分析:程序在emu8086環(huán)境下進行編輯,采用MASM5.0進行編譯連接,并調(diào)試通過。程序采用文件進行數(shù)據(jù)存儲,并且以字符的方式進行存儲。這種方式存在諸多不足:數(shù)據(jù)的讀取、寫入需要進行轉換,使用不方便;文件的操作極容易出錯,容易造成數(shù)據(jù)錯誤,如指針移動出現(xiàn)問題,文件中空字符被替換成空格字符;調(diào)試困難。為方便調(diào)試,文件中的數(shù)據(jù)在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版地理八年級下冊6.2《白山黑水-東北三省》聽課評課記錄1
- 蘇科版九年級數(shù)學聽評課記錄:第50講 二次函數(shù)y
- 七年級下聽評課記錄數(shù)學
- 新版湘教版秋八年級數(shù)學上冊第四章一元一次不等式組課題一元一次不等式的應用聽評課記錄
- 申請在家自學的協(xié)議書(2篇)
- 電價變更合同范本(2篇)
- 蘇科版數(shù)學七年級下冊聽評課記錄8.1同底數(shù)冪的乘法
- 湘教版數(shù)學九年級下冊2.5《直線與圓的位置關系》聽評課記錄3
- 一年級上冊數(shù)學聽評課記錄《3.8 小雞吃食 》 北師大版
- 2025年錫焊專用設備合作協(xié)議書
- 小學數(shù)學三年級下冊第八單元《數(shù)學廣角-搭配(二)》大單元集體備課整體設計
- (高清版)TDT 1031.6-2011 土地復墾方案編制規(guī)程 第6部分:建設項目
- 2024年江蘇省高中學業(yè)水平測試生物試卷
- 露天采場危險有害因素辨識
- 蘇教版一年級上、下冊勞動與技術教案
- 七上-動點、動角問題12道好題-解析
- 山東曲阜的孔廟之旅
- 一到六年級語文詞語表人教版
- 中煤集團綜合管理信息系統(tǒng)運維服務解決方案-V3.0
- 直播營銷與運營(第2版)全套教學課件
- 高二英語閱讀理解30篇
評論
0/150
提交評論