軟件工程學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
軟件工程學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)
軟件工程學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)
軟件工程學(xué)生成績(jī)管理系統(tǒng)_第4頁(yè)
軟件工程學(xué)生成績(jī)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成績(jī)?cè)u(píng)定第1章第2章2.12.22.32.4第3章3.1指導(dǎo)教師: 緒論 統(tǒng)分析 系統(tǒng)目標(biāo) 功能 可行性研究方法 系統(tǒng)可行性分析需引言要求求分析軟件工程課程設(shè)計(jì)報(bào)告題 目: 學(xué)生成績(jī)管理系統(tǒng)專業(yè)班級(jí) :_ 計(jì)算機(jī)系計(jì)科 102 班姓 名: 學(xué) 號(hào) : 同組姓名: 年月3.2 任務(wù)概述 3.2.1 編寫目的 3.2.2 背景 3.3 功能需求 3.3.1 管理功能部分 管理員功能 學(xué)生功能 3.4 數(shù)據(jù)流圖 3.5 學(xué)生成績(jī)管理系統(tǒng)邏輯結(jié)構(gòu)圖 3.6 用例 第 4 章 概要設(shè)計(jì) 4.1 設(shè)計(jì)目標(biāo) 4.2 編寫目的 4.3 任務(wù)概述 4.4 總體設(shè)計(jì) 23333344444444455688889

2、4.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)訪問(wèn)、教務(wù)管理、 電子備課等方面發(fā)揮了 重要作用。服務(wù)教學(xué)、 提高教學(xué)水平和教學(xué)結(jié)果查詢是校園網(wǎng)建設(shè)的核心目標(biāo)和核心價(jià)值, 本系統(tǒng)

3、 立足于校園實(shí)際, 爭(zhēng)取做出一個(gè)方便快捷的成績(jī)管理系統(tǒng), 實(shí)現(xiàn)成績(jī)信息的管理。 該項(xiàng)目主要是服 務(wù)于學(xué)生成績(jī)管理方面, 進(jìn)一步方便教師的工作和學(xué)生的成績(jī)查詢, 從而從側(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ī)信息的編輯、查詢、刪 除、修改、添加、排序等操作。學(xué)生,登陸,進(jìn)入系統(tǒng),可以進(jì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ù)性,可以方便管理人員的修改

4、與維護(hù)。(3)本系統(tǒng)操作方便、靈活、簡(jiǎn)單。4)本系統(tǒng)可高效、快速的查詢到學(xué)生的基本信息。第 2 章 系統(tǒng)分析2.1 系統(tǒng)目標(biāo)學(xué)生用戶和管理員用戶可以進(jìn)入不同的管理模塊,并且只有密碼輸入正確才能進(jìn)入功能模塊, 學(xué)生用戶只能查詢學(xué)生信息,管理員用戶可以對(duì)學(xué)生成績(jī)實(shí)行各種操作。2.2 功能要求1. 性能:學(xué)生成績(jī)的增加、刪除、修改,排序及查詢2. 輸入:學(xué)生管理員密碼3. 輸出:學(xué)生成績(jī)信息4. 基本的數(shù)據(jù)流程和處理流程:圖 2-1 基本數(shù)據(jù)和處理流程5. 安全與保密要求:登錄系統(tǒng)時(shí),需驗(yàn)證密碼;不同身份的登錄者,具有不同的使用權(quán)限。2.3 可行性研究方法 主要為對(duì)現(xiàn)有成績(jī)管理系統(tǒng)的分析和研究比較的

5、方法。2.4 系統(tǒng)可行性分析 可行性分析是為了清除的了解系統(tǒng)開發(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)的資源非常的小。 已有軟件 和硬件配置均能滿足需要。3. 經(jīng)濟(jì)可行性:服務(wù)端及客戶端的支出使用原有設(shè)備即可。但是對(duì)軟件有一次性軟件費(fèi)用支出和 定期性軟件維護(hù)支出。軟件使用后,能夠減少人力的支出和維護(hù)。4. 法律可行性:本軟件屬項(xiàng)目組開發(fā),符合法律的各項(xiàng)規(guī)定。5. 使用可行性: 軟件針對(duì)學(xué)校以及學(xué)院, 對(duì)使用

6、人員沒有特殊限制, 管理老師、學(xué)生等均可使用。 界面友好,操作簡(jiǎn)單,能夠保證大多數(shù)用戶使用該系統(tǒng)的要求。2.5 結(jié)論通過(guò)可行性的一系列分析可得出結(jié)論, 在現(xiàn)有的條件下, 系統(tǒng)的開發(fā)方案是可行的。 開發(fā)條件 具備,可以開始進(jìn)行實(shí)際開發(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)訪問(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)目主要

7、是服務(wù)于教學(xué)方面,進(jìn)一步方便 教師的工作和學(xué)生的學(xué)習(xí),從而從側(cè)面達(dá)到提高學(xué)校的教學(xué)方面的“軟件”質(zhì)量。3.2 任務(wù)概述3.2.1 編寫目的解決學(xué)校對(duì)學(xué)生信息進(jìn)行處理時(shí),對(duì)各種數(shù)據(jù)的需求,并且能夠有助于學(xué)校方面對(duì)學(xué)生的 管理。主要解決學(xué)生系你想查詢困難等問(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 背景這次待開發(fā)的系統(tǒng)名稱為:學(xué)生成績(jī)管理系統(tǒng) 本次項(xiàng)目任務(wù)的完成者:劉瑤、李納、謝千玲、周石花 用戶:管理老師,學(xué)生3.3 功能需求3.3.1

8、管理功能部分從業(yè)務(wù)流程圖可以看出,學(xué)生成績(jī)掛歷系統(tǒng)分為大的兩個(gè)方面:管理員模塊,學(xué)生模塊, 其主要管理功能有:3.3.1.1 管理員功能管理員進(jìn)入學(xué)生成績(jī)管理的主要功能是: 實(shí)現(xiàn)對(duì)學(xué)生信息及成績(jī)的添加, 刪除,修改, 查詢和排序等基本功能。3.3.1.2 學(xué)生功能 學(xué)生進(jìn)入學(xué)生成績(jī)管理系統(tǒng)的主要功能是:每個(gè)學(xué)生登錄系統(tǒng)后可以查詢自己的個(gè)人信息 以及成績(jī)信息,查詢的時(shí)候可以通過(guò)姓名也可以通過(guò)學(xué)號(hào)查詢,同時(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)圖3.6 用例 主要參與者及用例表 3-1 表 3-1 學(xué)生成績(jī)管理系統(tǒng)用例表

9、參與者用例編號(hào)用例管理員1登錄2瀏覽信息3按成績(jī)排序4查詢5對(duì)學(xué)生成績(jī)?cè)?、刪、改學(xué)生1登錄2瀏覽信息3查找成績(jī)用例圖圖 3-4 學(xué)生成績(jī)系統(tǒng)用例圖3.7 類圖圖 3-5 類圖的初步設(shè)計(jì)第 4 章 概要設(shè)計(jì)4.1 設(shè)計(jì)目標(biāo)概要設(shè)計(jì)師軟件開發(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àn)在的學(xué)生越來(lái)越多, 老師的工作量越來(lái)越大。 伴隨著網(wǎng)絡(luò)信息化, 學(xué)生成績(jī)管理也必須 邁進(jìn)一個(gè)更加進(jìn)

10、步的時(shí)代。 那就是用網(wǎng)絡(luò)來(lái)管理學(xué)生成績(jī), 實(shí)現(xiàn)一個(gè)電子管理學(xué)生成績(jī)的平臺(tái), 減 輕老師的負(fù)擔(dān),也便利教務(wù)處的管理工作。在本系統(tǒng)中,學(xué)生可以選課,退課,查詢成績(jī);老師在 期中期末的時(shí)候給學(xué)生打分, 并按百分比計(jì)算, 提交之前可以修改學(xué)生的成績(jī); 管理員可以對(duì)教師、 學(xué)生、課程的信息進(jìn)行增、刪、查、改,并且可以發(fā)布公告,新聞。如果學(xué)生,教師,管理員想進(jìn) 入這個(gè)系統(tǒng),必須先進(jìn)行登錄,新用戶要注冊(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)中的模塊具有

11、很強(qiáng)的可續(xù)性,可以方便管理人員的修改與維護(hù)。(3)本系統(tǒng)操作方便、靈活、簡(jiǎn)單。(4)本系統(tǒng)可高效、快速的查詢到學(xué)生的基本信息。4.3.2 需求概述學(xué)生成績(jī)管理系統(tǒng)是為方便教師學(xué)生實(shí)時(shí)掌握成績(jī)、 課程等相關(guān)信息, 學(xué)生可以方便快捷的查 詢自己的成績(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ù)上面的需求分析: 學(xué)生子模塊和管理員子模塊學(xué)生子模管理員子圖 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-

12、5 學(xué)生成績(jī)信息狀態(tài)圖4.5 接口設(shè)計(jì)4.5.1 外部接口與用戶界面 在用戶界面部分,根據(jù)需求分析的結(jié)果,用戶需要一個(gè)用戶友善界面。在界面設(shè)計(jì)上, 應(yīng)做到 簡(jiǎn)單明了,易于操作, 并且要注意到界面的布局, 應(yīng)突出的顯示重要以及出錯(cuò)信息。外觀上也要做 到合理化,考慮到用戶多對(duì) WINDOW風(fēng) 格較熟悉,應(yīng)盡量向這一方向靠攏。在設(shè)計(jì)語(yǔ)言上,已決定 使用 Visual C+ 進(jìn)行編程??偟膩?lái)說(shuō),系統(tǒng)的用戶界面應(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ō)明。 接口傳遞的信

13、息將是以數(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é)生用戶流程圖3. 管理員管理流程圖圖 5-3 管理員管理流程圖4. 系統(tǒng)類圖圖 5-4 成績(jī)管理系統(tǒng)類圖5.3 詳細(xì)設(shè)計(jì)說(shuō)明管理模塊包括以下內(nèi)容:界面設(shè)計(jì)用戶登陸:該系統(tǒng)根據(jù)用戶的

14、身份實(shí)現(xiàn)了不同的功能,用戶登陸時(shí)需要選擇一種登陸方式(默 認(rèn)情況下是學(xué)生),系統(tǒng)再根據(jù)用戶選擇的登陸方式到相應(yīng)的表中去搜索。例如,登陸時(shí)選擇了教 師登陸方式, 系統(tǒng)將會(huì)在教師信息表中搜索是否存在與該用戶的輸入相符的信息, 如果存在則進(jìn)入 教師主頁(yè),否則提示用戶輸入有誤,請(qǐng)重新輸入。學(xué)生用戶界面1. 按照學(xué)號(hào)查找學(xué)生可以查詢自己指定的學(xué)號(hào)查詢成績(jī),方便學(xué)生了解成績(jī)情況。2. 按照學(xué)生姓名查找學(xué)生可以查詢自己指定姓名查詢成績(jī),方便學(xué)生了解自身情況。管理員界面1. 增加學(xué)生成績(jī)管理員可以增加某個(gè)學(xué)生的某門科目的成績(jī)2.顯示學(xué)生成績(jī)管理員可以顯示所有學(xué)生所有科目的成績(jī)。3. 排序統(tǒng)計(jì)成績(jī)管理員可以根據(jù)

15、學(xué)生成績(jī)進(jìn)行排序和統(tǒng)計(jì)。4. 查找學(xué)生成績(jī)管理員可以查詢某個(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ò)誤密碼,錯(cuò)誤密碼請(qǐng)重新輸入”請(qǐng)重新輸入”選擇學(xué)生登錄,輸入提示“無(wú)法找到該提示“無(wú)法找到該學(xué)密碼,輸入錯(cuò)誤名字學(xué)生”生”選擇學(xué)生登錄,輸入賬號(hào),輸入密碼,單擊登錄進(jìn)入學(xué)生登錄子系統(tǒng)進(jìn)入學(xué)生登錄子系統(tǒng)表 6-2用例編號(hào)C002測(cè)試

16、對(duì)“管理員登錄”子系統(tǒng)界面象用例目的測(cè)試管理員登錄子系統(tǒng)界面的功能是否正確實(shí)現(xiàn)輸入/ 動(dòng)作預(yù)期輸出 / 結(jié)果實(shí)際結(jié)果選擇管理員登錄,輸提示“輸入錯(cuò)誤密碼,提示“輸入錯(cuò)誤密碼,入錯(cuò)誤密碼請(qǐng)重新輸入”請(qǐng)重新輸入”選擇管理員登錄,輸進(jìn)入管理員登錄子系進(jìn)入管理員登錄子系入密碼統(tǒng)統(tǒng)觀察界面是否正確顯顯示“增加學(xué)生成績(jī)” ,顯示“增加學(xué)生成示操作按鈕“顯示學(xué)生成績(jī)” ,“排績(jī)”,“顯示學(xué)生成序統(tǒng)計(jì)成績(jī)”,“查找學(xué)績(jī)”,“排序統(tǒng)計(jì)成生成績(jī),“刪除學(xué)生成績(jī)”“,查找學(xué)生成績(jī),績(jī)”,“修改學(xué)生信息”“刪除學(xué)生成績(jī)” ,“修改學(xué)生信息”表 6-3用例編號(hào)C003測(cè)試對(duì)“管理員登錄”子系統(tǒng)增加學(xué)生成績(jī)功能象用例目測(cè)

17、試“管理員登錄”子系統(tǒng)增加學(xué)生成績(jī)功能是否正確實(shí)的現(xiàn)輸入/ 動(dòng)作預(yù)期輸出 / 結(jié)果實(shí)際結(jié)果在“教師登錄”子系顯示要增加的學(xué)生的顯示要增加的學(xué)生的統(tǒng)中選擇增加學(xué)生成姓名和學(xué)號(hào)和各科成姓名和學(xué)號(hào)和各科成績(jī)功能績(jī)績(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)中選擇排序查詢功能表 6-5用例編號(hào)C005測(cè)試對(duì)“管理員登錄”子系統(tǒng)顯示學(xué)生成績(jī)功能象用例目測(cè)試“管理員登錄”子系統(tǒng)顯示學(xué)生成績(jī)功能是否正確實(shí)的現(xiàn)輸入/ 動(dòng)作預(yù)期輸出

18、/ 結(jié)果實(shí)際結(jié)果在“教師登錄”子系顯示所有學(xué)生的姓名顯示所有學(xué)生的姓名統(tǒng)中選擇顯示學(xué)生成和學(xué)號(hào)和各科成績(jī)和學(xué)號(hào)和各科成績(jī)績(jī)功能第七章 實(shí)驗(yàn)結(jié)果截圖顯示7.1 代碼運(yùn)行之后的主界面圖 7-17.2 學(xué)生模塊顯示圖 7-2圖 7-37.3 管理員模塊顯示圖 7-4第八章 程序源代碼# include <fstream> # include <string.h>#include <conio.h>/ 用 getch();#include<iostream> using namespace std;/Student 類class Studentpubli

19、c:char name20;char Id20;int Cnum; /C+ int Mnum; / int Enum; / int sum; / Student * Next;void Input()課程得分匯編課程得分 嵌入式操作系統(tǒng)課程得分 總分cout<<"tt 請(qǐng)輸入學(xué)生的姓名: " cin>>name;cout<<"tt 請(qǐng)輸入學(xué)生的學(xué)號(hào): " cin>>Id;cout<<"tt 請(qǐng)輸入 C+課程的成績(jī): " cin>>Cnum;cout<<

20、"tt 請(qǐng)輸入?yún)R編課程的成績(jī): " cin>>Mnum;cout<<"tt 請(qǐng)輸入嵌入式操作系統(tǒng)課程的成績(jī): " cin>>Enum;sum=Cnum+Mnum+Enum;void ReadFile(istream & in) in>>name>>Id>>Cnum>>Mnum>>Enum>>sum; void Show()cout<<" 姓名 :"<<name<<endl<<

21、;" 學(xué)號(hào):"<<Id<<endl<<"C+:"<<Cnum<<endl<<" 匯 編 :"<<Mnum<<endl<<" 嵌 入 式 操 作 系 統(tǒng) : "<<Enum<<endl<<" 總 成 績(jī) :"<<sum<<endl<<endl<<endl;/ Studentmassage 類 class St

22、udentmassage public:Studentmassage();Studentmassage();void ShowMenu();void Find();void Save();void ModifyItem();void RemoveItem();void Swap(Student *,Student *);void Sort();int ListCount();void Display()for(Student * p=Head->Next;p!=End;p=p->Next)p->Show(); cout<<" 輸入任意字符!繼續(xù) &quo

23、t; getch();void AddItem()End->Input();End->Next=new Student;End=End->Next;cout<<" 添加成功 !"<<endl;cout<<" 輸入任意字符!繼續(xù) "getch();private:Student * Head,* End;ifstream in;ofstream out;Student *FindItem(char * name)for(Student * p=Head;p->Next!=End;p=p->N

24、ext)/匹配成功則返回上一個(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

25、=new Student;End=Head->Next;in.open("sort.txt");if(!in)cout<<" 這是一個(gè)新系統(tǒng),無(wú)學(xué)生信息。請(qǐng)先輸入。 "<<endl;elsewhile(!in.eof()End->ReadFile(in);if(End->name0='0')break;End->Next=new Student;End=End->Next;in.close();/ 析構(gòu)函數(shù)Studentmassage:Studentmassage()Save();fo

26、r(Student * temp;Head->Next!=End;)temp=Head->Next;Head->Next=Head->Next->Next;delete temp;delete Head,End;/ 菜單 void Studentmassage:ShowMenu()cout<<cout<<" cout<<" "<<endl;1cout<<" "<<endl;2cout<<" "<<en

27、dl;3cout<<" "<<endl;4cout<<" "<<endl;5cout<<" "<<endl;6cout<<" "<<endl;0 "<<endl;cout<<"nttntt請(qǐng)選擇: " "<<endl;增加學(xué)生成績(jī) 顯示學(xué)生成績(jī) 排序統(tǒng)計(jì)成績(jī) 查找學(xué)生成績(jī) 刪除學(xué)生成績(jī) 修改學(xué)生信息 安全退出系統(tǒng) / 查找函數(shù)void Stude

28、ntmassage:Find()char name20 ,Id10;int x;Student * p=NULL;n"cout<<"ntt*cout<<"tt 1. 按學(xué)生的姓名查找 ntt 2. 按學(xué)生學(xué)號(hào)查找 cin>>x;cout<<"ntt*n請(qǐng)選擇:switch(x)case 1:cout<<"tt 請(qǐng)輸入要查找的學(xué)生的姓名: "cin>>name;if(p=FindItem(name)p->Next->Show();cout<<

29、" 輸入任意字符!繼續(xù) "getch();elsecout<<"tt 沒有找到該姓名的學(xué)生! "<<'n'<<endl;cout<<" 輸入任意字符!繼續(xù) "getch();break;case 2:cout<<"tt 請(qǐng)輸入要查找的學(xué)生的學(xué)號(hào): " cin>>Id; if(p=FindID(Id)p->Next->Show();cout<<" 輸入任意字符!繼續(xù) " getch();

30、elsecout<<"tt 沒有找到該學(xué)好的學(xué)生! "<<'n'<<endl; cout<<" 輸入任意字符!繼續(xù) "getch();break;/ 修改信息void Studentmassage:ModifyItem() / 修改信息char name20;Student * p=NULL;cout<<"tt 請(qǐng)輸入要修改的人的姓名 :"cin>>name; if(p=FindItem(name)cout<<"tt 已找到學(xué)

31、生的信息,請(qǐng)輸入新的信息 !"<<endl;p->Next->Input();cout<<" 修改成功! "<<endl;cout<<" 輸入任意字符!繼續(xù) "getch();elsecout<<"tt 沒有找到 !"<<endl;cout<<" 輸入任意字符!繼續(xù) "getch();/ 刪除信息void Studentmassage:RemoveItem() / 刪除信息char name20;Student

32、 * p=NULL,*temp=NULL;cout<<"tt 請(qǐng)輸入要?jiǎng)h除的學(xué)生的姓名 :"<<endl;cin>>name;if(p=FindItem(name)temp=p->Next;p->Next=p->Next->Next;delete temp; cout<<"tt 刪除成功 !"<<endl;cout<<" 輸入任意字符!繼續(xù) "getch();elsecout<<"tt 沒有找到 !"<

33、<endl;cout<<" 輸入任意字符!繼續(xù) "getch();/ void Studentmassage:Swap(Student *p1, Student *p2)/交換兩個(gè) combox 變量的數(shù)據(jù)域Student *temp=new Student; strcpy(temp->name,p1->name);strcpy(temp->Id,p1->Id);temp->Cnum=p1->Cnum;temp->Mnum=p1->Mnum; temp->Enum=p1->Enum;temp-&g

34、t;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

35、=temp->Enum;p2->sum=temp->sum;/ 學(xué)生登錄模塊 void student()int k; cout<<" 請(qǐng)輸入你的密碼 :" cin>>k;if(k!=1)do cout << ", 輸入錯(cuò)誤,請(qǐng)重新輸入密碼 " cin >> k; while(k!=1);/ 管理員登錄模塊 void manager()int k;cout<<" 請(qǐng)輸入你的密碼 :"cin>>k;if(k!=2)do cout <<

36、" 輸入錯(cuò)誤,請(qǐng)重新輸入密碼 " cin >> k;while(k!=2);cout<<" 登錄成功 !"/ int Studentmassage:ListCount()/ 統(tǒng)計(jì)當(dāng)前鏈表的記錄總數(shù),返回一個(gè)整數(shù) if(! Head) return 0;int n=0;for(Student * p=Head->Next;p!=End;p=p->Next) n+; return n;/ void Studentmassage:Sort()/ 對(duì)當(dāng)前鏈表進(jìn)行排序cout <<"Sorting.&quo

37、t;<<endl;Student *p=NULL,*p1=NULL,*k=NULL;int n=Studentmassage:ListCount();if(n<2)return;for(p=Head->Next;p!=End;p=p->Next) for(k=p->Next;k!=End;k=k->Next) if(p->sum>k->sum) Studentmassage:Swap(p,k); cout <<" 排序完成! "<<endl;getch(); return;/ 保存函數(shù)voi

38、d Studentmassage:Save()out.open("sort.txt");for(Student *p=Head->Next;p!=End;p=p->Next)out<<p->name<<"t"<<p->Id<<"t"<<p->Cnum<<"t" <<p->Mnum<<"t"<<p->Enum<<"t"<<p->sum<<'n'out.close();/ 主函數(shù) int main()int x, i,j;bool quit=false;Studentmassage Grade;t §§§§§§§§§§§§§§§§§§§§§§

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論