劉朝元 吳彩蓮 黃潔
摘要:本文從實際需求分析出發(fā),利用C語言設(shè)計與實現(xiàn)一款學(xué)生成績管理系統(tǒng)程序。學(xué)生記錄包括學(xué)生學(xué)號、姓名、各科目成績,可以實現(xiàn)成績的錄入、計算總分及平均分、成績等級評定、成績查找修改、成績排序以及成績打印輸出等功能。
關(guān)鍵詞:C語言;學(xué)生成績;系統(tǒng)
C作為一種流行的編程語言,已成為非計算機(jī)專業(yè)學(xué)生必需的計算機(jī)基礎(chǔ)課程。這是一門實踐性課程,學(xué)習(xí)C語言的過程必須經(jīng)過三個階段即“敲程序”“改程序”和“編程”。因此,學(xué)習(xí)好C語言的第一步便是充分做好計算機(jī)實踐,這就要求教師將傳統(tǒng)的教學(xué)方法進(jìn)行改變和突破,以計算機(jī)的實踐指導(dǎo)學(xué)生學(xué)習(xí)C語言,本文提出的合作學(xué)習(xí)教學(xué)模式能充分提高學(xué)生的學(xué)習(xí)積極性,增進(jìn)學(xué)生之間的團(tuán)隊精神,從而提高教學(xué)效果[1]。
一、C語言教學(xué)與合作學(xué)習(xí)的融合必要性
在計算機(jī)課程的教學(xué)過程中,C語言是一種比較基礎(chǔ)的教學(xué)知識。要想真正地將計算機(jī)語言理解透徹,必須先將程序的應(yīng)用和編程充分熟悉。因此,無論是單一的教師教學(xué),還是學(xué)生自學(xué),都難以滿足目前的教學(xué)現(xiàn)狀。C語言的學(xué)習(xí)需要將理論與實踐結(jié)合,所以,這是目前能很好地將教學(xué)矛盾的單一性進(jìn)行解決的方法之一;因C語言教學(xué)內(nèi)容比較復(fù)雜,一般的課堂講解便顯得較為乏味;例如,在我校C語言共計56學(xué)時的教學(xué)中,理論課程和計算機(jī)實踐課程各占一半,均為28學(xué)時;由于C語言學(xué)習(xí)較為復(fù)雜,因此無論是理論還是計算機(jī)實踐課程,都是在同一網(wǎng)絡(luò)系統(tǒng)教學(xué)環(huán)境中進(jìn)行;因?qū)W習(xí)的環(huán)境比較固定,在機(jī)房進(jìn)行的C語言的教學(xué)就比較適合合作學(xué)習(xí)的學(xué)習(xí)模式;此外,合作學(xué)習(xí)更容易被更多的學(xué)生接受。他們喜歡在課堂上與“領(lǐng)導(dǎo)者”們一起討論、合作學(xué)習(xí)。這不僅可以提高學(xué)生的學(xué)習(xí)積極性,還可以增強(qiáng)他們的合作能力[2]。
二、需求分析
隨著學(xué)校規(guī)模的不斷擴(kuò)大,各院校專業(yè)、班級、學(xué)生的數(shù)量急劇增加,有關(guān)學(xué)生成績的各種信息也是成倍增加。為了改變學(xué)生成績管理的不便以及繁瑣的工作量,節(jié)省教學(xué)資源,提高工作效率,開發(fā)一個學(xué)生成績管理系統(tǒng)是很有必要的。本系統(tǒng)從實際需求分析出發(fā),利用C語言編寫。
三、系統(tǒng)設(shè)計
總體設(shè)計本項目采用模塊化的程序設(shè)計方法,將大的任務(wù)按照一定的原則分為多個小人物,然后分別設(shè)計各個小任務(wù)。小任務(wù)對應(yīng)的模塊之間相對獨立且相關(guān)。使用模塊化層次結(jié)構(gòu)圖來分析其任務(wù)的劃分。本項目使用大量的數(shù)組結(jié)構(gòu),由九大模塊組成。主要包括顯示開發(fā)團(tuán)隊信息、密碼驗證登錄、學(xué)生成績錄入、計算總分、計算平均值、等級評定、查找修改成績、成績排序以及系統(tǒng)退出功能。
(1)顯示開發(fā)團(tuán)隊信息模塊:主要利用輸出函數(shù)打印設(shè)計好的開發(fā)團(tuán)隊信息。
(2)密碼驗證登錄模塊:密碼設(shè)定為一個字符串,輸入正確進(jìn)入系統(tǒng)主菜單;允許有3次輸入機(jī)會,如果全部輸入錯誤,提示系統(tǒng)退出[3]。
(3)學(xué)生成績錄入模塊:可以先輸入學(xué)生人數(shù),根據(jù)輸入的學(xué)生說完成學(xué)生基本信息和成績信息的錄入,并可以顯示輸出。
(4)計算總分模塊:可以完成每名學(xué)生所有科目成績總分的計算并輸出。
(5)計算平均值模塊:可以完成每名學(xué)生所有科目成績平均分的計算并輸出。
(6)等級評定模塊:可以根據(jù)學(xué)生平均分對學(xué)生成績劃分不及格、及格、良好、優(yōu)秀等幾個等級的劃分并輸出顯示。
(7)查找修改成績模塊:可以根據(jù)輸入的學(xué)號查找是否系統(tǒng)中存在該名學(xué)生信息。如果存在可以修改學(xué)生成績信息并輸出;如果不存在則進(jìn)行信息提示。
(8)成績排序模塊:可以根據(jù)學(xué)生各科目的總分進(jìn)行排序輸出。
(9)系統(tǒng)退出模塊:可以再操作完成后退出系統(tǒng)。
四、系統(tǒng)測試
(1)點擊系統(tǒng)運(yùn)行,首先啟動的界面顯示開發(fā)者團(tuán)隊信息,并提示輸入密碼。
(2)成功登錄界面初始密碼為123456,輸入錯誤有3次輸入機(jī)會,輸入成功顯示系統(tǒng)主菜單[4]。
(3)選擇0-6菜單項,可以完成學(xué)生成績管理系統(tǒng)系統(tǒng)退出、錄入成績、計算總分、計算平均分、等級評定、成績修改、成績排序功能。選擇0:可以退出系統(tǒng);
選擇1:可以輸入學(xué)生人數(shù),并完成指定學(xué)生人數(shù)成績輸入。成績可進(jìn)行[0,100]的驗證。
選擇2、3:相應(yīng)進(jìn)入計算總分和計算平均分界面。首先判斷學(xué)生人數(shù)是否為0。如果人數(shù)為0,先提示輸入學(xué)生人數(shù),然后調(diào)用錄入成績模塊進(jìn)行學(xué)生成績錄入,然后計算總分和平均分。
選擇4:進(jìn)入成績評定界面。首先判斷學(xué)生人數(shù)是否為0。如果人數(shù)為0,先提示輸入學(xué)生人數(shù),然后根據(jù)每名學(xué)生的平均分給出相應(yīng)的成績等級認(rèn)定(包括不及格、及格、中等、良好、優(yōu)秀5個等級)。
選擇5:進(jìn)入成績修改界面。首先輸入要修改的學(xué)生學(xué)號,利用循環(huán)在學(xué)生系統(tǒng)中查找該名學(xué)生。如果找不到會給出相應(yīng)提示,找到后會先輸出該名學(xué)生修改前成績,然后提示輸入要修改的成績,并打印輸出修改后的成績。
選擇6:進(jìn)入成績排序界面。首先輸出原系統(tǒng)中所有學(xué)生的成績,然后根據(jù)冒泡排序進(jìn)行排序,并輸出根據(jù)總分從高到低排好序的學(xué)生成績[5]。
五、結(jié)論
本文利用C語言設(shè)計并完成了一個學(xué)生成績管理系統(tǒng)程序,經(jīng)測試該程序運(yùn)行界面良好,可操作性強(qiáng),到達(dá)了最初設(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í)能力和團(tuán)隊協(xié)作能力,取得了良好的教學(xué)效果。
參考文獻(xiàn)
[1]李桂珍.基于C語言的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電子制作,2021(04):61-63.
[2]王鑫,胡輝.基于C語言的學(xué)生成績管理系統(tǒng)的實現(xiàn)[J].河北理科教學(xué)研究,2019(04):45-46.
[3]鐘玲玲,劉冬雪,黃小平,吳密.基于C語言的學(xué)生信息管理系統(tǒng)設(shè)計與實現(xiàn)[J].河南科技學(xué)院學(xué)報(自然科學(xué)版),2019,47(04):62-67+78.
[4]郭博,舒娟,史曉鳳,韓波,劉華明.基于C#的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)[J].隴東學(xué)院學(xué)報,2018,29(05):13-15.
[5]彭莉.基于C語言的學(xué)生成績管理系統(tǒng)的實現(xiàn)[J].武漢工程職業(yè)技術(shù)學(xué)院學(xué)報,2017,29(04):36-39.
(煙臺南山學(xué)院 山東 煙臺 265713)