C課設(shè)高校人員信息標(biāo)準(zhǔn)管理系統(tǒng)附全部代碼_第1頁
C課設(shè)高校人員信息標(biāo)準(zhǔn)管理系統(tǒng)附全部代碼_第2頁
C課設(shè)高校人員信息標(biāo)準(zhǔn)管理系統(tǒng)附全部代碼_第3頁
C課設(shè)高校人員信息標(biāo)準(zhǔn)管理系統(tǒng)附全部代碼_第4頁
C課設(shè)高校人員信息標(biāo)準(zhǔn)管理系統(tǒng)附全部代碼_第5頁
已閱讀5頁,還剩98頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《基于C++面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例》

課程設(shè)計(jì)匯報(bào)

匯報(bào)題目:_____________________________

高校人員信息管理系統(tǒng)

作者所在系部:計(jì)算機(jī)科學(xué)和工程系

作者所在專業(yè):計(jì)算機(jī)科學(xué)和技術(shù)

作者所在班級:_________________

作者姓名:_________________

指導(dǎo)老師姓名:_________________

完成時(shí)間:6月

《基于C++面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例》任務(wù)書

一.目標(biāo)和要求

1、目標(biāo)

(1)要求學(xué)生能夠熟練掌握C++語言基礎(chǔ)知識(shí)和技能。

(2)基礎(chǔ)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)思緒和方法。

(3)能夠利用所學(xué)基礎(chǔ)知識(shí)和技能,處理簡單面向?qū)ο蟪绦蛟O(shè)計(jì)問題。

2、基礎(chǔ)要求

(1)要求利用面向?qū)ο蠓椒ê虲++編程思想來完成系統(tǒng)設(shè)計(jì)。

(2)在系統(tǒng)設(shè)計(jì)中,要求利用面向?qū)ο髾C(jī)制(繼承、派生及多態(tài)性)來實(shí)現(xiàn)系統(tǒng)功

效,而且要建立清楚類層次關(guān)系。

(3)在系統(tǒng)設(shè)計(jì)中要分析和定義各個(gè)類,每個(gè)類中要有各自數(shù)據(jù)組員和組員函數(shù)。

(4)主函數(shù)中提供菜單選項(xiàng),并給出足夠選擇信息和提醒信息。

(5)程序含有一定健壯性,不會(huì)因?yàn)橛脩糨斎脲e(cuò)誤引發(fā)程序運(yùn)行錯(cuò)誤而中止

實(shí)施。

對輸入值類型、大小范圍、字符串長度等,進(jìn)行正確性檢驗(yàn),對不正當(dāng)輸入值給出

犯錯(cuò)信息,指犯錯(cuò)誤類型,等候重新輸入。

3、創(chuàng)新要求

在基礎(chǔ)要求達(dá)成后,可依據(jù)實(shí)際情況進(jìn)行創(chuàng)新設(shè)計(jì),如依據(jù)查找結(jié)果進(jìn)行修改功效

及設(shè)計(jì)出比較友好界面等,

二.驗(yàn)收方法

完成設(shè)計(jì)內(nèi)容以后,即可開始驗(yàn)收。驗(yàn)收時(shí),首先由學(xué)生簡明說明所做題目標(biāo)思緒、

設(shè)計(jì)結(jié)構(gòu)及實(shí)現(xiàn)過程,然后運(yùn)行程序并進(jìn)行測試,對輸出結(jié)果作出解釋,同時(shí)認(rèn)真回復(fù)

老師提出問題。

三.課設(shè)匯報(bào)

在完成驗(yàn)收以后,提交課設(shè)匯報(bào)。其中匯報(bào)中需包含系統(tǒng)設(shè)計(jì)要求,設(shè)計(jì)思緒,系統(tǒng)功效模塊

圖,系統(tǒng)步驟圖,類層次圖(包含類組員列表),調(diào)試過程,關(guān)鍵程序代碼,總結(jié),參考書目等。另

外,課設(shè)匯報(bào)要嚴(yán)格遵守模板文件格式要求,思緒清楚,內(nèi)容詳實(shí)豐富。

四.成績評定

課設(shè)總成績二驗(yàn)收成績(50%)+課程設(shè)計(jì)匯報(bào)成績(30%)+程序源代碼(10%)+

課設(shè)態(tài)度、考勤和遵守教學(xué)制度情況(10%)

五.說明

1、每位同學(xué)在以下題目中任選一個(gè)來完成。

2、學(xué)生應(yīng)嚴(yán)格遵守課堂秩序,按時(shí)上機(jī),認(rèn)真完成各項(xiàng)任務(wù)。

3、上機(jī)前做好充足準(zhǔn)備,包含事先寫好關(guān)鍵程序代碼,以確保充足利用上機(jī)時(shí)間調(diào)

試程序。

4、每位同學(xué)各自獨(dú)立完成自己題目,嚴(yán)禁剽竊或拷貝。

5、必需按要求時(shí)間上交課設(shè)匯報(bào)。

六.課設(shè)題目

題目1“高校職員信息管理系統(tǒng)”

1、問題描述

某高校有四類職員:老師、試驗(yàn)員、行政人員,老師兼行政人員;共有信息包含:

編號、姓名、性別、年紀(jì)等。其中,老師還包含信息有:所在系部、專業(yè)、職稱;試驗(yàn)

員還包含信息由:所在試驗(yàn)室、職務(wù);行政人員還包含信息有:政治面貌、職稱等。

2、功效要求

(1)基礎(chǔ)功效

1)添加功效:程序能夠任意添加上述四類人員統(tǒng)計(jì),可提供選擇界面供用戶選擇所

要添加人員類別,要求職員編號耍唯一,假如添加了反復(fù)編號統(tǒng)計(jì)時(shí),則提醒數(shù)據(jù)添加

反復(fù)并取消添加。

2)查詢功效:可依據(jù)編號、姓名等信息對已添加統(tǒng)計(jì)進(jìn)行查詢,假如未找到,給出

對應(yīng)提醒信息,假如找到,則顯示對應(yīng)統(tǒng)計(jì)信息。

3)顯示功效:可顯示目前系統(tǒng)中全部統(tǒng)計(jì),每條統(tǒng)計(jì)占據(jù)一行。

4)編輯功效:可依據(jù)查詢結(jié)果對對應(yīng)統(tǒng)計(jì)進(jìn)行修改,修改時(shí)注意編號唯一性。

5)刪除功效:關(guān)鍵實(shí)現(xiàn)對已添加人員統(tǒng)計(jì)進(jìn)行刪除。假如目前系統(tǒng)中沒有對應(yīng)人員

統(tǒng)計(jì),則提醒“統(tǒng)計(jì)為空!”并返回操作;不然,輸入要?jiǎng)h除人員編號或姓名,依據(jù)所輸

入信息刪除該人員統(tǒng)計(jì),假如沒有找到該人員信息,則提醒對應(yīng)統(tǒng)計(jì)不存。

6)統(tǒng)計(jì)功效:能依據(jù)多個(gè)參數(shù)進(jìn)行人員統(tǒng)計(jì)。比如,統(tǒng)計(jì)四類人員數(shù)量和總數(shù),

或統(tǒng)計(jì)男、女職員數(shù)量,或統(tǒng)計(jì)某年紀(jì)段人員數(shù)量等。

7)保留功效:可將目前系統(tǒng)中各類人員統(tǒng)計(jì)存入文件中,存入方法任意。

8)讀取功效:可將保留在文件中人員信息讀入到目前系統(tǒng)中,供用戶進(jìn)行使用。

(2)擴(kuò)展功效

在完成以上基礎(chǔ)功效基礎(chǔ)上,可自行進(jìn)行擴(kuò)展或完善,比如:

1)添加人員統(tǒng)計(jì)時(shí),考慮多種數(shù)據(jù)有效性。

2)組合查詢功效實(shí)現(xiàn)。

3)可按人員一些信息進(jìn)行排序。

4)對文件讀寫使用二進(jìn)制信息。

3、問題處理方案

依據(jù)系統(tǒng)功效要求,能夠?qū)栴}處理分為以下步驟:

1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)功效模塊框圖和界面組織和設(shè)計(jì);

2)分析系統(tǒng)中各個(gè)實(shí)體及它們之間關(guān)系;

3)依據(jù)問題描述,設(shè)計(jì)系統(tǒng)類層次;

4)完成類層次中各個(gè)類描述;

5)完成類中各個(gè)組員函數(shù)定義;

6)完成系統(tǒng)應(yīng)用模塊;

7)功效調(diào)試;

8)完成系統(tǒng)總結(jié)匯報(bào)。

摘要

在目前學(xué)校人員管理體制下,高等學(xué)校不僅要有濃厚學(xué)風(fēng)氣息、雄厚師資力量、優(yōu)

異精良硬件設(shè)備,和此同時(shí),作為優(yōu)異科學(xué)技術(shù)和優(yōu)異文化承載者和傳輸者,更需要有

一個(gè)實(shí)施效率高而且便于操作現(xiàn)代信息化管理系統(tǒng),以實(shí)現(xiàn)對高校各類人員進(jìn)行添加、

查找、修改、刪除、統(tǒng)計(jì)、保留、讀取等動(dòng)態(tài)管理目標(biāo)。

本文利用MicrosoftVisualC++6.0AD0編寫程序,實(shí)現(xiàn)了高校對試驗(yàn)員、老師、行

政人員、老師兼行政人員管理操作。

本系統(tǒng)關(guān)鍵有四個(gè)管理模塊一一試驗(yàn)員管理系統(tǒng)、老師管理系統(tǒng)、行政人員管理系

統(tǒng)、老師兼行政人員管理系統(tǒng)。己經(jīng)過全方面系統(tǒng)測試,能夠很好運(yùn)行,達(dá)成了預(yù)期效

果。

關(guān)鍵詞:系統(tǒng)設(shè)計(jì)類信息人員管理

目錄

摘要.......................................................................I

第1章緒論.............................................................1

1.1課程設(shè)計(jì)目標(biāo).......................................................1

1.2課程設(shè)計(jì)背景和意義.................................................1

1.1.1課程設(shè)計(jì)背景..................................................1

1.1.2課程設(shè)計(jì)意義..................................................1

1.3課程設(shè)計(jì)環(huán)境.......................................................1

第2章需求分析...........................................................2

2.1問題描述...........................................................2

2.2功效需求..........................................................2

2.3問題處理方案......................................................3

第3章系統(tǒng)設(shè)計(jì)...........................................................4

3.1數(shù)據(jù)設(shè)計(jì)..........................................................4

3.1.1類設(shè)計(jì).......................................................4

3.1.2類之間關(guān)系...................................................5

3.2結(jié)構(gòu)設(shè)計(jì)..........................................................6

3.2.1系統(tǒng)步驟圖...................................................6

3.2.2界面設(shè)計(jì).....................................................6

第4章系統(tǒng)實(shí)現(xiàn)...........................................................9

4.1類實(shí)現(xiàn)............................................................9

4.2函數(shù)實(shí)現(xiàn)..........................................................11

4.3主函數(shù)實(shí)現(xiàn).......................................................21

第5章系統(tǒng)測試..........................................................23

5.1模塊測試.........................................................23

5.2課程設(shè)計(jì)過程中碰到問題...........................................32

總結(jié).......................................................................33

致謝.......................................................................34

參考文件..................................................................35

第1章緒論

1.1課程設(shè)計(jì)目標(biāo)

(I)要求學(xué)生能夠熟練掌握C++語言基礎(chǔ)知識(shí)和技能。

(2)基礎(chǔ)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)思緒和方法。

(3)能夠利用所學(xué)基礎(chǔ)知識(shí)和技能,處理簡單面向?qū)ο蟪绦蛟O(shè)計(jì)問題。

1.2課程設(shè)計(jì)背景和意義

1.2.1課程設(shè)計(jì)背景

1.理論研究基礎(chǔ)

(1)綜合C++編程知識(shí),結(jié)合實(shí)際加以應(yīng)用。

(2)參考書本對書本熟悉,應(yīng)用類、數(shù)組等內(nèi)容。

2.技術(shù)層面支持

安裝MicrosoftVisualC++6.0集成開發(fā)環(huán)境。

1.2.2課程設(shè)計(jì)意義

綜合復(fù)習(xí)《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》全部知識(shí)點(diǎn),深入熟練面向?qū)ο蟪绦蜷_發(fā)方法和步

驟,提升學(xué)生獨(dú)立分析問題和處理問題能力,培養(yǎng)學(xué)生中、小型實(shí)踐項(xiàng)目開發(fā)能力。

讓我們提前感受到編寫軟件過程和處理問題方法。

1.3課程設(shè)計(jì)環(huán)境

軟件環(huán)境:MicrosoftVisualC++6.0集成開發(fā)環(huán)境。

硬件環(huán)境:圖書館五樓機(jī)房,筆記本電腦。

第2章需求分析

2.1問題描述

某高校有四類職員:老師、試驗(yàn)員、行政人員,老師兼行政人員;共有信息包含:編

號、姓名、性別、年紀(jì)等。其中,老師還包含信息有:所在系部、專業(yè)、職稱;試驗(yàn)員還

包含信息由:所在試驗(yàn)室、職務(wù);行政人員還包含信息有:政治面貌、職稱等

2.2功效要求

(1)基礎(chǔ)功效

1)添加功效:程序能夠任意添加上述四類人員統(tǒng)計(jì),可提供選擇界面供用戶選擇所要

添加人員類別,要求職員編號要唯一,假如添加了反復(fù)編號統(tǒng)計(jì)時(shí),則提醒數(shù)據(jù)添

加反復(fù)并取消添加。

2)查詢功效:可依據(jù)編號、姓名等信息對已添加統(tǒng)計(jì)進(jìn)行查詢,假如未找到,給出對

應(yīng)提醒信息,假如找到,則顯示對應(yīng)統(tǒng)計(jì)信息。

3)顯示功效:可顯示目前系統(tǒng)中全部統(tǒng)計(jì),每條統(tǒng)計(jì)占據(jù)一行。

4)編輯功效:可依據(jù)查詢結(jié)果對對應(yīng)統(tǒng)計(jì)進(jìn)行修改,修改時(shí)注意編號唯一性。

5)刪除功效:關(guān)鍵實(shí)現(xiàn)對已添加人員統(tǒng)計(jì)進(jìn)行刪除。假如目前系統(tǒng)中沒有對應(yīng)人員統(tǒng)

計(jì),則提醒“統(tǒng)計(jì)為空!”并返回操作;不然,輸入要?jiǎng)h除人員編號或姓名,依據(jù)

所輸入信息刪除該人員統(tǒng)計(jì),假如沒有找到該人員信息,則提醒對應(yīng)統(tǒng)計(jì)不存。

6)統(tǒng)計(jì)功效:能依據(jù)多個(gè)參數(shù)進(jìn)行人員統(tǒng)計(jì)。比如,統(tǒng)計(jì)四類人員數(shù)量和總數(shù),

或統(tǒng)計(jì)男、女職員數(shù)量,或統(tǒng)計(jì)某年紀(jì)段人員數(shù)量等。

7)保留功效:可將目前系統(tǒng)中各類人員統(tǒng)計(jì)存入文件中,存入方法任意。

8)讀取功效:可將保留在文件中人員信息讀入到目前系統(tǒng)中,供用戶進(jìn)行使用。

(2)擴(kuò)展功效

在完成以上基礎(chǔ)功效基礎(chǔ)上,可自行進(jìn)行擴(kuò)展或完善,比如;

1)添加人員統(tǒng)計(jì)時(shí),考慮多種數(shù)據(jù)有效性。

2)組合查詢功效實(shí)現(xiàn)。

3)可按人員一些信息進(jìn)行排序。

4)對文件讀寫使用二進(jìn)制信息。

2.3問題處理方案

依據(jù)系統(tǒng)功效要求,能夠?qū)栴}處理分為以下步驟:

1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)功效模塊框圖和界面組織和設(shè)計(jì);

2)分析系統(tǒng)中各個(gè)實(shí)體及它們之間關(guān)系;

3)依據(jù)問題描述,設(shè)計(jì)系統(tǒng)類層次;

4)完成類層次中各個(gè)類描述;

5)完成類中各個(gè)組員函數(shù)定義;

6)完成系統(tǒng)應(yīng)用模塊;

7)功效調(diào)試;

8)完成系統(tǒng)總結(jié)匯報(bào)。

第3章系統(tǒng)設(shè)計(jì)

3.1數(shù)據(jù)設(shè)計(jì)

3.1.1類設(shè)計(jì)

此系統(tǒng)共設(shè)計(jì)了九個(gè)類:基類(classPerson),試驗(yàn)員類(classExperimenter),老師類

(classTeacher),行政人員類(clas*Staff),老師兼行政人員類(class)

基類中有

intnum;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員編號

intage;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員年紀(jì)

stringname;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員姓名

stringsex;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員性別

virtualvoidInput();公有數(shù)據(jù)組員函數(shù)用于輸入組員信息

virtualvoidOutput();公有數(shù)據(jù)組員函數(shù)用于輸出組員信息

intGetNum();公有數(shù)據(jù)組員函數(shù)用于取得組員編號

stringGetName();公有數(shù)據(jù)組員函數(shù)用于取得組員姓名

試驗(yàn)員類中添加了

stringlibrary;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員試驗(yàn)室

stringzw;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員職務(wù)

intchoice2;公有數(shù)據(jù)組員用于選擇組員性別

老師類中添加了

stringdepart;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員部門

stringspec;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員專業(yè)

siring(ide;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員職稱

intchoice1;公有數(shù)據(jù)組員用于選擇組員部門

intchoice2;公有數(shù)據(jù)組員用于選擇組員性別

行政人員類中添加了

stringzzmm;;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員政治面貌

stringzc;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員任職職稱

intchoice2;公有數(shù)據(jù)組員用于選擇組員性別

老師兼行政人員類添加了

intchoiccl;公有數(shù)據(jù)組員用于選擇組員部門

intchoice2;公有數(shù)據(jù)組員用于選擇組員性別

還有四個(gè)功效相同功效函數(shù)類,其中有Exp_Manage類Tea_Manage類Staf_Manage

類Tea_Staf_Manage類c分別實(shí)現(xiàn)不一樣對應(yīng)功效。

Tea_StaTea[TMAXJ;TMAX為常量,為數(shù)組中可存放老師統(tǒng)計(jì)最大數(shù);

inttop;top表示目前系統(tǒng)中存放統(tǒng)計(jì)個(gè)數(shù);

Tea_Staf_Manage(){iop=0;}初始時(shí)統(tǒng)計(jì)個(gè)數(shù)為0,所以設(shè)置top=0;

voidAdd();實(shí)現(xiàn)該類統(tǒng)計(jì)添加;

voidShow();實(shí)現(xiàn)該類全部統(tǒng)計(jì)顯示;

voidSearchO;實(shí)現(xiàn)該類統(tǒng)計(jì)杳詢:

voidEdit();實(shí)現(xiàn)該類統(tǒng)計(jì)修改;

voidDelete();實(shí)現(xiàn)該類統(tǒng)計(jì)刪除;

voidTotal();實(shí)現(xiàn)該類統(tǒng)計(jì)統(tǒng)計(jì);

voidSave();將該類統(tǒng)計(jì)保留到文件;

voidRead();可從文件中將統(tǒng)計(jì)讀取到該類數(shù)組中;

試驗(yàn)員、老師、行政人員管理類中函數(shù)全部相同,在此略。

3.1.2類之間關(guān)系

基類:(classPerson)派生類有:(classExperimenter),(classTeacher),(classStaff)

(classTea_Sta)

四個(gè)平行關(guān)系類,實(shí)現(xiàn)不一樣類功效;(classExp_Managc)(classTca_Managc)(class

Staf_Manage)(classTea_StaCManage)

3.1.3函數(shù)設(shè)計(jì)

在四個(gè)管理類中定義了以下相同函數(shù),功效如其后所說

voidAdd();實(shí)現(xiàn)該類統(tǒng)計(jì)添加;

voidShow();實(shí)現(xiàn)該類全部統(tǒng)計(jì)顯示;

voidSearch();實(shí)現(xiàn)該類統(tǒng)計(jì)查詢;

voidEdit();實(shí)現(xiàn)該類統(tǒng)計(jì)修改;

voidDelete();實(shí)現(xiàn)該類統(tǒng)計(jì)刪除;

voidTotal();實(shí)現(xiàn)該類統(tǒng)計(jì)統(tǒng)計(jì);

voidSave();將該類統(tǒng)計(jì)保留到文件;

voidRead();可從文件中將統(tǒng)計(jì)讀取到該類數(shù)組中;

3.2結(jié)構(gòu)設(shè)計(jì)

3.2.1系統(tǒng)步驟圖

圖3-1

3.2.2界面設(shè)計(jì)

主菜單界面

圖3—2主菜單界面圖

試驗(yàn)員類菜單界面

圖3—3試驗(yàn)員類菜單界面圖

老師類菜單界面

|*F:\LY\^^\Debug\zhangxiangying.exe

…歡迎進(jìn)入北華領(lǐng),天工業(yè)學(xué)院人員管理系統(tǒng)…

K<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

1=>實(shí)物員管理2=>教師管理3=>行政管理4=教師行政管理。=>退出系統(tǒng)

??????????????????????????????????????

請輸入您的選擇:2

教師管理***

:1.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計(jì)退出;

輸入您操作的選項(xiàng):

圖3-4老師類菜單界面圖

政人員管理菜單界面

圖3—5政人員管理菜單界面圖

老師兼行政人員管理菜單界面

八"F:\LY\課設(shè)\Debug\zhangxiangying.exe"|

***歡迎進(jìn)入

XXXXX"T;^^.^.xxxxx

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

/1=>實(shí)驗(yàn)員管理2=>教師管理3=>行政管理4=教師行政管理。=>退出系統(tǒng)!!

??????????????????????????????????????

請輸入您的選擇:4

****教師兼行政人員管理***

:1.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計(jì)0=>退出;

輸入您操作的選項(xiàng):.

5

圖3-6老師兼行政人員管理菜單界面圖

第4章系統(tǒng)實(shí)現(xiàn)

4.1類實(shí)現(xiàn)

對于基類定義

classPerson

(

public:

intnum;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員編號

intage;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員年紀(jì)

stringname;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員姓名

stringsex;公用數(shù)據(jù)組員用于統(tǒng)計(jì)類組員性別

public:

Person(intn=0,stringnm='n,,strings="",inta=O):num(n),name(nm),sex(s),age(a){};

virtualvoidInput(){};

virtualvoidOutput。:};

intGetNum(){returnnum;}公有數(shù)據(jù)組員函數(shù)用于取得組員編號

stringGetName(){returnname;)公有數(shù)據(jù)組員函數(shù)用于取得組員姓名

);

對試驗(yàn)員派生類定義

classExperimenter:publicPerson

I

public:

stringlibrary;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員試驗(yàn)室

stringzw;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員職務(wù)

intchoice2;公有數(shù)據(jù)組員用于選擇組員性別

public:

Experimenter(intn=0,stringnm="",strings="男",inta=(),stringstringz=,,w)

:Person(num,name,sex,age),library(l),zw(z){);

voidInput()組員函數(shù)用于輸入組員信息

voidOutput()組員函數(shù)用于輸出組員信息

};

對于老師派生類定義

classTeacher:virtualpublicPerson

{

public:

stringdepart;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員部門

stringspec;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員專業(yè)

stringtitle;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員職稱

intchoice1;公有數(shù)據(jù)組員用于選擇組員部門

intchoice2;公有數(shù)據(jù)組員用于選擇組員性別

public:

Tcacher(intn=0,stringnm="M,strings=n男=inta=0,stringd="電子系M,string

sp=H,,.stringt=uu)

:Person(n,nm,s,a),depart(d),spec(sp),title(t){};

voidInput()組員函數(shù)用于輸入組員信息

voidOutput()組員函數(shù)用于輸出組員信息

對于行政人員派生類定義

classStaff:virtualpublicPerson

(

public:

stringzzmm;;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員政治面貌

stringzc;公有數(shù)據(jù)組員用于統(tǒng)計(jì)類組員任職職稱

intchoicc2;公有數(shù)據(jù)組員用于選擇組員性別

public:

Staff(intn=0,stringnm="M,strings="男",inta=0,stringz="n,stringzc="")

:Person(n,nm,s,a),zzmm(z),zc(zc){};

voidInput()組員函數(shù)用于輸入組員信息

voidOutputO組員函數(shù)用于輸出組員信息

);

對于老師兼行政人員類定義

classTea_Sta:publicTeacher,publicStaff

(

public:

intchoice1;公有數(shù)據(jù)組員用于選擇組員部門

intchoice2;公有數(shù)據(jù)組員用于選擇組員性別

Tea_Sta(intn=(),stringnm=,,u,strings="男=inta=(),stringd=M電子系",string

sp=M",stringstringz=,,M,stringzc=uu)

:Person(n,nm,s,a),Teacher(n,nm,s,a,sp4),Staff(n,niTi,s,a,z,zc){};

voidInput()組員函數(shù)用于輸入組員信息

voidOutputO組員函數(shù)用于輸出組員信息

);

對于在四個(gè)管理類中函數(shù)功效全部相同,以老師類為例

classTea_Manage

TeacherTeafTMAX];TMAX為常量,為數(shù)組中可存放老師統(tǒng)計(jì)最大數(shù);

inttop;top表示目前系統(tǒng)中存放統(tǒng)計(jì)個(gè)數(shù);

public:

Tea_Manage(){top=0;}初始時(shí)統(tǒng)計(jì)個(gè)數(shù)為0,所以設(shè)置top=0;

voidAdd();實(shí)現(xiàn)該類統(tǒng)計(jì)添加;

voidShow。;實(shí)現(xiàn)該類全部統(tǒng)計(jì)顯示;

voidSearch();實(shí)現(xiàn)該類統(tǒng)計(jì)查詢;

voidEdit();實(shí)現(xiàn)該類統(tǒng)計(jì)修改;

voidDelete();實(shí)現(xiàn)該類統(tǒng)計(jì)刪除;

voidTotal();實(shí)現(xiàn)該類統(tǒng)計(jì)統(tǒng)計(jì);

voidSave();將該類統(tǒng)計(jì)保留到文件;

voidRcad();可從文件中將統(tǒng)計(jì)讀取到該類數(shù)組中;

4.2函數(shù)實(shí)現(xiàn)

對于在四個(gè)管理類中定義了相同函數(shù),以老師類為例

添加功效:程序能夠任意添加上述四類人員統(tǒng)計(jì),可提供選擇界面供用戶選擇所要添

加人員類別,要求職員編號要唯一,假如添加了反復(fù)編號統(tǒng)計(jì)時(shí),則提醒數(shù)據(jù)添加反復(fù)并

取消添加

voidTea_Manage::Add()

if(top>=TMAX)

(

cout?"用戶已滿"vvendl;

return;

Teachert;

coutvv”輸入新添加人員信息,<<endl;

t.Input();

for(inti=0;i<top;i++)

if(t.GetNum()==Tea[i].GetNum())

cout<<”該編號人員己存在"v<endl;

return;

)

Tca[top]=t;

top=top+1;

coutv<"添加成功!”《endl;

)

顯示功效:可顯示目前系統(tǒng)中全部統(tǒng)計(jì),每條統(tǒng)計(jì)占據(jù)一行。

voidTea_Manage::Show()

{

if(top==0)

(

cout<<"無數(shù)據(jù)!"<<endl;

return;

1

cout?setw(1())<<"編號"

<<setw(10)vv"姓名”

?selw(10)<<“性別”

<<sctw(10)v<“年紀(jì)”

<<setw(10)v<“系部”

<<setw(10)<<“專業(yè)”

?setw(10)?“職稱"

?endl;

for(inti=0;i<top;i++)

Tea[i].Output();

)

查詢功效:可依據(jù)編號、姓名等信息對已添加統(tǒng)計(jì)進(jìn)行查詢,假如未找到,給出對應(yīng)

提醒信息,假如找到,則顯示對應(yīng)統(tǒng)計(jì)信息。

voidTea_Manage::Search()

if(top==0)

cout<<”目前系統(tǒng)中沒有存放統(tǒng)計(jì)“<<endl;

return;

1

intchoice;

cout<<”請選擇杳找方法:1.按編號查找2.按姓名查找J?endl;

cin?choice;

switch(choice)

(

case1:{

coul<<”請輸入要查找編號:“<<endl;

intnum;

cin?num;

for(inti=0;i<top;i++)

(

if(Tea[iJ.GetNum()==num)

(

Tea[i].Output();

return;

)

)

coul<<"查無此人!"<<endl;

}break;

case2:{

cout<<”請輸入要查找姓名"<<endl;

stringname;

cin?name;

for(inti=0;i<top;i++)

if(Tea[i].GetName()==name)

Tea[iJ.Output();

}

)

for(i=0;i<top;i++)

if(Tea[i].GetName()==name)

return;

cout<<“查無此人!"?endl;

}break;

default:coutv<”無此選項(xiàng)!請重試!”<<endl;break;

1

1

voidTea_Manage::Edit()

(

if(top==0)

(

cout<<”目前系統(tǒng)中沒有存放統(tǒng)計(jì)!”<<endl;

return;

I

intnum;

cout?n請輸入要查找教編號:H?endl;

cin?num;

for(inti=0;i<top;i++)

if(Tea[i].GetNum()==num)

cout<<"請對這位老師信息進(jìn)行修改:“<<endl;

Tea[i].Input();

coul<<"修改成功"<vendl;return;

)

I

cout<<"查無此人"v<endl;

)

刪除功效:關(guān)鍵實(shí)現(xiàn)對已添加人員統(tǒng)計(jì)進(jìn)行刪除。假如目前系統(tǒng)中沒有對應(yīng)人員統(tǒng)計(jì),

則提醒“統(tǒng)計(jì)為空!”并返回操作;不然,輸入要?jiǎng)h除人員編號或姓名,依據(jù)所輸入信息刪

除該人員統(tǒng)計(jì),假如沒有找到該人員信息,則提醒對應(yīng)統(tǒng)計(jì)不存。

voidTea_Manage::Delete()

{

if(top==0)

(

cout?n目前系統(tǒng)中沒有存放統(tǒng)計(jì):'<<endl;

return;

)

cout?”l、按編號查找刪除2、按姓名查找刪除"<vendl;

intchoice;

cin?choice;

switch(choice)

(

case1:

(

cout<<”請輸入編號:”;

intnum;

cin?num;

for(inti=0;i<top;i++)

if(num==Tea[i].num)

cout<<"是否確定刪除?1、是2、否"?cndl;

intchoice;

cin?choice;

switch(choice)

(

case1:

(

for(intj=i;j<top-1;j++)

Tea[j]=Tea[j+l];

cout<〈”刪除成功!"?endl;

top-;

);break;

case2:rcturn;

default:cout<<”無止匕項(xiàng),失貝攵!"<vendl:break:

(return;

)

)

cout<<"無此人!"?endl;

};break;

case2:

cout?”請輸入姓名:”;

stringname;

cin?name;

for(inti=0;i<top;i++)

if(name==Tea[i].name)

(

cout<<”是否確定刪除?1、是2、否”<vendl;

intchoice;

cin?choice;

switch(choice)

(

case1:

(

for(intj=i;j<top-1;j++)

TeaU]=TeaU+l];

cout<〈"刪除成功!"?endl;

top-;

};brcak;

case2:return:

default:cout<<“無止匕項(xiàng),失??!"?endl;break;

(return;

1

}

cout<<"無此人!"?endl;

};break;

default:cout<<“沒有此項(xiàng),失敗:H?endl;break;

)

1

統(tǒng)計(jì)功效:能依據(jù)多個(gè)參數(shù)進(jìn)行人員統(tǒng)計(jì)。匕如,統(tǒng)計(jì)類中人員數(shù)量和總數(shù),

或統(tǒng)計(jì)男、女職員數(shù)量,不一樣部門職員數(shù)量等。

voidTea_Manage::Total()

cout?"1按人數(shù)統(tǒng)計(jì)2按性別統(tǒng)計(jì)3按系別統(tǒng)計(jì)"?endl;

intchoice;

cout?"請輸入你選擇”《endl;

cin?choice;

switch(choice)

(

case1:cout<<"老師類人數(shù)為:"《lop<vendl;break;

case2:

(

inta=0,b=0;

for(inti=0;i<lop;i++)

(

if(Tea[i].sex=="")a++;

if(Tea[i].sex=="^<")b++;

)

cout?"男老師人數(shù)為"vvavVendl;

cout<<"女老師人數(shù)為"?b?endl;

}break;

case3:

(

inta1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;

for(inti=0;i<top;i++)

(

if(Tea[i].depart=="電子系")al++;

if(Tea[i].depart二二"機(jī)械系")a2++;

if(Tea[i].depart=="經(jīng)管系")a3++;

if(Tea[i].depart=="建I:系")a4++;

if(Tea[i].depart=="計(jì)算機(jī)系")a5++;

if(Tea[i].dcpart=="夕卜語系")a6++;

if(Tea[i].depart=="財(cái)會(huì)系")a7++;

if(Tea[i].depart=="材料系")a8++;

if(Tea[i].depart=="文法系")a9++;

cout<<"電子系老師人數(shù)為"?al?endl;

cout<<"機(jī)械系老師人數(shù)為"?a2?endl;

cout<<"經(jīng)管系老師人數(shù)為"<<a3?endl;

coutvv”建工系老師人數(shù)為“v<a4?endl;

cout?"計(jì)算機(jī)系老師人數(shù)為"《a5vvendl;

cout?"外語系老師人數(shù)為u?a6?endl;

cout<<"財(cái)會(huì)系老師人數(shù)為"<<a7vvendl;

coutv<"材料系老師人數(shù)為”《a8?cndl;

cout<<"文法系老師人數(shù)為“vva9?endl;

)break;

default:cout<<"輸入錯(cuò)誤。請重新輸入"《endl;break;

保留功效:可將目前系統(tǒng)中各類人員統(tǒng)計(jì)存入文件中,存入方法任意。

voidTea_Manage::Save()

ofstreamout("D:\\ying2.txt",ios::out);

if(!out)

cout<v"打開失敗!”vvendl;

return;

)

coutv<”打開成功!”vvendl;

for(inti=0;i<top;i++)

(

out?Tea[i].num?""

?Tea[i].name?M"

v<Tea[i].sex<<""

?Tea[i].age?"H

?Tea[i].depart?u"

?Tea[i].spec?n

?Tea[i].title

?endl;

}

coutvv”寫入成功!"vvendl;

out.close();

)

讀取功效:可將保留在文件中人員信息讀入到目前系統(tǒng)中,供用戶進(jìn)行使用。

voidTea_Manage::Read()

(

ifstreamin("D:\\ying2.txt",ios::in);

if(!in)

(

cout?"JT開失敗!"<<endl;

return;

}

inti=0;

while(in?Tea[i].num

?Tea[i].name

?Tea[i].sex

?Tea[il.age

?Tea[iJ.depart

?Tea[i].spcc

?Tea[il.title)

(

Tea[i].Output();

i++;

top++;

}

in.close();

};

老師函數(shù)主界面定義

voidTeaMenu()

(

Tea_Managet:

intchoice;

while(choice!=0)

(

cout?"\n***老師管理***

"?endl;

cout<v"++++++++++++-++++++++++++++++++++++++++++++++++++++++”?endl;

cout?M|r?endl;

coutv<”|I.添加2.查找3修改4.刪除5.顯示6.保留7.讀取8.統(tǒng)計(jì)0=>退出|"?endl;

cout?M|l"?endl;

cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++”v〈endl;

coutvv"\n輸入您操作選項(xiàng):";

cin?choice;

switch(choice)

(

case1:t.Add();break;

case2:t.Search();break;

case3:t.Edit();break;

case4:t.Delete();break;

case5:t.Show();break;

case6:t.Save();break;

case7:t.Read();break;

case8:l.Tolal();break;

case0:coutv<”退出成功!”<<endl;break;

default:cout<<"無此選項(xiàng)!請重試!"<<endl;break;

)

)

1

系統(tǒng)主菜單函數(shù)定義,依據(jù)不一樣人選擇不一樣子系統(tǒng)

inimain()

(

cout?H***歡迎進(jìn)入北華航天工業(yè)學(xué)院人員管理系統(tǒng)**

intchoice;

do{

cout?n*****主菜單*****\n”《endl;

cout?,,???????????????????????????"?endl;

cout?n||||"?endl;

cout?"||l=>試驗(yàn)員管理2=>老師管理3=>行政管理4二老師行政管理()=>退出系統(tǒng)

||"?endl;

cout?"||||"?endl;

cout?'??????>????????????????????'?endl;

cout?"\n請輸入您選擇:";

cin?choice;

switch(choice)

(

case1:ExpMenu();break;

case2:TeaMenu();break;

case3:StafMenu();break;

case4:Tea_StafMenu();break;

case():cout?"\n您已安全退出系統(tǒng)."<<endl;break;

default:cout?"\n沒有此選項(xiàng).請重選."《endl;break;

)

}while(choice!=0);

cout?n\n***歡迎您下次再使用本系統(tǒng)!***"?endl;

return0;

)

4.3主函數(shù)實(shí)現(xiàn)

#include<iostream>

#include<string>

#include<fstream>

#include<iomanip>

constintTMAX=50;

usingnamespacestd;

intmain()

cout?n***歡迎進(jìn)入北華航天工業(yè)學(xué)院人員管理系統(tǒng)***'vvendl;

intchoice;

do{

cout?n*****主菜單**

cout?"??????<?????????????????<???',?endl;

cout?"||||"?endl;

cout?"||l=>試驗(yàn)員管理2=>老師管理3二〉行政管理4二老師行政管理0=>退出系統(tǒng)

||"?endl;

cout?"||||"?endl;

cout?"??????>????????????????????H?endl;

cout?"\n請輸入您選擇:";

cin?choice;

switch(choice)

(

case1:ExpMenu();break;

case2:TeaMenu();break;

case3:StafMenu();break;

case4:Tea_StafMenu();break;

case0:cout?"\n您已安全退出系統(tǒng)."<<endl;break;

default:cout?n\n沒有此選項(xiàng).請重選."《endl;break;

}

}while(choice!=0);

cout?n\n***歡迎您下次再使用本系統(tǒng)!

return0;

第5章系統(tǒng)測試

5.1模塊測試

(因?yàn)樵囼?yàn)員類,老師類,行政人員類,老師兼行政人員類系統(tǒng)功效一樣,在此以老

師類為例)

1.添加模塊

(輸入正確添加信息)

x

Ld

圖5—1正確添加界面

(輸入錯(cuò)誤信息)

圖5-2錯(cuò)誤添加界而

2.查找模塊

(正確編號查找)

圖5—3正確編號查找界面

(錯(cuò)誤編號查找)

圖5—4錯(cuò)誤編號查找界面

(

)

圖5-5正確姓名查找界面

(錯(cuò)誤姓名查找)

圖5—6錯(cuò)誤姓名查找界面

3..修改模塊

(正確修改)

rF:\LY\課設(shè)\Debug\zhang*iangying.eze

教師官■理3

工.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計(jì)0=>退出

介入您操件的選項(xiàng):3

與輸入要強(qiáng)找的教編號;

1

thenun

2

nputthename

putthesex”.男2.女)

輸入你的選擇

2

theage

t

/depart

電t^h

2.機(jī)械系3.經(jīng)管系4.建工系5.計(jì)算機(jī)系6.外語系7.財(cái)會(huì)系8.材料系

1.文^

9.

你選擇

2

thespec

2

nputthetitle

2

區(qū)改成功

圖57正確修改界面

(錯(cuò)誤修改)

圖5—8錯(cuò)誤修改界面

4.刪除模塊

(正確編號刪除)

圖5-9正確編號刪除界面

(錯(cuò)誤編號刪除)

圖5—10錯(cuò)誤編號刪除界面

(正確姓名刪除)

圖5—11正確姓名刪除界面

(錯(cuò)誤姓名刪除)

圖5—12錯(cuò)誤姓名刪除界面

5.顯示模塊

c<*F:\1?丫\課設(shè)\061)118\由3118*1311871:£118.eze

3

*?*教師管理***

1.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計(jì)0=>退出

?+---

++

1項(xiàng)5

.?

業(yè)

1i1電11

222系22

332系22

U

圖5-13顯不信息界面

6.保留模塊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論