李桂珍
(新疆農(nóng)業(yè)職業(yè)技術(shù)學(xué)院,新疆昌吉,831100)
隨著學(xué)校規(guī)模的不斷擴大,各院校專業(yè)、班級、學(xué)生的數(shù)量急劇增加,有關(guān)學(xué)生成績的各種信息也是成倍增加。為了改變學(xué)生成績管理的不便以及繁瑣的工作量,節(jié)省教學(xué)資源,提高工作效率,開發(fā)一個學(xué)生成績管理系統(tǒng)是很有必要的。本系統(tǒng)從實際需求分析出發(fā),利用C語言編寫。
本項目采用模塊化的程序設(shè)計方法,將大的任務(wù)按照一定的原則分為多個小人物,然后分別設(shè)計各個小任務(wù)。小任務(wù)對應(yīng)的模塊之間相對獨立且相關(guān)。使用模塊化層次結(jié)構(gòu)圖來分析其任務(wù)的劃分。
本項目使用大量的數(shù)組結(jié)構(gòu),由九大模塊組成。主要包括顯示開發(fā)團隊信息、密碼驗證登錄、學(xué)生成績錄入、計算總分、計算平均值、等級評定、查找修改成績、成績排序以及系統(tǒng)退出功能。
(1)顯示開發(fā)團隊信息模塊:主要利用輸出函數(shù)打印設(shè)計好的開發(fā)團隊信息。
(2)密碼驗證登錄模塊:密碼設(shè)定為一個字符串,輸入正確進入系統(tǒng)主菜單;允許有3次輸入機會,如果全部輸入錯誤,提示系統(tǒng)退出。
(3)學(xué)生成績錄入模塊:可以先輸入學(xué)生人數(shù),根據(jù)輸入的學(xué)生說完成學(xué)生基本信息和成績信息的錄入,并可以顯示輸出。
(4)計算總分模塊:可以完成每名學(xué)生所有科目成績總分的計算并輸出。
(5)計算平均值模塊:可以完成每名學(xué)生所有科目成績平均分的計算并輸出。
(6)等級評定模塊:可以根據(jù)學(xué)生平均分對學(xué)生成績劃分不及格、及格、良好、優(yōu)秀等幾個等級的劃分并輸出顯示。
(7)查找修改成績模塊:可以根據(jù)輸入的學(xué)號查找是否系統(tǒng)中存在該名學(xué)生信息。如果存在可以修改學(xué)生成績信息并輸出;如果不存在則進行信息提示。
(8)成績排序模塊:可以根據(jù)學(xué)生各科目的總分進行排序輸出。
(9)系統(tǒng)退出模塊:可以再操作完成后退出系統(tǒng)。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
(1)數(shù)據(jù)結(jié)構(gòu)設(shè)計
利用結(jié)構(gòu)體數(shù)組將學(xué)生基本資料和成績進行存放。以下以學(xué)生四門課成績?yōu)槔?,定義如下:
運用該結(jié)構(gòu)體程序,即可將從鍵盤輸入的學(xué)生基本信息和4門課成績信息存儲在學(xué)生成績管理系統(tǒng)中,以便進行后面的相關(guān)操作。
(2)函數(shù)設(shè)計
本項目一共由10個函數(shù)構(gòu)成,如下:
(1)點擊系統(tǒng)運行,首先啟動的界面顯示開發(fā)者團隊信息,并提示輸入密碼:
圖3 系統(tǒng)首界面
(2)成功登錄界面
初始密碼為123456,輸入錯誤有3次輸入機會,輸入成功顯示系統(tǒng)主菜單:
圖4 主菜單界面
(3)選擇0-6菜單項,可以完成學(xué)生成績管理系統(tǒng)系統(tǒng)退出、錄入成績、計算總分、計算平均分、等級評定、成績修改、成績排序功能。
選擇0:可以退出系統(tǒng);
選擇1:可以輸入學(xué)生人數(shù),并完成指定學(xué)生人數(shù)成績輸入。成績可進行[0,100]的驗證。
選擇2、3:相應(yīng)進入計算總分和計算平均分界面。首先判斷學(xué)生人數(shù)是否為0。如果人數(shù)為0,先提示輸入學(xué)生人數(shù),然后調(diào)用錄入成績模塊進行學(xué)生成績錄入,然后計算總分和平均分。
選擇4:進入成績評定界面。首先判斷學(xué)生人數(shù)是否為0。如果人數(shù)為0,先提示輸入學(xué)生人數(shù),然后根據(jù)每名學(xué)生的平均分給出相應(yīng)的成績等級認定(包括不及格、及格、中等、良好、優(yōu)秀5個等級)。
選擇5:進入成績修改界面。首先輸入要修改的學(xué)生學(xué)號,利用循環(huán)在學(xué)生系統(tǒng)中查找該名學(xué)生。如果找不到會給出相應(yīng)提示,找到后會先輸出該名學(xué)生修改前成績,然后提示輸入要修改的成績,并打印輸出修改后的成績。
選擇6:進入成績排序界面。首先輸出原系統(tǒng)中所有學(xué)生的成績,然后根據(jù)冒泡排序進行排序,并輸出根據(jù)總分從高到低排好序的學(xué)生成績。
運行界面如圖5所示。
圖5 成績處理界面
本文利用C語言設(shè)計并完成了一個學(xué)生成績管理系統(tǒng)程序,經(jīng)測試該程序運行界面良好,可操作性強,到達了最初設(shè)計的目的。最終將該系統(tǒng)采取項目制教學(xué)方法應(yīng)用到C語言程序設(shè)計課程中,通過做中學(xué)方式引入相關(guān)知識點講解,使學(xué)生對所學(xué)知識點更加容易理解,極大調(diào)動了學(xué)生的學(xué)習(xí)積極性,培養(yǎng)了學(xué)生的創(chuàng)新、自主學(xué)習(xí)能力和團隊協(xié)作能力,取得了良好的教學(xué)效果。