用文件實(shí)現(xiàn)的學(xué)生成績管理系統(tǒng)-課程設(shè)計(jì)大作業(yè)_第1頁
用文件實(shí)現(xiàn)的學(xué)生成績管理系統(tǒng)-課程設(shè)計(jì)大作業(yè)_第2頁
用文件實(shí)現(xiàn)的學(xué)生成績管理系統(tǒng)-課程設(shè)計(jì)大作業(yè)_第3頁
用文件實(shí)現(xiàn)的學(xué)生成績管理系統(tǒng)-課程設(shè)計(jì)大作業(yè)_第4頁
用文件實(shí)現(xiàn)的學(xué)生成績管理系統(tǒng)-課程設(shè)計(jì)大作業(yè)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

-題目: 用文件實(shí)現(xiàn)的學(xué)生成績管理系統(tǒng)(含全套完整資料)目的:學(xué)生通過本次實(shí)驗(yàn)編程實(shí)現(xiàn)一個班級學(xué)生成績的管理,使學(xué)生了解文件的主要操作(創(chuàng)建、讀、寫、增加和刪除記錄等)。內(nèi)容和要求1、 編寫一個學(xué)生成績管理的軟件系統(tǒng),語言不限。2、 軟件中能夠隨時增加學(xué)生成績記錄(姓名、班級、學(xué)號、課程名稱、成績),這些記錄存放到磁盤文件中。3、 利用磁盤文件的系統(tǒng)接口函數(shù)編程實(shí)現(xiàn)對學(xué)生成績進(jìn)行管理:以各種方式查詢成績、修改成績;顯示所有的學(xué)生成績。4、 編寫將一個班級的成績復(fù)制到另一個文件的功能。5、 學(xué)習(xí)使用文件編程,實(shí)現(xiàn)指定班級成績文件的刪除操作。6、 能夠?qū)W(xué)生成績記錄進(jìn)行文件備份和還原。7、 本實(shí)驗(yàn)的目的是練習(xí)文件操作,因此該軟件不能使用數(shù)據(jù)庫存放信息,只能用普通文件存放信息。目錄學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報告2一、需求分析21、課程設(shè)計(jì)性質(zhì)和目的22、輸入的形式和輸入值的范圍23、輸出的形式;24、程序所能達(dá)到的功能;25、測試數(shù)據(jù):2二、功能描述3三、總體設(shè)計(jì)31、功能模塊設(shè)計(jì)32、其他模塊代碼設(shè)計(jì)(詳參“程序清單”)/此處與“程序清單”Word文件有超鏈接功能。4四、調(diào)試分析5五、測試結(jié)果51、主界面:圖5-152、錄入學(xué)生信息界面:圖5-253、顯示統(tǒng)計(jì)數(shù)據(jù)界面:圖5-364、查詢學(xué)生成績界面:圖5-465、刪除學(xué)生成績界面:圖5-576、插入學(xué)生成績界面:圖5-677、對已有學(xué)生成績降序排列界面:圖5-788、顯示全部學(xué)生信息界面:圖5-88六、用戶使用說明9七、課程設(shè)計(jì)的總結(jié)9八、附錄(源代碼)10學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報告一、需求分析1、課程設(shè)計(jì)性質(zhì)和目的該課程設(shè)計(jì)的主要任務(wù)是運(yùn)用在數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒–+語言描述)課程中學(xué)到的理論知識來指導(dǎo)實(shí)踐,使我們了解面向?qū)ο笈c面向過程之間的區(qū)別,學(xué)會用所學(xué)知識解決實(shí)際問題,并且通過綜合課程設(shè)計(jì),提高大家的實(shí)踐動手技能,培養(yǎng)我們獨(dú)立分析分析問題和解決問題的能力。2、輸入的形式和輸入值的范圍本系統(tǒng)是一個學(xué)生成績管理系統(tǒng),采用VC+6.0 編譯器作為開發(fā)環(huán)境,這個環(huán)境是我們在學(xué)習(xí)C+的平臺。輸入數(shù)據(jù)類型主要是char、int、float等數(shù)據(jù)類型,輸入內(nèi)容包括:班級、學(xué)號、姓名、數(shù)據(jù)結(jié)構(gòu)、C+ 程序設(shè)計(jì)、多媒體技術(shù)、大學(xué)英語、高等數(shù)學(xué)、大學(xué)體育、馬克思主義政治經(jīng)濟(jì)學(xué)等數(shù)據(jù)。用戶在輸入學(xué)生數(shù)據(jù)時要保證輸入數(shù)據(jù)格式的正確性,系統(tǒng)不會自動檢測輸入的數(shù)據(jù)是否正確,可用。具體要求(輸入學(xué)生學(xué)號、班級姓名和課程成績等的時候要按照其相應(yīng)的數(shù)據(jù)類型進(jìn)行輸入,如:表1-1)。表1-1數(shù)據(jù)類型班級Char例如:(08信管1班)學(xué)號IntNOT NULL課程名稱Char課程成績Float(0=Score=100)3、輸出的形式;輸出形式與輸入形式類似,根據(jù)需要可以選擇顯示輸入的各項(xiàng)內(nèi)容,還可以選擇顯示計(jì)算好平均分后并排序后的記錄,顯示內(nèi)容包括:班級、學(xué)號、姓名、平均分等數(shù)據(jù)。4、程序所能達(dá)到的功能;用戶運(yùn)行程序后進(jìn)入系統(tǒng)主界面,在主界面用戶可以輸入所有學(xué)生的數(shù)據(jù)并保存到文件中,也可以讀取文件中已有的學(xué)生數(shù)據(jù)。用戶在保存數(shù)據(jù)的時候,如果保存位置沒有文件則自動新建一個文件進(jìn)行保存。本系統(tǒng)同時只能對一個數(shù)據(jù)文件進(jìn)行相關(guān)操作,不能同時打開多個數(shù)據(jù)文件,其類似于單用戶操作系統(tǒng)。當(dāng)用戶讀取學(xué)生數(shù)據(jù)后可對其進(jìn)行顯示,插入,刪除,修改,排序,計(jì)算平均分等相關(guān)操作。用戶在操作過程中可隨時對當(dāng)前文件進(jìn)行保存到文件操作,以防止修改的數(shù)據(jù)丟失。5、測試數(shù)據(jù): 經(jīng)過多次測試程序運(yùn)行穩(wěn)定,無致命錯誤。根據(jù)本次課程設(shè)計(jì)的要求對數(shù)據(jù)進(jìn)行輸入并分析數(shù)據(jù)輸出結(jié)果。通過測試發(fā)現(xiàn)當(dāng)用戶正確輸入時系統(tǒng)能夠正確顯示用戶的輸入,當(dāng)用戶輸入錯誤時,系統(tǒng)并不會出現(xiàn)致命錯誤但其將顯示非用戶期望的數(shù)據(jù)。二、功能描述此成績管理系統(tǒng)主要利用單鏈表實(shí)現(xiàn),由如下功能模塊實(shí)現(xiàn):1、錄入模塊。主要完成將學(xué)生記錄存入單鏈表的工作。2、顯示統(tǒng)計(jì)數(shù)據(jù)模塊。主要完成對自己所需的數(shù)據(jù)在鏈表內(nèi)進(jìn)行查詢后的統(tǒng)計(jì)結(jié)果.3、查詢模塊。主要完成對已有學(xué)生的學(xué)號、姓名等數(shù)據(jù)進(jìn)行查詢4、修改模塊。主要完成對已有學(xué)生的成績或者其他信息,由于錄入錯誤或者其他錯誤進(jìn)行修改。5、刪除模塊。主要用來刪除不在需要的學(xué)生信息。6、插入模塊。主要是對漏錄或者其他原因的學(xué)生信息,重新做一次錄入信息。7、學(xué)生成績排序模塊。用于對已有的學(xué)生信息,按照其成績的高低對其排序。8、顯示學(xué)生成績模塊。是用來顯示所有存在學(xué)生的全部成績。三、總體設(shè)計(jì)1、功能模塊設(shè)計(jì)void main() /*主函數(shù)*/for(;)switch(menu() /*選擇判斷*/case 1:Input(stud);/*輸入學(xué)生成績*/break;case 2:Statistic(stud); /*輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)*/break;case 3:Lookup(stud); /*查找學(xué)生成績*/coutttt;system(pause);break;case 4:Modify(stud); /*修改學(xué)生成績*/coutttt;system(pause);break;case 5:Delete(stud); /*按學(xué)號查找,刪除學(xué)生信息*/coutttt;system(pause);break;case 6:Insert(stud);/*增加學(xué)生成績*/coutttt;system(pause);break;case 7:Sort(stud); /*按平均分對成績記錄項(xiàng)進(jìn)行降序排序*/coutttt;system(pause);break;case 8:Output(stud); /*顯示全部學(xué)生成績*/coutttt;system(pause);break;case 0:coutendl =nendl; /*結(jié)束程序*/coutttt;system(pause);exit(0);2、其他模塊代碼設(shè)計(jì)(詳參“程序清單”)/此處與“程序清單”Word文件有超鏈接功能。每個函數(shù)的具體功能:1)主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對成績表進(jìn)行處理;2)錄入函數(shù)Input():輸入班級到政治課成績;3)統(tǒng)計(jì)函數(shù)Statistic():計(jì)算平均成績;4)查詢函數(shù)Lookup():查詢指定學(xué)號學(xué)生成績記錄;5)修改函數(shù)Modify():修改指定學(xué)號學(xué)生成績記錄;6)刪除函數(shù)Delete():刪除指定學(xué)號學(xué)生記錄;7)插入函數(shù)Insert():按平均分順序插入新記錄。8) 排序函數(shù)Sort():按平均分對學(xué)生成績記錄項(xiàng)進(jìn)行降序排序;9)輸出函數(shù)Output():輸出班級所有學(xué)生成績記錄;四、調(diào)試分析內(nèi)容主要包括:在調(diào)試過程中我我們對遇到的問題是如何解決的以及對設(shè)計(jì)與實(shí)現(xiàn)的回顧討論和分析。1、由于在學(xué)C+這么語言的時候,對文件的寫入與讀出不是很精通,在剛開始時候?qū)ξ募牟僮鞑惶靼?,一致不能很好的操作文件,其中最大的問題是對已存在的文件讀取問題,通過“顯示全部學(xué)生成績” 將數(shù)據(jù)從文件中讀取,可是在使用過程中總是出現(xiàn)讀出錯誤,出現(xiàn)亂碼。2、內(nèi)存的分配問題,這也是困惑了我好久的問題。對于我們初學(xué)者來說對內(nèi)存的分配和釋放問題是比較抽象和模糊的難題,本來使用鏈表的方式存儲數(shù)據(jù),然而待到排序時出現(xiàn)了交換數(shù)據(jù)困難的問題,以及分配空間繁瑣釋放空間不及時的問題,造成空間浪費(fèi)使得程序運(yùn)行效率低的問題。因此最后采用了順序存儲記錄的方式,這樣就能改變前述問題。整個調(diào)試過程中主要是這么幾個問題,其余的是一些小問題,很容易的就調(diào)試出來了。五、測試結(jié)果1、主界面:圖5-12、錄入學(xué)生信息界面:圖5-23、顯示統(tǒng)計(jì)數(shù)據(jù)界面:圖5-34、查詢學(xué)生成績界面:圖5-45、刪除學(xué)生成績界面:圖5-5鑒于錄入的數(shù)據(jù)比較少,就不做刪除測試了!6、插入學(xué)生成績界面:圖5-67、對已有學(xué)生成績降序排列界面:圖5-78、顯示全部學(xué)生信息界面:圖5-8六、用戶使用說明用戶運(yùn)行程序后進(jìn)入系統(tǒng)主界面,在主界面用戶可以打開或者新建數(shù)據(jù)文件。用戶新建或者打開文件要符合操作系統(tǒng)的要求,如果用戶打開不存在的文件,那么系統(tǒng)將按照用戶打開的文件名作為新的數(shù)據(jù)文件名,并對其進(jìn)行相關(guān)操作。本系統(tǒng)同時只能對一個數(shù)據(jù)文件進(jìn)行相關(guān)操作,不能同時打開多個數(shù)據(jù)文件,其類似于單用戶操作系統(tǒng)。當(dāng)用戶指定當(dāng)前文件后可對其進(jìn)行顯示,插入,刪除,修改,計(jì)算平均分等相關(guān)功能。用戶在操作過程中可隨時對當(dāng)前文件進(jìn)行保存到文件操作,以防止修改的數(shù)據(jù)丟失。操作完當(dāng)前文件后,用戶可以關(guān)閉該文件,在不退出本系統(tǒng)的前提下另行打開或者新建數(shù)據(jù)文件對其進(jìn)行相關(guān)操作。七、課程設(shè)計(jì)的總結(jié)這次的課程設(shè)計(jì),雖然在調(diào)試程序時候有些疲勞和困倦,但帶給我們每個人很多的收獲。C+在大二的時候已經(jīng)學(xué)了一個學(xué)期了,現(xiàn)在又學(xué)數(shù)據(jù)結(jié)構(gòu),仍有許多知識都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實(shí)際的上機(jī)操作,已經(jīng)減少了許多。對這些知識也有了更深的理解和很好的掌握。也有很多理論上說得過去的代碼,但到了實(shí)際操作,卻是行不通的。這種困惑,有許多已經(jīng)通過實(shí)際操作解決了,并能夠深刻認(rèn)識,但也有很多沒有明白。只能避過這些方法,換方法實(shí)現(xiàn)。在課程設(shè)計(jì)之前,因?yàn)橛辛司C合實(shí)驗(yàn)的經(jīng)驗(yàn)與教訓(xùn),明白了寫代碼這一步是非常重要的,因?yàn)楫?dāng)把代碼輸入電腦,并用編譯器將其運(yùn)行,發(fā)現(xiàn)通過不了,再來檢查找出問題,這是一件非常辛苦的事情,也很浪費(fèi)時間。于是在課程設(shè)計(jì)的時候,我們先是花了好幾天天的時間來把代碼先弄好了,才輸入電腦進(jìn)行操作。覺得寫程序,應(yīng)該先找到該程序中的核心地方,用多種方法來實(shí)現(xiàn)該核心,這才

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論