版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《新編事業(yè)單位會(huì)計(jì)操作實(shí)務(wù)》教案
- 【管理課件】某公司中層管理人員述職報(bào)告
- 二零二五年度美容院品牌形象設(shè)計(jì)及使用權(quán)授權(quán)合同4篇
- 2024起重設(shè)備采購合同樣本:附帶起重機(jī)吊裝作業(yè)安全管理協(xié)議3篇
- 女性乳腺健康的保護(hù)方法
- 2025年度新能源產(chǎn)品代銷合同范本3篇
- 2024年08月中國光大銀行南通分行投行團(tuán)隊(duì)負(fù)責(zé)人招聘筆試歷年參考題庫附帶答案詳解
- 2024年07月中國人民銀行分支機(jī)構(gòu)和部分所屬單位人員錄用招考筆試南京考點(diǎn)考生須知筆試歷年參考題庫附帶答案詳解
- 2025年醫(yī)療病床配件項(xiàng)目投資可行性研究分析報(bào)告
- 加油站的區(qū)域布局
- 冬春季呼吸道傳染病防控
- 【物 理】2024-2025學(xué)年八年級上冊物理寒假作業(yè)人教版
- 2024年計(jì)算機(jī)二級WPS考試題庫380題(含答案)
- 中醫(yī)藥膳學(xué)課件
- 教科版二年級下冊科學(xué)第一單元測試卷(含答案)
- 春節(jié)值班安排通知
- 下腔靜脈濾器置入術(shù)共27張課件
- 人教小學(xué)四年級上冊數(shù)學(xué)知識(shí)點(diǎn)歸納
- 2022年上海健康醫(yī)學(xué)院職業(yè)適應(yīng)性測試題庫及答案解析
- 安徽省血液凈化??谱o(hù)士臨床培訓(xùn)基地條件
- 腦橋解剖ppt課件
評論
0/150
提交評論