資源描述:
《學(xué)生學(xué)習(xí)成績管理系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、中南大學(xué)本科生課程設(shè)計報告書題目學(xué)生學(xué)習(xí)成績管理系統(tǒng)學(xué)生姓名學(xué)院信息科學(xué)與工程學(xué)院專業(yè)班級33C語言程序設(shè)計實踐報告一、設(shè)計實踐的目的、任務(wù)與要求本設(shè)計實踐是“C語言程序設(shè)計”課程學(xué)習(xí)的一個關(guān)鍵環(huán)節(jié)。它是根據(jù)教學(xué)計劃的要求,在教師的指導(dǎo)下,對學(xué)生實施程序設(shè)計訓(xùn)練的必要過程,是對前期課堂學(xué)習(xí)內(nèi)容的綜合應(yīng)用及其效果的檢驗和提高。其目的在于培養(yǎng)學(xué)生綜合運用理論知識來分析和解決實際問題的能力、以及嚴謹?shù)目茖W(xué)態(tài)度和良好的程序設(shè)計習(xí)慣。本次設(shè)計實踐,要求設(shè)計者基于結(jié)構(gòu)化程序設(shè)計思想和所用C語言開發(fā)環(huán)境與工具,并運用“軟件工程”和“數(shù)據(jù)結(jié)構(gòu)”中的有關(guān)概念和方法,針對具
2、體設(shè)計題和要求,分析功能要求,劃分功能模塊,用鏈表結(jié)構(gòu)設(shè)計功能模塊函數(shù),以菜單方式調(diào)用相應(yīng)功能模塊來實現(xiàn)信息和數(shù)據(jù)處理。本次設(shè)計時間為二周,要求獨立完成,具體任務(wù)如下:1、學(xué)習(xí)、掌握采用結(jié)構(gòu)化程序設(shè)計思想進行TurboC(或WinTC,VC)環(huán)境下程序設(shè)計的方法;另外學(xué)習(xí)C語言簡單圖形語句以及簡單圖形界面設(shè)計(參見參考文獻5、6)。2、采用C語言設(shè)計一個“學(xué)生學(xué)習(xí)成績管理系統(tǒng)”,上機編程、調(diào)試并演示該管理系統(tǒng)中的各功能模塊(具體內(nèi)容見四)。3、設(shè)計完成后,每人必須按時提交與驗收程序一致的、能按設(shè)計功能和性能要求運行的程序的清單,一份關(guān)于本次程序設(shè)計和使用
3、介紹的紙質(zhì)文檔即程序設(shè)計、使用說明書及個人總結(jié)(實踐心得、體會等)。二、任務(wù)“學(xué)生學(xué)習(xí)成績管理系統(tǒng)”的基本功能說明“學(xué)生學(xué)習(xí)成績管理系統(tǒng)”用于對學(xué)生學(xué)習(xí)成績數(shù)據(jù)文件的新文件創(chuàng)建和老文件管理,并可以進行密碼設(shè)置。具體要求實現(xiàn)的功能如下:1、輸入/添加記錄:將每一個學(xué)生的學(xué)號、姓名和各科學(xué)習(xí)成績作為一個記錄進行輸入或添加。要求經(jīng)過密碼驗證后能建立一個新的數(shù)據(jù)文件或給已建立好的數(shù)據(jù)文件增加記錄。2、顯示、查詢記錄:能按學(xué)生姓名(或?qū)W號)顯示、查詢一個或多個學(xué)生的各門(或某門)功課的成績和平均成績。3、修改記錄:可以對數(shù)據(jù)文件中的任意記錄的數(shù)據(jù)進行修改,在修改前
4、后對該記錄的內(nèi)容進行顯示,并設(shè)確認提示。(要求設(shè)置密碼,驗證通過后方可進入修改環(huán)節(jié))4、刪除記錄:可以刪除數(shù)據(jù)文件中的任一記錄,包括邏輯刪除(具有恢復(fù)功能)和物理刪除(不可恢復(fù))。(說明:該功能也應(yīng)設(shè)置為經(jīng)過驗證密碼后才可實施刪除)5、成績排序:采用不同的排序方法對單科成績和總(或平均)成績進行排序,但不能改變原記錄的順序。6、統(tǒng)計功能:(A)計算各門課程全班總成績及平均成績;(B)統(tǒng)計各門課程得分為100、90~99、80~89、70~79、60~69和不及格學(xué)生的人數(shù),以及與全班總?cè)藬?shù)的百分比。7、數(shù)據(jù)文件保存和上載功能:能按文件名保存已建立的或修改
5、的整體記錄數(shù)據(jù),能按文件名上載/倒入保存在磁盤的整體記錄數(shù)據(jù)。8、其他:該軟件應(yīng)具有系統(tǒng)名稱、設(shè)計單位或個人等基本信息。三、此程序的功能存儲學(xué)生的成績信息,可以添加、顯示、排序、查詢、修改、刪除、恢復(fù)、統(tǒng)計學(xué)生的信息,33運行程序時,先輸入專業(yè)班級,如果沒有對應(yīng)的文件,進入操作完成后,選擇保存或退出系統(tǒng)并保存所做更改時,程序?qū)?chuàng)建一個和你輸入的專業(yè)班級同名的文件存儲你輸入或改變的學(xué)生信息,如果有對應(yīng)的文件,你進入操作時,程序?qū)⒄业较嚓P(guān)文件,讀取文件里面的信息。如果是第一次進入,先設(shè)置密碼,連續(xù)兩次輸入相同的密碼,如果不是第一次進入,要輸入原來設(shè)置的密碼,
6、進入后根據(jù)提示選擇序號進行相關(guān)操作,操作過程中,如果輸入錯誤信息,程序可以處理輸入的一些錯誤信息,如果想中途保存,可以選擇保存,再進行其它操,也可以最后退出程序時,選擇退出系統(tǒng)并保存;如果并不想保存此前的操作,可以選擇退出系統(tǒng)不保存??梢詫Υ鎯Ρ粍h除學(xué)生信息的文件進行刪除操作,但要在沒有調(diào)用刪除和恢復(fù)函數(shù)之前,如果在調(diào)用刪除和恢復(fù)函數(shù)之后操作,將提示“數(shù)據(jù)正在被使用,請下次啟動程序時再清理,按任意鍵返回”。四、程序設(shè)計方案1、數(shù)據(jù)結(jié)構(gòu)采用鏈表存儲學(xué)生的基本信息,包括學(xué)號、姓名、學(xué)生成績2、整體設(shè)計思想在main主函數(shù)中定義一個結(jié)構(gòu)體指針變量head,對于
7、添加、修改、刪除這樣的函數(shù),有參數(shù),它們的實參都為head,返回值也賦給head,對于排序函數(shù)有參數(shù),實參也為head,但不對head直接處理,因為我們并不希望經(jīng)過排序后就改變原有學(xué)生邏輯順序,對于排序這樣的函數(shù)所需的變量,由head提供學(xué)生信息,再創(chuàng)建另外一個鏈表,然后排序函數(shù)再對這個新鏈表處理,處理后不返回任何值。head在各函數(shù)之間傳遞信息,每個函數(shù)運行后,都要保證head要么為NULL(沒有學(xué)生成績信息),要么為學(xué)生成績的最新信息。在啟動程序的時候把NULL賦給head,當head變量作為一個實參數(shù)傳遞給函數(shù)時,此時head為NULL,函數(shù)對he
8、ad變量不做任何處理,而讀取已經(jīng)保存在文件里的已有學(xué)生信息進行處理,如果文件里也