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