軟件工程學(xué)生成績(jī)管理系統(tǒng).doc
《軟件工程學(xué)生成績(jī)管理系統(tǒng).doc》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《軟件工程學(xué)生成績(jī)管理系統(tǒng).doc(28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
軟件工程課程設(shè)計(jì)報(bào)告題目:_學(xué)生成績(jī)管理系統(tǒng) _專(zhuān)業(yè)班級(jí):_ 計(jì)算機(jī)系計(jì)科102班_姓名:_ _學(xué)號(hào):_ _同組姓名: _ _成績(jī)?cè)u(píng)定指導(dǎo)教師:年月日目錄第1章 緒論2第2章 系統(tǒng)分析32.1 系統(tǒng)目標(biāo)32.2 功能要求32.3 可行性研究方法32.4 系統(tǒng)可行性分析3第3章 需求分析43.1 引言43.2 任務(wù)概述43.2.1 編寫(xiě)目的43.2.2 背景43.3 功能需求43.3.1 管理功能部分43.3.1.1 管理員功能43.3.1.2 學(xué)生功能43.4 數(shù)據(jù)流圖53.5 學(xué)生成績(jī)管理系統(tǒng)邏輯結(jié)構(gòu)圖53.6 用例6第4章 概要設(shè)計(jì)84.1設(shè)計(jì)目標(biāo)84.2 編寫(xiě)目的84.3 任務(wù)概述84.4 總體設(shè)計(jì)94.4.1 系統(tǒng)設(shè)計(jì)思想94.4.2 學(xué)生成績(jī)管理系統(tǒng)順序圖104.5 接口設(shè)計(jì)11第5章 詳細(xì)設(shè)計(jì)125.1 根本任務(wù)125.2 程序流程圖125.3 詳細(xì)設(shè)計(jì)說(shuō)明14第六章 軟件測(cè)試16第七章 實(shí)驗(yàn)結(jié)果截圖顯示18第八章 程序源代碼20第九章 實(shí)驗(yàn)總結(jié)28第十章 參考文獻(xiàn)28第1章 緒論隨著互聯(lián)網(wǎng)的發(fā)展,利用INTERNET 技術(shù)來(lái)實(shí)現(xiàn)“無(wú)紙辦公”這個(gè)概念已經(jīng)深入人心,校園網(wǎng)作為學(xué)校信息化建設(shè)的一個(gè)平臺(tái)在完成資源共享、互聯(lián)網(wǎng)訪(fǎng)問(wèn)、教務(wù)管理、電子備課等方面發(fā)揮了重要作用。服務(wù)教學(xué)、提高教學(xué)水平和教學(xué)結(jié)果查詢(xún)是校園網(wǎng)建設(shè)的核心目標(biāo)和核心價(jià)值,本系統(tǒng)立足于校園實(shí)際,爭(zhēng)取做出一個(gè)方便快捷的成績(jī)管理系統(tǒng),實(shí)現(xiàn)成績(jī)信息的管理。該項(xiàng)目主要是服務(wù)于學(xué)生成績(jī)管理方面,進(jìn)一步方便教師的工作和學(xué)生的成績(jī)查詢(xún),從而從側(cè)面達(dá)到提高學(xué)校的管理質(zhì)量。它具有使用范圍廣,實(shí)用性強(qiáng),使用簡(jiǎn)單,所花經(jīng)費(fèi)少等優(yōu)點(diǎn)。主要功能有兩個(gè)方面:管理員,登陸,進(jìn)入系統(tǒng),可以進(jìn)行管理員操作,進(jìn)行學(xué)生信息及成績(jī)信息的編輯、查詢(xún)、刪除、修改、添加、排序等操作。學(xué)生,登陸,進(jìn)入系統(tǒng),可以進(jìn)行查詢(xún)等操作。軟件系統(tǒng)目標(biāo):(1)本系統(tǒng)具有很強(qiáng)的可靠行,可以對(duì)錄入的學(xué)生信息進(jìn)行效驗(yàn),對(duì)數(shù)據(jù)進(jìn)行修改、刪除,規(guī)定各種權(quán)限。(2)本系統(tǒng)中的模塊具有很強(qiáng)的可續(xù)性,可以方便管理人員的修改與維護(hù)。(3)本系統(tǒng)操作方便、靈活、簡(jiǎn)單。(4)本系統(tǒng)可高效、快速的查詢(xún)到學(xué)生的基本信息。第2章 系統(tǒng)分析2.1 系統(tǒng)目標(biāo) 學(xué)生用戶(hù)和管理員用戶(hù)可以進(jìn)入不同的管理模塊,并且只有密碼輸入正確才能進(jìn)入功能模塊,學(xué)生用戶(hù)只能查詢(xún)學(xué)生信息,管理員用戶(hù)可以對(duì)學(xué)生成績(jī)實(shí)行各種操作。2.2 功能要求1. 性能:學(xué)生成績(jī)的增加、刪除、修改,排序及查詢(xún)2. 輸入:學(xué)生管理員密碼3. 輸出:學(xué)生成績(jī)信息4. 基本的數(shù)據(jù)流程和處理流程:事務(wù)事務(wù)管理員學(xué)生成績(jī)管理系統(tǒng)學(xué)生圖2-1 基本數(shù)據(jù)和處理流程5. 安全與保密要求:登錄系統(tǒng)時(shí),需驗(yàn)證密碼;不同身份的登錄者,具有不同的使用權(quán)限。2.3 可行性研究方法主要為對(duì)現(xiàn)有成績(jī)管理系統(tǒng)的分析和研究比較的方法。2.4 系統(tǒng)可行性分析可行性分析是為了清除的了解系統(tǒng)開(kāi)發(fā)是否能夠?qū)嶋H進(jìn)行,是否能夠帶來(lái)一定效益,是否值得實(shí)現(xiàn)。因而進(jìn)行可行性分析是非常必要的,從下面幾個(gè)方面來(lái)進(jìn)行分析。1. 技術(shù)可行性:設(shè)置不同權(quán)限,提高了數(shù)據(jù)的安全性。2. 運(yùn)行可行性:本系統(tǒng)作為一個(gè)小型的學(xué)生成績(jī)管理系統(tǒng),所耗費(fèi)的資源非常的小。 已有軟件和硬件配置均能滿(mǎn)足需要。3. 經(jīng)濟(jì)可行性:服務(wù)端及客戶(hù)端的支出使用原有設(shè)備即可。但是對(duì)軟件有一次性軟件費(fèi)用支出和定期性軟件維護(hù)支出。軟件使用后,能夠減少人力的支出和維護(hù)。4. 法律可行性:本軟件屬項(xiàng)目組開(kāi)發(fā),符合法律的各項(xiàng)規(guī)定。5. 使用可行性:軟件針對(duì)學(xué)校以及學(xué)院,對(duì)使用人員沒(méi)有特殊限制,管理老師、學(xué)生等均可使用。界面友好,操作簡(jiǎn)單,能夠保證大多數(shù)用戶(hù)使用該系統(tǒng)的要求。2.5 結(jié)論通過(guò)可行性的一系列分析可得出結(jié)論,在現(xiàn)有的條件下,系統(tǒng)的開(kāi)發(fā)方案是可行的。開(kāi)發(fā)條件具備,可以開(kāi)始進(jìn)行實(shí)際開(kāi)發(fā)。第3章 需求分析3.1 引言 隨著互聯(lián)網(wǎng)的發(fā)展,利用INTERNET技術(shù)來(lái)實(shí)現(xiàn)“無(wú)紙辦公”這個(gè)概念已經(jīng)深入人心,校園網(wǎng)作為學(xué)校信息化建設(shè)的一個(gè)平臺(tái)在完成資源共享、互聯(lián)網(wǎng)訪(fǎng)問(wèn)、教務(wù)管理、電子設(shè)備等方面發(fā)揮了重要作用。服務(wù)教學(xué)、提高教學(xué)水平和效果是校園網(wǎng)將設(shè)的核心目標(biāo)和核心價(jià)值,本系統(tǒng)立足于校園實(shí)際,著眼于未來(lái)發(fā)展,實(shí)現(xiàn)信息資源的共享。該項(xiàng)目主要是服務(wù)于教學(xué)方面,進(jìn)一步方便教師的工作和學(xué)生的學(xué)習(xí),從而從側(cè)面達(dá)到提高學(xué)校的教學(xué)方面的“軟件”質(zhì)量。3.2 任務(wù)概述3.2.1 編寫(xiě)目的 解決學(xué)校對(duì)學(xué)生信息進(jìn)行處理時(shí),對(duì)各種數(shù)據(jù)的需求,并且能夠有助于學(xué)校方面對(duì)學(xué)生的管理。主要解決學(xué)生系你想查詢(xún)困難等問(wèn)題。確定學(xué)生信息管理系統(tǒng)功能的需求,數(shù)據(jù)需求及軟、硬件需求。確定學(xué)生成績(jī)管理系統(tǒng)所能實(shí)現(xiàn)的功能,本系統(tǒng)中主要是對(duì)數(shù)據(jù)進(jìn)行操作,如學(xué)生信息及成績(jī)的增加,刪除,修改,查看,排序等功能。3.2.2 背景 這次待開(kāi)發(fā)的系統(tǒng)名稱(chēng)為:學(xué)生成績(jī)管理系統(tǒng) 本次項(xiàng)目任務(wù)的完成者:劉瑤、李納、謝千玲、周石花 用戶(hù):管理老師,學(xué)生3.3 功能需求3.3.1 管理功能部分 從業(yè)務(wù)流程圖可以看出,學(xué)生成績(jī)掛歷系統(tǒng)分為大的兩個(gè)方面:管理員模塊,學(xué)生模塊,其主要管理功能有: 3.3.1.1 管理員功能 管理員進(jìn)入學(xué)生成績(jī)管理的主要功能是:實(shí)現(xiàn)對(duì)學(xué)生信息及成績(jī)的添加,刪除,修改,查詢(xún)和排序等基本功能。 3.3.1.2 學(xué)生功能 學(xué)生進(jìn)入學(xué)生成績(jī)管理系統(tǒng)的主要功能是:每個(gè)學(xué)生登錄系統(tǒng)后可以查詢(xún)自己的個(gè)人信息以及成績(jī)信息,查詢(xún)的時(shí)候可以通過(guò)姓名也可以通過(guò)學(xué)號(hào)查詢(xún),同時(shí)學(xué)生登錄時(shí)需要密碼。3.4 數(shù)據(jù)流圖 圖 3-1 數(shù)據(jù)流頂層圖 圖3-2 數(shù)據(jù)流細(xì)化圖3.5 學(xué)生成績(jī)管理系統(tǒng)邏輯結(jié)構(gòu)圖 用戶(hù)操作 學(xué)生成績(jī)管理系統(tǒng) 業(yè)務(wù)邏輯 數(shù)據(jù)存儲(chǔ) 圖3-3 邏輯結(jié)構(gòu)圖3.6 用例主要參與者及用例表3-1 表3-1 學(xué)生成績(jī)管理系統(tǒng)用例表參與者用例編號(hào)用例 管理員1登錄2瀏覽信息3按成績(jī)排序4查詢(xún)5對(duì)學(xué)生成績(jī)?cè)觥h、改學(xué)生1登錄2瀏覽信息3查找成績(jī) 用例圖 圖3-4 學(xué)生成績(jī)系統(tǒng)用例圖3.7 類(lèi)圖 圖3-5 類(lèi)圖的初步設(shè)計(jì)第4章 概要設(shè)計(jì)4.1設(shè)計(jì)目標(biāo) 概要設(shè)計(jì)師軟件開(kāi)發(fā)過(guò)程中的一個(gè)階段就,在這個(gè)階段需要完成一些明確的事情。概要設(shè)計(jì)階段的基本目的是回答“概括的說(shuō),系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”。通過(guò)這個(gè)階段,確定系統(tǒng)的組成模塊。本學(xué)生成績(jī)管理系統(tǒng)由管理員、學(xué)生兩個(gè)大模塊組成。每個(gè)模塊又由自己的子模塊組成。4.2 編寫(xiě)目的基于現(xiàn)在的學(xué)生越來(lái)越多,老師的工作量越來(lái)越大。伴隨著網(wǎng)絡(luò)信息化,學(xué)生成績(jī)管理也必須邁進(jìn)一個(gè)更加進(jìn)步的時(shí)代。那就是用網(wǎng)絡(luò)來(lái)管理學(xué)生成績(jī),實(shí)現(xiàn)一個(gè)電子管理學(xué)生成績(jī)的平臺(tái),減輕老師的負(fù)擔(dān),也便利教務(wù)處的管理工作。在本系統(tǒng)中,學(xué)生可以選課,退課,查詢(xún)成績(jī);老師在期中期末的時(shí)候給學(xué)生打分,并按百分比計(jì)算,提交之前可以修改學(xué)生的成績(jī);管理員可以對(duì)教師、學(xué)生、課程的信息進(jìn)行增、刪、查、改,并且可以發(fā)布公告,新聞。如果學(xué)生,教師,管理員想進(jìn)入這個(gè)系統(tǒng),必須先進(jìn)行登錄,新用戶(hù)要注冊(cè),可以進(jìn)行個(gè)人信息的維護(hù),如密碼的修改等。4.3 任務(wù)概述4.3.1 目標(biāo)(1) 本系統(tǒng)具有很強(qiáng)的可靠行,可以對(duì)錄入的學(xué)生的成績(jī),對(duì)學(xué)生成績(jī)進(jìn)行修改、刪除,并且可以對(duì)學(xué)生成績(jī)進(jìn)行排序。(2)本系統(tǒng)中的模塊具有很強(qiáng)的可續(xù)性,可以方便管理人員的修改與維護(hù)。(3)本系統(tǒng)操作方便、靈活、簡(jiǎn)單。(4)本系統(tǒng)可高效、快速的查詢(xún)到學(xué)生的基本信息。4.3.2 需求概述學(xué)生成績(jī)管理系統(tǒng)是為方便教師學(xué)生實(shí)時(shí)掌握成績(jī)、課程等相關(guān)信息,學(xué)生可以方便快捷的查詢(xún)自己的成績(jī)而研發(fā)的系統(tǒng),旨在大幅度節(jié)約教師和學(xué)生們時(shí)間,提升教務(wù)系統(tǒng)辦事效率。4.4 總體設(shè)計(jì)4.4.1 系統(tǒng)設(shè)計(jì)思想 總模塊軟件結(jié)構(gòu) 圖4-1 學(xué)生成績(jī)管理系統(tǒng)主模塊根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)分為以下模塊:學(xué)生子模塊和管理員子模塊學(xué)生成績(jī)管理系統(tǒng)管理員子模塊學(xué)生子模塊學(xué)生成績(jī)排序?yàn)g覽學(xué)生成績(jī)修改學(xué)生信息刪除學(xué)生成績(jī)查詢(xún)個(gè)人成績(jī)圖4-2 學(xué)生成績(jī)管理系統(tǒng)層次圖表4-1 模塊功能學(xué)生子模塊學(xué)生可以在該模塊中查詢(xún)自己的成績(jī)管理員子模塊管理員可以再此模塊中瀏覽學(xué)生的成績(jī),對(duì)學(xué)生的成績(jī)信息進(jìn)行管理,并且可以對(duì)學(xué)生的成績(jī)進(jìn)行排序。4.4.2 學(xué)生成績(jī)管理系統(tǒng)順序圖 圖4-3 學(xué)生成績(jī)信息順序圖4.4.3 學(xué)生成績(jī)管理系統(tǒng)協(xié)作圖 圖4-4 學(xué)生成績(jī)信息協(xié)作圖4.4.4 學(xué)生成績(jī)管理系統(tǒng)狀態(tài)圖 圖4-5 學(xué)生成績(jī)信息狀態(tài)圖4.5 接口設(shè)計(jì)4.5.1 外部接口與用戶(hù)界面在用戶(hù)界面部分,根據(jù)需求分析的結(jié)果,用戶(hù)需要一個(gè)用戶(hù)友善界面。在界面設(shè)計(jì)上,應(yīng)做到簡(jiǎn)單明了,易于操作,并且要注意到界面的布局,應(yīng)突出的顯示重要以及出錯(cuò)信息。外觀(guān)上也要做到合理化,考慮到用戶(hù)多對(duì)WINDOW 風(fēng)格較熟悉,應(yīng)盡量向這一方向靠攏。在設(shè)計(jì)語(yǔ)言上,已決定使用Visual C+進(jìn)行編程。總的來(lái)說(shuō),系統(tǒng)的用戶(hù)界面應(yīng)作到可靠性、簡(jiǎn)單性、易學(xué)習(xí)和使用。4.5.2 內(nèi)部接口內(nèi)部接口方面,各模塊之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值的方式進(jìn)行信息傳遞。具體參數(shù)的結(jié)構(gòu)將在下面數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的內(nèi)容中說(shuō)明。接口傳遞的信息將是以數(shù)據(jù)結(jié)構(gòu)封裝了的數(shù)據(jù),以參數(shù)傳遞或返回值的形式在各模塊間傳輸。第5章 詳細(xì)設(shè)計(jì)5.1 根本任務(wù)依據(jù)軟件工程的基本原理,詳細(xì)設(shè)計(jì)階段的根本任務(wù)是確定應(yīng)該怎樣具體實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,具體來(lái)說(shuō)就是把經(jīng)過(guò)總體設(shè)計(jì)得到的各個(gè)模塊詳細(xì)的加以描述。5.2 程序流程圖1. 系統(tǒng)主程序流程圖圖5-1 主程序流程圖2. 學(xué)生登錄模塊圖5-2 學(xué)生用戶(hù)流程圖3. 管理員管理流程圖圖5-3 管理員管理流程圖4. 系統(tǒng)類(lèi)圖 圖5-4 成績(jī)管理系統(tǒng)類(lèi)圖5.3 詳細(xì)設(shè)計(jì)說(shuō)明管理模塊包括以下內(nèi)容:界面設(shè)計(jì)用戶(hù)登陸:該系統(tǒng)根據(jù)用戶(hù)的身份實(shí)現(xiàn)了不同的功能,用戶(hù)登陸時(shí)需要選擇一種登陸方式(默認(rèn)情況下是學(xué)生),系統(tǒng)再根據(jù)用戶(hù)選擇的登陸方式到相應(yīng)的表中去搜索。例如,登陸時(shí)選擇了教師登陸方式,系統(tǒng)將會(huì)在教師信息表中搜索是否存在與該用戶(hù)的輸入相符的信息,如果存在則進(jìn)入教師主頁(yè),否則提示用戶(hù)輸入有誤,請(qǐng)重新輸入。學(xué)生用戶(hù)界面1.按照學(xué)號(hào)查找學(xué)生可以查詢(xún)自己指定的學(xué)號(hào)查詢(xún)成績(jī),方便學(xué)生了解成績(jī)情況。2.按照學(xué)生姓名查找學(xué)生可以查詢(xún)自己指定姓名查詢(xún)成績(jī),方便學(xué)生了解自身情況。管理員界面1.增加學(xué)生成績(jī)管理員可以增加某個(gè)學(xué)生的某門(mén)科目的成績(jī)。2.顯示學(xué)生成績(jī)管理員可以顯示所有學(xué)生所有科目的成績(jī)。3.排序統(tǒng)計(jì)成績(jī)管理員可以根據(jù)學(xué)生成績(jī)進(jìn)行排序和統(tǒng)計(jì)。4.查找學(xué)生成績(jī)管理員可以查詢(xún)某個(gè)學(xué)生的成績(jī)。5.刪除學(xué)生成績(jī)管理員可以刪除某個(gè)學(xué)生的成績(jī)。6.修改學(xué)生成績(jī)管理員可以修改學(xué)生的成績(jī)。第六章 軟件測(cè)試測(cè)試用例設(shè)計(jì)表6-1用例編號(hào)C001測(cè)試對(duì)象“學(xué)生登錄”功能用例目的測(cè)試學(xué)生登錄系統(tǒng)的功能是否正確實(shí)現(xiàn)輸入/動(dòng)作預(yù)期輸出/結(jié)果實(shí)際結(jié)果選擇學(xué)生登錄,輸入錯(cuò)誤密碼提示“輸入錯(cuò)誤密碼,請(qǐng)重新輸入”提示“輸入錯(cuò)誤密碼,請(qǐng)重新輸入”選擇學(xué)生登錄,輸入密碼,輸入錯(cuò)誤名字提示“無(wú)法找到該學(xué)生”提示“無(wú)法找到該學(xué)生”選擇學(xué)生登錄,輸入賬號(hào),輸入密碼,單擊登錄進(jìn)入學(xué)生登錄子系統(tǒng)進(jìn)入學(xué)生登錄子系統(tǒng) 表6-2 用例編號(hào)C002測(cè)試對(duì)象“管理員登錄”子系統(tǒng)界面用例目的測(cè)試管理員登錄子系統(tǒng)界面的功能是否正確實(shí)現(xiàn)輸入/動(dòng)作預(yù)期輸出/結(jié)果實(shí)際結(jié)果選擇管理員登錄,輸入錯(cuò)誤密碼提示“輸入錯(cuò)誤密碼,請(qǐng)重新輸入”提示“輸入錯(cuò)誤密碼,請(qǐng)重新輸入”選擇管理員登錄,輸入密碼進(jìn)入管理員登錄子系統(tǒng)進(jìn)入管理員登錄子系統(tǒng)觀(guān)察界面是否正確顯示操作按鈕顯示“增加學(xué)生成績(jī)”,“顯示學(xué)生成績(jī)”,“排序統(tǒng)計(jì)成績(jī)”,“查找學(xué)生成績(jī),“刪除學(xué)生成績(jī)”,“修改學(xué)生信息”顯示“增加學(xué)生成績(jī)”,“顯示學(xué)生成績(jī)”,“排序統(tǒng)計(jì)成績(jī)”,“查找學(xué)生成績(jī),“刪除學(xué)生成績(jī)”,“修改學(xué)生信息” 表6-3 用例編號(hào)C003測(cè)試對(duì)象“管理員登錄”子系統(tǒng)增加學(xué)生成績(jī)功能用例目的測(cè)試“管理員登錄”子系統(tǒng)增加學(xué)生成績(jī)功能是否正確實(shí)現(xiàn)輸入/動(dòng)作預(yù)期輸出/結(jié)果實(shí)際結(jié)果在“教師登錄”子系統(tǒng)中選擇增加學(xué)生成績(jī)功能顯示要增加的學(xué)生的姓名和學(xué)號(hào)和各科成績(jī)顯示要增加的學(xué)生的姓名和學(xué)號(hào)和各科成績(jī) 表 6-4 用例編號(hào)C004測(cè)試對(duì)象“管理員登錄”子系統(tǒng)排序統(tǒng)計(jì)學(xué)生成績(jī)功能用例目的測(cè)試“管理員登錄”子系統(tǒng)排序統(tǒng)計(jì)學(xué)生成績(jī)功能是否正確實(shí)現(xiàn)輸入/動(dòng)作預(yù)期輸出/結(jié)果實(shí)際結(jié)果在“管理員登錄”子系統(tǒng)中選擇排序查詢(xún)功能顯示排序成功顯示排序成功 表6-5 用例編號(hào)C005測(cè)試對(duì)象“管理員登錄”子系統(tǒng)顯示學(xué)生成績(jī)功能用例目的測(cè)試“管理員登錄”子系統(tǒng)顯示學(xué)生成績(jī)功能是否正確實(shí)現(xiàn)輸入/動(dòng)作預(yù)期輸出/結(jié)果實(shí)際結(jié)果在“教師登錄”子系統(tǒng)中選擇顯示學(xué)生成績(jī)功能顯示所有學(xué)生的姓名和學(xué)號(hào)和各科成績(jī)顯示所有學(xué)生的姓名和學(xué)號(hào)和各科成績(jī)第七章 實(shí)驗(yàn)結(jié)果截圖顯示7.1代碼運(yùn)行之后的主界面 圖7-17.2學(xué)生模塊顯示 圖7-2 圖7-37.3 管理員模塊顯示 圖 7-4第八章 程序源代碼# include # include #include /用getch(); #include using namespace std; /Student類(lèi) class Student public: char name20; char Id20; int Cnum; /C+課程得分 int Mnum; /匯編課程得分 int Enum; /嵌入式操作系統(tǒng)課程得分 int sum; /總分 Student * Next; void Input() coutname; coutId; coutCnum; coutMnum; coutEnum; sum=Cnum+Mnum+Enum; void ReadFile(istream & in) innameIdCnumMnumEnumsum; void Show() cout姓名:nameendl學(xué)號(hào):IdendlC+:Cnumendl 匯編:Mnumendl嵌入式操作系統(tǒng):Enumendl總成績(jī):sumendlendlNext;p!=End;p=p-Next) p-Show(); coutInput(); End-Next=new Student; End=End-Next; cout添加成功!endl; coutNext!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 if(!strcmp(p-Next-name,name)return p; return NULL; Student *FindID(char * Id) for(Student * p=Head;p-Next!=End;p=p-Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 if(!strcmp(p-Next-Id,Id)return p; return NULL; ; /構(gòu)造函數(shù) Studentmassage:Studentmassage() Head=new Student; Head-Next=new Student; End=Head-Next; in.open(sort.txt); if(!in) cout這是一個(gè)新系統(tǒng),無(wú)學(xué)生信息。請(qǐng)先輸入。ReadFile(in); if(End-name0=0)break; End-Next=new Student; End=End-Next; in.close(); /析構(gòu)函數(shù) Studentmassage:Studentmassage() Save(); for(Student * temp;Head-Next!=End;) temp=Head-Next; Head-Next=Head-Next-Next; delete temp; delete Head,End; /菜單 void Studentmassage:ShowMenu() cout*endl; cout 學(xué) 生 成 績(jī) 管 理 系 統(tǒng) endl; cout endl; cout 1.增加學(xué)生成績(jī) endl; cout 2.顯示學(xué)生成績(jī) endl; cout 3.排序統(tǒng)計(jì)成績(jī) endl; cout 4.查找學(xué)生成績(jī) endl; cout 5.刪除學(xué)生成績(jī) endl; cout 6.修改學(xué)生信息 endl; cout 0.安全退出系統(tǒng) endl; coutnttntt請(qǐng)選擇:; /查找函數(shù) void Studentmassage:Find() char name20 ,Id10; int x; Student * p=NULL; coutntt*n; couttt 1.按學(xué)生的姓名查找ntt 2.按學(xué)生學(xué)號(hào)查找; coutx; switch(x) case 1:coutname; if(p=FindItem(name) p-Next-Show(); cout輸入任意字符!繼續(xù); getch(); else couttt沒(méi)有找到該姓名的學(xué)生!nendl; cout輸入任意字符!繼續(xù); getch(); break; case 2: coutId; if(p=FindID(Id) p-Next-Show(); cout輸入任意字符!繼續(xù); getch(); else couttt沒(méi)有找到該學(xué)好的學(xué)生!nendl; cout輸入任意字符!繼續(xù); getch(); break; /修改信息 void Studentmassage:ModifyItem() /修改信息 char name20; Student * p=NULL; coutname; if(p=FindItem(name) couttt已找到學(xué)生的信息,請(qǐng)輸入新的信息!Next-Input(); cout修改成功!endl; cout輸入任意字符!繼續(xù); getch(); else couttt沒(méi)有找到!endl; cout輸入任意字符!繼續(xù); getch(); /刪除信息 void Studentmassage:RemoveItem() / 刪除信息 char name20; Student * p=NULL,*temp=NULL; couttt請(qǐng)輸入要?jiǎng)h除的學(xué)生的姓名:name; if(p=FindItem(name) temp=p-Next; p-Next=p-Next-Next; delete temp; couttt刪除成功!endl; cout輸入任意字符!繼續(xù); getch(); else couttt沒(méi)有找到!endl; coutname,p1-name); strcpy(temp-Id,p1-Id); temp-Cnum=p1-Cnum; temp-Mnum=p1-Mnum; temp-Enum=p1-Enum; temp-sum=p1-sum; strcpy(p1-name,p2-name); strcpy(p1-Id,p2-Id); p1-Cnum=p2-Cnum; p1-Mnum=p2-Mnum; p1-Enum=p2-Enum; p1-sum=p2-sum; strcpy(p2-name,temp-name); strcpy(p2-Id,temp-Id); p2-Cnum=temp-Cnum; p2-Mnum=temp-Mnum; p2-Enum=temp-Enum; p2-sum=temp-sum; /學(xué)生登錄模塊 void student()int k; coutk;if(k!=1)do cout k;while(k!=1);/管理員登錄模塊 void manager()int k;coutk;if(k!=2)do cout k;while(k!=2);coutNext;p!=End;p=p-Next) n+; return n; / void Studentmassage:Sort()/對(duì)當(dāng)前鏈表進(jìn)行排序 cout Sorting.endl; Student *p=NULL,*p1=NULL,*k=NULL; int n=Studentmassage:ListCount(); if(nNext;p!=End;p=p-Next) for(k=p-Next;k!=End;k=k-Next) if(p-sumk-sum) Studentmassage:Swap(p,k); cout 排序完成!Next;p!=End;p=p-Next) outnametIdtCnumt MnumtEnumtsumn; out.close(); /主函數(shù) int main() int x, i,j; bool quit=false; Studentmassage Grade; coutttendl; for(i=0;i3;i+) couttttttttt endl; couttt0學(xué)生用戶(hù)(學(xué)生只能讀取學(xué)生信息) endl;couttt1管理員用戶(hù) endl;for(i=0;i3;i+) couttttttttt endl; coutttnendl; coutj;switch(j)case 0:student();Grade.Find(); break; case 1: manager();while(!quit) system(cls); Grade.ShowMenu(); cinx; switch(x) case 0:quit=true;break; case 1:Grade.AddItem();break; case 2:Grade.Display();break; case 3:Grade.Sort();break; case 4:Grade.Find();break; case 5:Grade.RemoveItem();break; case 6:Grade.ModifyItem();break; break; return 0;第九章 實(shí)驗(yàn)總結(jié)此次課程設(shè)計(jì),我們小組根據(jù)老師所給的選題,我們選擇的是學(xué)生成績(jī)管理系統(tǒng)。小組根據(jù)討論然后分工進(jìn)行系統(tǒng)分析、需求分析、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。之后總結(jié)各自的分析設(shè)計(jì),進(jìn)行代碼的編寫(xiě),修正。第一次的代碼運(yùn)行結(jié)果就只是對(duì)成績(jī)的添加、刪除、修改和查詢(xún),之后再根據(jù)選題的要求將學(xué)生、管理員模塊添加進(jìn)去,再添加密碼和在管理遠(yuǎn)程序中按照學(xué)生的成績(jī)進(jìn)行了排序。通過(guò)這次的課程設(shè)計(jì)對(duì)系統(tǒng)的分析,我對(duì)軟件工程有了進(jìn)一步層次的了解,也讓我意識(shí)到只有通過(guò)實(shí)踐,才能真正理解計(jì)算機(jī)很多課程所敘述的內(nèi)容,才能真正的去把握這門(mén)課程,操作是計(jì)算機(jī)這門(mén)學(xué)科必不可少的一門(mén)環(huán)節(jié)。同時(shí)我也認(rèn)識(shí)到了團(tuán)結(jié)的重要性,一個(gè)人的力量是有限的,一個(gè)人的精力也是有限的,只有通過(guò)合作才能更快更好的完成任務(wù)。第十章 參考文獻(xiàn)1、軟件工程導(dǎo)論張海藩 編著 清華大學(xué)出版社2、uml基礎(chǔ)與Rose建模謝星星 編著 清華大學(xué)出版社3、數(shù)據(jù)結(jié)構(gòu)嚴(yán)蔚敏 吳偉民 編著 清華大學(xué)出版社- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 軟件工程 學(xué)生 成績(jī)管理系統(tǒng)
鏈接地址:http://www.szxfmmzy.com/p-6591920.html