




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院綜合設(shè)計(jì)報(bào)告設(shè)計(jì)名稱:軟件根底綜合設(shè)計(jì)設(shè)計(jì)題目:小型學(xué)生成績治理系統(tǒng)學(xué)生學(xué)號(hào):專業(yè)班級(jí):2021 計(jì)算機(jī)科學(xué)與技術(shù) 01班學(xué)生姓名:何經(jīng)緯學(xué)生成績:指導(dǎo)教師職稱: 鄒君講師完成時(shí)間:武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院說明:1、報(bào)告中的第一、二、三項(xiàng)由指導(dǎo)教師在綜合設(shè)計(jì)開始前填寫并發(fā)給每個(gè) 學(xué)生;四、五兩項(xiàng)中英文摘要由學(xué)生在完成綜合設(shè)計(jì)后填寫.2、學(xué)生成績由指導(dǎo)教師根據(jù)學(xué)生的設(shè)計(jì)情況給出各項(xiàng)分值及總評(píng)成績.3、指導(dǎo)教師評(píng)語一欄由指導(dǎo)教師就學(xué)生在整個(gè)綜合設(shè)計(jì)期間的表現(xiàn)、設(shè)計(jì) 完成情況、報(bào)告的質(zhì)量及辯論等方面,給出客觀、全面的評(píng)價(jià).4、所有學(xué)生必須參加綜合設(shè)計(jì)的辯論環(huán)節(jié)
2、.凡不參加辯論者,其成績一律按不及格處理.辯論小組成員應(yīng)由 2人及以上教師組成.5、報(bào)告正文字?jǐn)?shù)一般應(yīng)不少于 5000字,也可由指導(dǎo)教師根據(jù)本門綜合設(shè) 計(jì)的情況另行規(guī)定.6、平時(shí)表現(xiàn)成績低于6分的學(xué)生,具綜合設(shè)計(jì)成績按不及格處理.7、此表格式為武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院提供的根本格式適用 于學(xué)院各類綜合設(shè)計(jì),各教研室可根據(jù)本門綜合設(shè)計(jì)的特點(diǎn)及內(nèi)容做 適當(dāng)?shù)恼{(diào)整,并上報(bào)學(xué)院批準(zhǔn).辯論記錄表學(xué)生姓名:何經(jīng)緯 學(xué)號(hào):班級(jí):2021計(jì)算機(jī)科學(xué)與技術(shù)01辯論地點(diǎn):計(jì)算機(jī)大樓8號(hào)機(jī)房辯論內(nèi)容記錄:答 解 成 績合計(jì) 分值各項(xiàng) 分值評(píng)分標(biāo)準(zhǔn)實(shí)際 得分計(jì)分 合得備注2510在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容進(jìn)
3、 行闡述,言簡意明,重點(diǎn)突出,論點(diǎn) 正確,條理清楚.15在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、 完整、流利地 答復(fù)教師所提出的問題.辯論小組成員簽字:月一日成績?cè)u(píng)定表學(xué)生姓名: 何經(jīng)緯 學(xué)號(hào): 班級(jí):2021計(jì)算機(jī)科學(xué)與技術(shù)01類別合計(jì) 分值各項(xiàng) 分值評(píng)分標(biāo)準(zhǔn)實(shí)際 得分T分 合得備注平時(shí) 表現(xiàn)1010遵守學(xué)習(xí)紀(jì)律,表現(xiàn)良好,積極完成綜合設(shè)計(jì)任 務(wù),無曠課、遲到、早退等情況.設(shè)計(jì) 完成 情況3020根據(jù)要求完成設(shè)計(jì)內(nèi)容,方案合理,功能完善, 設(shè)計(jì)工作量飽滿,能運(yùn)用專業(yè)知識(shí)和技能去發(fā)現(xiàn) 與解決實(shí)際問題.10在設(shè)計(jì)過程中展現(xiàn)出了較強(qiáng)的學(xué)習(xí)水平、動(dòng)手實(shí)踐水平、團(tuán)隊(duì)協(xié)作水平和創(chuàng)新意識(shí).告量 報(bào)質(zhì)3510報(bào)告格式標(biāo)準(zhǔn),表述
4、清楚,章節(jié)內(nèi)容組織恰當(dāng). 符號(hào)統(tǒng)一,圖表完備,符合標(biāo)準(zhǔn)要求.參考文獻(xiàn) 數(shù)量在5篇以上,格式及引用符合要求.15報(bào)告內(nèi)容翔實(shí),結(jié)構(gòu)嚴(yán)謹(jǐn)合理.課題背景介紹清 楚,綜述充分.設(shè)計(jì)與實(shí)現(xiàn)等主要過程完整,論 述具體透徹.能運(yùn)用所學(xué)專業(yè)知識(shí)對(duì)問題加以分 析和求解.無抄襲現(xiàn)象.10設(shè)計(jì)報(bào)告對(duì)整個(gè)設(shè)計(jì)過程進(jìn)行了全面總結(jié),表達(dá)了收獲,得出了后價(jià)值的結(jié)論或結(jié)果.辯論 情況2510在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容進(jìn)行闡述,言簡意明,重點(diǎn)突出,論點(diǎn)正確,條理清楚.15在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流利地答復(fù)教師所 提出的問題.總評(píng)成績指導(dǎo)教師評(píng)語指導(dǎo)教師: 簽字日期:年月日一、綜合設(shè)計(jì)目的、條件、任務(wù)和內(nèi)容要求:軟件根底綜合
5、設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)(計(jì)算機(jī)工程方向)專業(yè) 學(xué)生進(jìn)行的第一次純軟件方面的綜合設(shè)計(jì),本設(shè)計(jì)主要考察學(xué)生 能夠從實(shí)際問題由發(fā)設(shè)計(jì)和選擇適宜的數(shù)據(jù)結(jié)構(gòu);能夠熟練運(yùn)用 根本數(shù)據(jù)結(jié)構(gòu)做工具來解決一些實(shí)際問題.綜合設(shè)計(jì)的條件:PIV及以上級(jí)別 CPU計(jì)算機(jī),windows xp及以 上版本操作系統(tǒng),Visual studio2005及以上版本集成開發(fā)環(huán)境.一個(gè)完整的小型學(xué)生成績治理系統(tǒng)應(yīng)完成以下要求:(1)有10個(gè)小學(xué)生,每個(gè)學(xué)生學(xué)習(xí)數(shù)學(xué)和語文2門課程,從鍵盤輸入學(xué)生的學(xué)號(hào)、姓名及成績,計(jì)算每位學(xué)生的平均成績,將 數(shù)據(jù)存入文件stud.dat 中.(2)按如下格式輸由鏈表中大于等于平均成績的學(xué)生信息:學(xué)
6、號(hào) 姓名 數(shù)學(xué) 語文 平均成績(3)用類來實(shí)現(xiàn)本程序,并且用鏈表實(shí)現(xiàn)(4)可在已有記錄后面追加新的學(xué)生記錄.(5)可在原鏈表中刪除指定條件(如學(xué)號(hào)、姓名等)的學(xué)生記錄(6)可以按學(xué)號(hào)、姓名查找要修改的記錄內(nèi)容.(7)使用多文件編程和菜單操作(8)要求對(duì)“ <<"和" >>運(yùn)算符進(jìn)行重載.設(shè)計(jì)思想:設(shè)計(jì)一個(gè)菜單,通過菜單項(xiàng)選擇擇實(shí)現(xiàn)相應(yīng)的操作,使用 鏈表存儲(chǔ)輸入的原始信息.這樣做的好處是可以隨時(shí)增加內(nèi)容和 刪除內(nèi)容.為學(xué)生設(shè)計(jì)一個(gè)結(jié)構(gòu)及使用這個(gè)結(jié)構(gòu)作為數(shù)據(jù)成員的學(xué)生類,單獨(dú)設(shè)計(jì)完成這個(gè)文件讀寫的成員函數(shù).使用學(xué)生的結(jié)構(gòu),產(chǎn)生一個(gè)靜態(tài)結(jié)構(gòu)數(shù)組作為學(xué)生信息
7、簡表的存 儲(chǔ)器,由它們和文件建立讀寫治理.需要顯示它們時(shí),先將文件 讀入內(nèi)存,然后再顯示.需要顯示大于等于平均成績的學(xué)生信息 時(shí),那么直接從內(nèi)存鏈表中篩選.二、進(jìn)度安排:4周3月23日3月27日:征題與教師開題;5周:教師審題、學(xué)生選題;指導(dǎo)教師任務(wù)劃分、指導(dǎo)教師講解解題方法;6,7,8,9,11 周周2晚,周五下午:上機(jī)編制程序、調(diào)試 與教師指導(dǎo);11周周五5月15日:辯論.三、應(yīng)收集資料及主要參考文獻(xiàn):1 .李春葆 數(shù)據(jù)結(jié)構(gòu)教程第4版.北京:清華大學(xué)出版社,20212 .張俊,張彥鐸.C+面向?qū)ο蟪绦蛟O(shè)計(jì)第二版.北京:清華大學(xué)出版社.20213 .譚火彬.UML 2面向?qū)ο蠓治雠c設(shè)計(jì).北京
8、:清華大學(xué)出版社.2021.54 .張俊.C+南向?qū)ο蟪绦蛟O(shè)計(jì)習(xí)題與實(shí)驗(yàn)指導(dǎo)第二版.北京:清華大學(xué)出版社.20215 .周啟生 姬濤.計(jì)算機(jī)程序設(shè)計(jì)根底.北京:科學(xué)出版社四、摘要:隨著科學(xué)技術(shù)的開展,計(jì)算機(jī)在工業(yè)方面和日常生活中發(fā)揮著越來越重要的作用. 在學(xué)校的日常工作中,學(xué)校要處理大量的學(xué)生數(shù)據(jù),如果人工處理這些數(shù)據(jù)將會(huì)是一 項(xiàng)繁瑣的工作.但計(jì)算機(jī)憑借其強(qiáng)大的計(jì)算水平使它能夠在很短的時(shí)間完成大量的工 作,用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行治理無疑是一種不錯(cuò)的選擇.學(xué)生信息治理系統(tǒng)能方便快捷、準(zhǔn)確的處理學(xué)生信息,這里簡易地介紹了該系統(tǒng) 的實(shí)現(xiàn)過程,以及功能.該系統(tǒng)的實(shí)現(xiàn)過程大概可以分為三個(gè)步驟:系統(tǒng)分析、
9、功能 模塊設(shè)計(jì)、系統(tǒng)調(diào)試和測試,該系統(tǒng)的主要功能有學(xué)生信息添加、刪除、插入、查詢、 修改、將學(xué)生信息保存到磁盤中等.學(xué)生信息治理系統(tǒng)的這些功能主要是由鏈表以及 文件來實(shí)現(xiàn)的,所以說該系統(tǒng)的核心即為鏈表和文件.在實(shí)現(xiàn)學(xué)生信息治理系統(tǒng)所有 的功能的同時(shí)還要注意良好的人機(jī)交互體驗(yàn),所以菜單界面的優(yōu)化是很重要.一個(gè)簡 潔明了的菜單加上完善的功能,才能使學(xué)生信息治理系統(tǒng)有更多的實(shí)際的作用.關(guān)鍵詞:學(xué)生信息治理系統(tǒng);鏈表;結(jié)構(gòu)體;類;文件五、AbstractWith the development of science and technology, the computer industry conti
10、nuously madenewresearch achievements, the computer plays a more and more important role in industry and daily life. In the school's daily work, schools need to handle a large number of student data, if these data are dealt with people, it would be a tedious work. But with the development of comp
11、uter science and technology more and more mature, by virtue of its powerful computing capacity, the application of computer is more and more widely in life, Use the computer to manage student information is a good choice.Student information management system can quickly, accurately handle student in
12、formation quickly and accurately, it simply introduces the implementation process of the system, and function. The realization process of the system can be divided into three steps: system analysis, system function module design, and test, the main function of this system are adding, deleting, inser
13、ting, querying and saving student information. These features of the student information managementsystem is mainly implemented by the linked list and the file, so the core of the system is the linked list and the file. We achieve all the function of student information management system and at the
14、same time we must pay attention to the good interactive experience, so menu interface optimization is very important. A simple menuwith perfect function can makethe student information managementsystem has more practical effect. Keywords: students information management system; chain; structure; cla
15、ss files摘要 IAbstract I I第一章課題背景 11.1 課題概述 11.2 主要問題及技術(shù)要求 11.3 主要工作內(nèi)容 21.4 報(bào)告布局 2第二章需求與設(shè)計(jì)分析 32.1 需求分析 32.2 功能分析 32.3 結(jié)構(gòu)分析 4第三章詳細(xì)設(shè)計(jì) 43.1系統(tǒng)詳細(xì)設(shè)計(jì) 4第四章 結(jié)果及分析 134.1 設(shè)計(jì)結(jié)果 134.2 輸入異常測試用例 134.3 設(shè)計(jì)分析 14總 結(jié) 14致 1 14參考文獻(xiàn) 14摘要隨著科學(xué)技術(shù)的開展,計(jì)算機(jī)在工業(yè)方面和日常生活中發(fā)揮著越來越重要的作用. 在學(xué)校的日常工作中,學(xué)校要處理大量的學(xué)生數(shù)據(jù),如果人工處理這些數(shù)據(jù)將會(huì)是一項(xiàng) 繁瑣的工作.但計(jì)算機(jī)憑借
16、其強(qiáng)大的計(jì)算水平使它能夠在很短的時(shí)間完成大量的工作, 用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行治理無疑是一種不錯(cuò)的選擇.學(xué)生信息治理系統(tǒng)能方便快捷、準(zhǔn)確的處理學(xué)生信息,這里簡易地介紹了該系統(tǒng) 的實(shí)現(xiàn)過程,以及功能.該系統(tǒng)的實(shí)現(xiàn)過程大概可以分為三個(gè)步驟:系統(tǒng)分析、功能模 塊設(shè)計(jì)、系統(tǒng)調(diào)試和測試,該系統(tǒng)的主要功能有學(xué)生信息添加、刪除、插入、查詢、修 改、將學(xué)生信息保存到磁盤中等.學(xué)生信息治理系統(tǒng)的這些功能主要是由鏈表以及文件 來實(shí)現(xiàn)的,所以說該系統(tǒng)的核心即為鏈表和文件.在實(shí)現(xiàn)學(xué)生信息治理系統(tǒng)所有的功能 的同時(shí)還要注意良好的人機(jī)交互體驗(yàn),所以菜單界面的優(yōu)化是很重要.一個(gè)簡潔明了的 菜單加上完善的功能,才能使學(xué)生信息治
17、理系統(tǒng)有更多的實(shí)際的作用.關(guān)鍵詞:學(xué)生信息治理系統(tǒng);鏈表;結(jié)構(gòu)體;類;文件AbstractWith the development of science and technology, the computer industry continuously madenew research achievements, the computer plays a more and more important role in industry and daily life. In the school's daily work, schools need to handle a large
18、numberof student data, if these data are dealt with people, it would be a tedious work. But with the development of computer science and technology more and more mature, by virtue of its powerful computing capacity, the application of computer is more and more widely in life, Use the computer to man
19、age student information is a good choice.Student information managementsystem can quickly, accurately handle student information quickly and accurately, it simply introduces the implementation process of the system, and function. The realization process of the system can be divided into three steps:
20、 system analysis, system function module design, and test, the main function of this system are adding, deleting, inserting, querying and saving student information. These features of the student information management system is mainly implemented by the linked list and the file, so the core of the
21、system is the linked list and the file. We achieve all the function of student information management system and at the same time we must pay attention to the good interactive experience, so menu interface optimization is very important. A simple menu with perfect function can make the student infor
22、mation management system has more practical effect.Keywords: student information managementsystem; chain; structure; class files第一章課題背景1.1 課題概述(1)課題背景多年以來,學(xué)校對(duì)本校學(xué)生的信息治理都還沿用傳統(tǒng)的方式,在在這種治理模式下,用人工記錄學(xué)生的信息效率低、保密性差,人力資源也存在著極大的浪費(fèi).止匕外,隨著 時(shí)間的推移,資料庫將會(huì)產(chǎn)生大量的文件和數(shù)據(jù)堆積現(xiàn)象,這種現(xiàn)象對(duì)于數(shù)據(jù)的查找、 更新以及維護(hù)都會(huì)帶來很大的阻礙.隨著現(xiàn)代素質(zhì)教育的提升以及時(shí)代的快速
23、開展,靠 人工來治理學(xué)生信息已經(jīng)不再適用于現(xiàn)代的教育治理模式.在科技快速開展,計(jì)算機(jī)越來越普及的信息化時(shí)代的到來,為了使學(xué)校傳統(tǒng)的治理 方法和辦學(xué)水平都能應(yīng)付這種極大的挑戰(zhàn),需要對(duì)傳統(tǒng)的教育方式提出新的建議和要 求.而步入了新的世紀(jì),從世界各國教育科學(xué)化進(jìn)程看,各種競爭顯得異常的劇烈,而 且不僅僅是在教育的根底信息建設(shè)和相關(guān)資源建設(shè)上,又或者說是在方法的普及程度 上,我們與其興旺國家存在較大的差距.步入21世紀(jì)的我們,假設(shè)還是不能很好地利用網(wǎng)絡(luò)和科技, 又或是不會(huì)用較少的成 本來推動(dòng)教育的信息化、科學(xué)化開展,那么像這樣沒有明確的開展方向,一定會(huì)偏離信 息化、科技化的軌道,從而就可能阻礙社會(huì)科技
24、化、信息化的進(jìn)步,甚至于整個(gè)國家的 科技化開展.所以刷哦,如何實(shí)施教育的信息化治理已經(jīng)成了一個(gè)十分重要且必須馬上 解決的問題,而如何有效的治理學(xué)生信息,是實(shí)現(xiàn)教育信息化治理的關(guān)鍵.與傳統(tǒng)的治理方式相比,開發(fā)出來的學(xué)生信息治理系統(tǒng)的優(yōu)勢就顯得比擬明心.比方動(dòng) 態(tài)治理所有學(xué)生的根本信息;通過網(wǎng)絡(luò),教師可以在任何時(shí)間,任何地點(diǎn)查看學(xué)生的基 本信息.實(shí)現(xiàn)西你想化治理的一個(gè)最重要的特點(diǎn)就是迅速準(zhǔn)確的查找信息,并且在輸入 結(jié)束后立即給出準(zhǔn)確的查詢結(jié)果.(2)課題目的本設(shè)計(jì)主要目的是培養(yǎng)我們從實(shí)際問題出發(fā)設(shè)計(jì)和選擇適宜的數(shù)據(jù)結(jié)構(gòu)水平,使我 們能夠熟練運(yùn)用根本數(shù)據(jù)結(jié)構(gòu)做工具來解決一些實(shí)際問題.(3)課題意義學(xué)
25、校可以通過程序發(fā)揮計(jì)算機(jī)運(yùn)算速度快存儲(chǔ)容量大的優(yōu)點(diǎn)對(duì)大量的學(xué)生信息進(jìn)行 治理,從而提升人員工作效率.1.2 主要問題及技術(shù)要求(1)應(yīng)解決的主要問題文件操作把內(nèi)存中的數(shù)據(jù)保存到磁盤文件過程中,數(shù)據(jù)從內(nèi)存流出,因而是文件輸出操作, 應(yīng)該建立文件輸出流類ofstream相關(guān)聯(lián)的文件,同時(shí)指定為ios:out翻開模式的文件.把磁盤文件的內(nèi)容讀取到內(nèi)存中,數(shù)據(jù)向內(nèi)存流入,因而是文件輸入操作,應(yīng)該建 立文件輸入流類ifstream 相關(guān)聯(lián)的文件,同時(shí)指定為ios:in 翻開模式的文件.假設(shè)只向文件中寫入數(shù)據(jù),那么應(yīng)該選用文件輸出流類ofstream ;假設(shè)只從文件中讀取數(shù)據(jù),那么應(yīng)該選用文件輸入流類if
26、stream .ios:in 翻開文件,從文件中提取數(shù)據(jù).ios:out 翻開文件,向文件中寫入數(shù)據(jù)1.文件的翻開模式如表1-1所示:表1-1文件的翻開模式翻開模式十六進(jìn)制值含義及功能ios:in0x01翻開文件,只從文件中提取數(shù)均ios:out0x02翻開文件,只為向文件中寫入數(shù)據(jù)ios:ate0x04翻開文件,并立即將文件指針定位于文件尾ios:app0x08每次翻開文件,總是定位于文件尾,然后才史文件內(nèi) 容追加到文件尾ios:trunc0x10翻開文件,同事清空已有內(nèi)容ios:binary0x20翻開文件,并以二進(jìn)制模式進(jìn)行I/O操作ios:nocreat0x40假設(shè)文件/、存在,那么返
27、回失敗ios:noreplace0x80假設(shè)文件已存在,那么返回失敗單鏈表的建立:尾插法建立單鏈表,如圖1.1所示:圖1.1尾插法建立單鏈表示意圖學(xué)生信息以外部文件方式保存.1.3 主要工作內(nèi)容(1)分析功能需求,構(gòu)思程序大概結(jié)構(gòu).(2)將程序模塊化設(shè)計(jì),分部實(shí)現(xiàn)所有功能,由易到難(3)解決文件操作、鏈表等難點(diǎn)問題.1.4 報(bào)告布局第一章為課題背景,主要介紹了小型學(xué)生信息治理系統(tǒng)課題背景,目的和意義,以 及做設(shè)計(jì)之前必須有的知識(shí)儲(chǔ)藏和大概的工作流程.第二章為需求分析和設(shè)計(jì)分析,主要介紹了國內(nèi)外已經(jīng)投入使用的基于不同開發(fā)方 式的學(xué)生信息治理系以及本程序的開發(fā)方式,以該改程序的大體結(jié)構(gòu)和一些函數(shù)的
28、功 能.第三章為詳細(xì)設(shè)計(jì),主要對(duì)程序的各個(gè)函數(shù)進(jìn)行了細(xì)化的設(shè)計(jì).第四章為結(jié)果及分析,本章主要對(duì)程序的各個(gè)功能進(jìn)行了測試以及一些異常情況的測試第二章需求與設(shè)計(jì)分析2.1 需求分析學(xué)校工作總體規(guī)劃由教務(wù)人員完成對(duì)運(yùn)行教務(wù)處所需的根本數(shù)據(jù)的維護(hù),包括這些 信息的增加、修改、刪除等.由于一般學(xué)校的學(xué)生數(shù)量如果靠人過完成這些操作的話將 會(huì)是一件繁重的工作,在這個(gè)時(shí)候如果采用學(xué)生信息治理系統(tǒng)來維護(hù)這些數(shù)據(jù)的話,這 件工作將會(huì)顯得尤為輕松.目前國內(nèi)外有很多種類的學(xué)生信息治理系統(tǒng), 有基于ASP.NET勺學(xué)生信息治理系統(tǒng), 有基于MFG口 ACCES數(shù)據(jù)庫的學(xué)生信息治理系統(tǒng),有基于 Visual C+的學(xué)生信
29、息治理 系統(tǒng),在這里,我設(shè)計(jì)的學(xué)生治理系統(tǒng)就是基于 Visual C+的.2.2 功能分析學(xué)生信息治理系統(tǒng)其功能包括:(1)錄入函數(shù)Add():將學(xué)生信息插入到鏈表中;學(xué)生信息錄入功能主要由單鏈表的構(gòu)建來實(shí)現(xiàn),將所有學(xué)生信息依次存入單鏈表中,最后將數(shù)據(jù)保存至磁盤(硬盤)中.學(xué)生信息錄入的過程中可能會(huì)出現(xiàn)姓名重復(fù)的情況,姓名重復(fù)還不能判斷該學(xué)生信 息是否重復(fù)錄入,所以學(xué)號(hào)是判別學(xué)生信息是否重復(fù)錄入的標(biāo)準(zhǔn);在學(xué)生成績錄入的過 程中還可能會(huì)出現(xiàn)錄入的成績不符合標(biāo)準(zhǔn),例如錄入的成績低于0分高于100分等.(2)修改函數(shù)Modify ():修改指定學(xué)生信息;根據(jù)設(shè)計(jì)要求,修改學(xué)生信息需事先找到那個(gè)要被修
30、改的學(xué)生信息,而且是唯一的 一個(gè),由于可能會(huì)出現(xiàn)重名的情況,所以只有當(dāng)姓名和學(xué)號(hào)相對(duì)應(yīng)時(shí)該學(xué)生信息才能被 修改.(3)刪除函數(shù)Delete ():刪除指定學(xué)生信息;刪除學(xué)生信息與修改學(xué)生信息有點(diǎn)類似,都需要找到唯一確認(rèn)的學(xué)生信息,刪除學(xué)生信息的大致原理如圖2-1所示:其中 q=p->next , p->next=q->next 3.圖2.1刪除學(xué)生信息原理示意圖(4)輸出函數(shù)Show():顯示全部學(xué)生信息;顯示學(xué)生信息徐和誼模塊較為簡單,簡單的走指針,從頭節(jié)點(diǎn)走到尾節(jié)點(diǎn).(5)查詢函數(shù)Search ():查詢指定學(xué)生信息;根據(jù)設(shè)計(jì)要求,查詢學(xué)生信息需要有兩個(gè)入口,根據(jù)姓名查找
31、或者根據(jù)學(xué)號(hào)查找, 該局部的算法與修改學(xué)生信息,刪除學(xué)生信息函數(shù)的算法的前半局部相似,都是做匹配 工作.(6)讀取數(shù)據(jù)函數(shù)Read ():從外部文件讀取學(xué)生信息;從硬盤中的文件讀取學(xué)生信息需要應(yīng)用到ifstream (數(shù)據(jù)向內(nèi)存流入,是文件輸出操作)相關(guān)聯(lián)的文件,同時(shí)還要結(jié)合鏈表以實(shí)現(xiàn)讀取多個(gè)學(xué)生信息的功能.(7)保存數(shù)據(jù)函數(shù)Save():將數(shù)據(jù)保存到外部文件中;將學(xué)生信息保存到銀盤中的文件里需要用到輸出流類ofstream (數(shù)據(jù)從內(nèi)存流出,是文件輸入操作)相關(guān)聯(lián)的文件,配合鏈表(尾插法)實(shí)現(xiàn)學(xué)生信息的保存.(8)平均成績函數(shù)AverageTotle ():獲得平均成績高于全班平均成績學(xué)生信
32、息;要實(shí)現(xiàn)該功能首先要將全班所有人的成績進(jìn)行累加,并求出全班學(xué)生的平均成績,然后將已有的學(xué)生成績依次與全班平均值比擬,平均成績大于或等于全班平均值的學(xué)生即為滿足要求的學(xué)生,輸出他們的信息 (9)菜單函數(shù)Menu():快捷入口 .通過switch-case語句即可實(shí)現(xiàn)該局部的功能4.2.3結(jié)構(gòu)分析通過對(duì)學(xué)生信息治理系統(tǒng)的功能分析, 可以大概的畫出系統(tǒng)結(jié)構(gòu)圖,如圖2.2所示.學(xué)生信息治理系統(tǒng)2.2學(xué)桃息治理系桃、體結(jié)構(gòu)設(shè)十學(xué)生脩息治理系勺所有功啊以由兩Student贊的大致處如圖2.3恤示:信 息Ofile(ofstream&of)信 息! Student 缶息息Student 類讀,?。?/p>
33、,小unction 類:生:信,息Infile(ifstream&f)Out()圖2.3 Student類大致結(jié)窗,9eInfile(ifstream &f)le函數(shù):把磁盤文件的內(nèi)容讀取到內(nèi)徵ree*name, no, ClassOfile(ofstream &of)函數(shù):把內(nèi)存中的數(shù)據(jù)保存到磁盤芯etName()Out()函數(shù):輸出函數(shù).Function類的大致結(jié)構(gòu)如圖2.4所示:GetNo()GetAverage()FunctionAdd()Search()Delete()Show()圖 2.4 FunctionAverageTotle ()第三章詳細(xì)設(shè)計(jì)3.1系
34、統(tǒng)詳細(xì)設(shè)計(jì)(1)學(xué)生信息錄入模塊學(xué)生信息包括:姓名、學(xué)號(hào)、語文成績、數(shù)學(xué)成績、平均成績,錄入模塊流程圖如 圖3.1所示:開始錄入/輸入學(xué)生信 保存善加信息 圖3.1錄入欖端程圖該模塊代碼如下:Add()(char name20;double no;Class score;char choose;Student *f1, *p, *f2;system("cls");f1 = StudentHead;f2 = StudentHead->next;while (f1->next)f1 = f1->next;do(p = new Student;cout <
35、< "請(qǐng)輸入您要添加的學(xué)生信息:"<< endl;cout << "請(qǐng)輸入學(xué)生姓名:;cin >> name;cout << "請(qǐng)輸入學(xué)號(hào):";cin >> no;f2 = StudentHead;while (f2)(if (f2->GetNo()=no)(cout << "該學(xué)生已存在,請(qǐng)確定學(xué)號(hào)!nn"cout << "請(qǐng)輸入學(xué)號(hào):";cin >>no;break;f2 = f2->ne
36、xt;A:; cout << "請(qǐng)輸入語文成績:"cin >> score.Chinese;if(score.Chinese>100|score.Chinese<0)cout<<"成績輸入有誤,請(qǐng)重新輸入!"<<endl;goto A;B:;cout << "請(qǐng)輸入數(shù)學(xué)成績:"cin >> score.Math;if(score.Math>100|score.Math<0)cout<<"成績輸入有誤,請(qǐng)重新輸入!&qu
37、ot;<<endl;goto B;p->Set(name, no, score);f1->next = p;p->next = NULL;f1 = f1->next;cout << "是否繼續(xù)輸入信息?(YN) " << endl;cin >> choose; while (choose = 'y' | choose = 'Y');Save();cout << "按1返回主菜單"<< endl;cin >> choo
38、se;while (choose != '1')cout << "按1返回主菜單"<< endl;cin >> choose;Menu();(2)學(xué)生信息刪除模塊刪除學(xué)生信息的刪除過程已經(jīng)在第二章做了介紹,在此不再贅述.中選擇刪除功能時(shí),首先輸入要?jiǎng)h除的同學(xué)的姓名,然后輸入要?jiǎng)h除的同學(xué)的學(xué)號(hào), 如果該同學(xué)存在并且姓名與學(xué)號(hào)匹配,那么進(jìn)行刪除操作,否那么返回失敗.該模塊的核心 就是走指針60其流程圖如3.2所示:開始刪除輸入姓名輸入學(xué)號(hào)N姓名學(xué)號(hào)一致:AN執(zhí)行刪除圖3.2刪除學(xué)生信,代模塊?(3)學(xué)生信息修改模塊該模塊的實(shí)現(xiàn)
39、過程與刪除學(xué)生信息有很多類似的地方.首先查找與要修改數(shù)據(jù)相匹 配的信息,假設(shè)沒有那么返回失??;否那么把相應(yīng)的信息輸出,然后重新輸入新的數(shù)據(jù)并保存 到單鏈表7 0核心算法就是比擬簡單的走指針?biāo)惴?代碼如下:Modify()(char choose, name20;Student *temp, *p;double no;Class score;system("cls");temp = p = StudentHead;cout << "請(qǐng)輸入您要修改的學(xué)生姓名:";cin >> name;cout<< "請(qǐng)輸入您要
40、修改的學(xué)生學(xué)號(hào):";cin>>no;while (temp)(if (strcmp(temp->GetName(), name) = 0 && temp->GetNo() = no)(cout << "姓名t學(xué)號(hào)t語文成績t數(shù)學(xué)成績t平均成績n; temp->Out();cout<<請(qǐng)輸入新的信息:"<<endl;cout << "請(qǐng)輸入姓名:";cin >> name;cout << "請(qǐng)輸入學(xué)號(hào):";ci
41、n >> no;cout << "請(qǐng)輸入語文成績:;cin >> score.Chinese;cout << "請(qǐng)輸入數(shù)學(xué)成績:;cin >> score.Math;temp->Set(name, no, score);break;) temp = temp->next;)Save();cout << "修改成功!" << endl;cout << "1. 返回主菜單n2.繼續(xù)修改"<< endl;cin >&
42、gt; choose;while (choose != '1'&&choose != '2') cout << "1.返回主菜單n2.繼續(xù)修改"<< endl;cin >> choose;)if (choose = '1')Menu();else if (choose = '2') Modify();)(4)學(xué)生信息查詢模塊該模塊用的匹配算法在刪除學(xué)生信息和修改學(xué)生信息模塊中都用到過,走指針匹配 算法8.按姓名和學(xué)號(hào)查找學(xué)生信息的流程圖3.3所示:按學(xué)號(hào)或者姓
43、名查找輸入相關(guān)信息 判斷 Y該學(xué)生不存在輸出該學(xué)生信息 圖3.3查詢模域靛樨圖(5)學(xué)生信息顯示模塊從單鏈表表頭遍歷整個(gè)單鏈表,直到走到尾節(jié)點(diǎn),依次將單鏈表中每個(gè)節(jié)點(diǎn)的所有信息輸出9 ,該算法在查詢、刪除等模塊反復(fù)用到,較為簡單,算法可參考查詢、刪除、 等模塊的算法.(6)學(xué)生信息讀取模塊學(xué)生信息讀取模塊需要熟練地應(yīng)用輸入流類ifstream (數(shù)據(jù)向內(nèi)存流入)相關(guān)聯(lián)的文件,并配合鏈表(尾插法)實(shí)現(xiàn)學(xué)生信息的讀取,該模塊代碼如下:void Student:Infile(ifstream &f)把磁盤f >> Name >> No >> Score.C
44、hinese >> Score.Math>> Average; /文件的內(nèi)容讀取到內(nèi)存中)void Function:Read()/讀取學(xué)生信息函數(shù)(Student *p, *p2;p = StudentHead;ifstream is("Student.txt", ios:in); if (!is) (ofstream os("Student.txt", ios二out);os.close(); return;)while (!is.eof() (p2 = new Student;p2->Infile(is);/把磁盤文件
45、的內(nèi)容讀取到內(nèi)存中p->next = p2;p2->next = NULL;p = p->next; )(7)學(xué)生信息保存模塊學(xué)生信息保存模塊需要熟練地應(yīng)用輸出流類ofstream (數(shù)據(jù)從內(nèi)存流出)相關(guān)聯(lián)的文件,并配合鏈表(尾插法)實(shí)現(xiàn)學(xué)生信息的保存,該局部代碼如下: void Student:Ofile(ofstream &of) (of << "姓名:"<< Name<<"" << " 學(xué)號(hào):"<< No <<""
46、;<<"語文成績:"<<Score.Chinese<<"" << "數(shù)學(xué)成績:"<< Score.Math<<""<< "平均成績:"<<Average<<endl; /把內(nèi)存中的數(shù)據(jù)保存到磁盤文件) void Function:Save()/保存學(xué)生成績信息函數(shù)(ofstream of("Student.txt", ios二out);Student *p = Stud
47、entHead->next; while (p) p->Ofile(of); /把內(nèi)存中的數(shù)據(jù)保存到磁盤文件p = p->next;) of.close();)(8)求平均成績較高的學(xué)生信息模塊通過累加成績和人數(shù)來計(jì)算平均成績10,并篩選出高于全班平均成績的學(xué)生,該模 塊的代碼如下:void Function:AverageTotle()/平均成績char choose;Student *temp=StudentHead->next;Student *p=StudentHead->next; system("cls");double sum =
48、 0;int n = 0;double ave=0; if (!temp)cout << "文件無數(shù)據(jù) nn " << endl;cout << "按1返回主菜單"<< endl;cin >> choose;while (choose != '1') cout << "按1返回主菜單"<< endl;cin >> choose;) Menu();) else cout << "姓名t學(xué)號(hào)t平均成績t語文
49、成績t數(shù)學(xué)成績n; while (temp)sum = sum + temp->GetAverage();temp = temp->next;n=n+1;)/cout<<sum<<endl;ave=sum/n;cout<<"全班平均成績:"cout<<ave<<endl;cout<<"平均成績高于全班平均成績學(xué)生信息:"<<endl;while (p)(if (p->GetAverage()>ave) cout << "姓名t
50、學(xué)號(hào)t語文成績t數(shù)學(xué)成績t平均成績"<< endl; p->Out();p=p->next;cout << "按1返回主菜單"<< endl;cin >> choose;while (choose != '1')cout << "按1返回主菜單"<< endl;cin >> choose;Menu();(9)菜單模塊菜單界面通過switch case即可實(shí)現(xiàn),在所有模塊中是較為簡單的,該模塊代碼如下:Menu()time_t t;ti
51、me(&t);char choose;system("cls");cout << "學(xué)生信息治理系統(tǒng)"<< endl << endl;cout << "現(xiàn)在是:"<< ctime(&t) << endl;cout <<*<< endl << endl;cout << " endl;cout << "n"請(qǐng)輸入您要選擇的工程前的阿拉伯?dāng)?shù)字!" <
52、<cout << "1cout << "2cout << "3cout << "4cout << "5cout << "6<< endl;cout << "7錄入學(xué)生信息:n" << endl;查詢學(xué)生信息:n" << endl;刪除學(xué)生信息:n" << endl;修改學(xué)生信息:n" << endl;顯示全部學(xué)生信息:n" &l
53、t;< endl;平均成績高于全班平均成績學(xué)生信息:n"退出系統(tǒng)"<< endl;cout << "n"cin >> choose;switch (choose)case '1': Add(); break;case '2': Search(); break;case '3': Delete(); break;case '4': Modify(); break;case '5': Show(); break;case '6': AverageTotle(); break;case '7': exit(1); break; default: cout << "請(qǐng)按規(guī)定輸入選擇項(xiàng)!" << endl;Menu();第四章結(jié)果及分析4.1設(shè)計(jì)結(jié)果(1)菜單界面菜單界面運(yùn)行截圖如圖4.1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSA 277-2024 高速落絲上筒機(jī)器人
- 二零二五年度跨境電商股份轉(zhuǎn)讓及供應(yīng)鏈整合協(xié)議
- 2025年度智能公寓退房協(xié)議書
- 二零二五年度白酒品牌區(qū)域總代理合作協(xié)議
- 二零二五年度醫(yī)院及學(xué)校化糞池專業(yè)清理服務(wù)合同
- 二零二五年度企業(yè)財(cái)務(wù)報(bào)表審計(jì)委托代理服務(wù)合同
- 2025年度車間租賃安全管理制度與執(zhí)行協(xié)議
- 二零二五年度無房產(chǎn)證房屋買賣雙方責(zé)任劃分協(xié)議
- 二零二五年度勞動(dòng)合同法企業(yè)人力資源管理制度合同
- 二零二五年度知識(shí)產(chǎn)權(quán)侵權(quán)糾紛調(diào)解協(xié)議范本匯編
- 跟著名著《小王子》學(xué)高考英語讀后續(xù)寫絕佳的續(xù)寫清單-高中英語作文復(fù)習(xí)專項(xiàng)
- 產(chǎn)教融合大學(xué)科技園建設(shè)項(xiàng)目實(shí)施方案
- 交通法律與交通事故處理培訓(xùn)課程與法律解析
- 廣西版四年級(jí)下冊(cè)美術(shù)教案
- 《換熱器及換熱原理》課件
- 兒童權(quán)利公約演示文稿課件
- UPVC排水管技術(shù)標(biāo)準(zhǔn)
- MSA-測量系統(tǒng)分析模板
- 血透室公休座談水腫的護(hù)理
- 急診預(yù)檢分診專家共識(shí)課件
- 廣州市海珠區(qū)事業(yè)單位考試歷年真題
評(píng)論
0/150
提交評(píng)論