




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于C+的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例課程設(shè)計(jì)報(bào)告報(bào)告題目: 高校人員信息管理系統(tǒng) 作者所在系部: 計(jì)算機(jī)科學(xué)與工程系 作者所在專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 作者所在班級(jí): 作 者 姓 名 : 指導(dǎo)教師姓名: 完 成 時(shí) 間 : 2010年6月 基于C+的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例任務(wù)書一目的與要求1、目的(1)要求學(xué)生能夠熟練掌握C+語(yǔ)言的基本知識(shí)和技能。(2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法。(3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。2、基本要求(1)要求利用面向?qū)ο蟮姆椒ㄒ约癈+的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì)。 (2)在系統(tǒng)的設(shè)計(jì)中,要求運(yùn)用面向?qū)ο蟮臋C(jī)制(繼承、派生及多態(tài)性
2、)來(lá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ò)誤引起程序運(yùn)行錯(cuò)誤而中斷執(zhí)行。對(duì)輸入值的類型、大小范圍、字符串的長(zhǎng)度等,進(jìn)行正確性檢查,對(duì)不合法的輸入值給出出錯(cuò)信息,指出錯(cuò)誤類型,等待重新輸入。3、創(chuàng)新要求在基本要求達(dá)到后,可根據(jù)實(shí)際情況進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能及設(shè)計(jì)出比較友好的界面等。二驗(yàn)收方式完成設(shè)計(jì)內(nèi)容之后,即可開(kāi)始驗(yàn)收。驗(yàn)收時(shí),首先由學(xué)生簡(jiǎn)要說(shuō)明所做題目的思路、設(shè)計(jì)結(jié)構(gòu)及實(shí)現(xiàn)過(guò)程,
3、然后運(yùn)行程序并進(jìn)行測(cè)試,對(duì)輸出結(jié)果作出解釋,同時(shí)認(rèn)真回答教師提出的問(wèn)題。三課設(shè)報(bào)告在完成驗(yàn)收之后,提交課設(shè)報(bào)告。其中報(bào)告中需包括系統(tǒng)設(shè)計(jì)要求,設(shè)計(jì)思路,系統(tǒng)功能模塊圖,系統(tǒng)流程圖,類的層次圖(包括類成員列表),調(diào)試過(guò)程,關(guān)鍵程序代碼,總結(jié),參考書目等。另外,課設(shè)報(bào)告要嚴(yán)格遵守模板文件的格式要求,思路清晰,內(nèi)容詳實(shí)豐富。四成績(jī)?cè)u(píng)定課設(shè)總成績(jī)=驗(yàn)收成績(jī)(50%)+課程設(shè)計(jì)報(bào)告成績(jī)(30%)+程序源代碼(10%)+課設(shè)態(tài)度、考勤與遵守教學(xué)制度情況 (10%)五說(shuō)明1、每位同學(xué)在以下的題目中任選一個(gè)來(lái)完成。2、學(xué)生應(yīng)嚴(yán)格遵守課堂秩序,按時(shí)上機(jī),認(rèn)真完成各項(xiàng)任務(wù)。3、上機(jī)前做好充分的準(zhǔn)備,包括事先寫好主
4、要程序代碼,以保證充分利用上機(jī)的時(shí)間調(diào)試程序。4、每位同學(xué)各自獨(dú)立完成自己的題目,禁止抄襲或拷貝。5、必須按規(guī)定時(shí)間上交課設(shè)報(bào)告。六課設(shè)題目題目1 “高校員工信息管理系統(tǒng)”1、問(wèn)題描述某高校有四類員工:教師、實(shí)驗(yàn)員、行政人員,教師兼行政人員;共有的信息包括:編號(hào)、姓名、性別、年齡等。其中,教師還包含的信息有:所在系部、專業(yè)、職稱;實(shí)驗(yàn)員還包含的信息由:所在實(shí)驗(yàn)室、職務(wù);行政人員還包含的信息有:政治面貌、職稱等。2、功能要求(1)基本功能1) 添加功能:程序能夠任意添加上述四類人員的記錄,可提供選擇界面供用戶選擇所要添加的人員類別,要求員工的編號(hào)要唯一,如果添加了重復(fù)編號(hào)的記錄時(shí),則提示數(shù)據(jù)添加
5、重復(fù)并取消添加。2) 查詢功能:可根據(jù)編號(hào)、姓名等信息對(duì)已添加的記錄進(jìn)行查詢,如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息。3) 顯示功能:可顯示當(dāng)前系統(tǒng)中所有記錄,每條記錄占據(jù)一行。4) 編輯功能:可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意編號(hào)的唯一性。5)刪除功能:主要實(shí)現(xiàn)對(duì)已添加的人員記錄進(jìn)行刪除。如果當(dāng)前系統(tǒng)中沒(méi)有相應(yīng)的人員記錄,則提示“記錄為空!”并返回操作;否則,輸入要?jiǎng)h除的人員的編號(hào)或姓名,根據(jù)所輸入的信息刪除該人員記錄,如果沒(méi)有找到該人員信息,則提示相應(yīng)的記錄不存。6) 統(tǒng)計(jì)功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì)。例如,統(tǒng)計(jì)四類人員數(shù)量以及總數(shù),或者統(tǒng)計(jì)男、女
6、員工的數(shù)量,或者統(tǒng)計(jì)某年齡段人員的數(shù)量等。7)保存功能:可將當(dāng)前系統(tǒng)中各類人員記錄存入文件中,存入方式任意。8)讀取功能:可將保存在文件中的人員信息讀入到當(dāng)前系統(tǒng)中,供用戶進(jìn)行使用。(2)擴(kuò)展功能在完成以上基本功能的基礎(chǔ)上,可自行進(jìn)行擴(kuò)展或完善,例如: 1) 添加人員記錄時(shí),考慮各種數(shù)據(jù)的有效性。2)組合查詢功能的實(shí)現(xiàn)。3)可按人員的某些信息進(jìn)行排序。4)對(duì)文件的讀寫使用二進(jìn)制信息。3、問(wèn)題的解決方案 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: 1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系; 3)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次;
7、4)完成類層次中各個(gè)類的描述; 5)完成類中各個(gè)成員函數(shù)的定義; 6)完成系統(tǒng)的應(yīng)用模塊; 7)功能調(diào)試; 8)完成系統(tǒng)總結(jié)報(bào)告。摘 要在當(dāng)前的學(xué)校人員管理體制下,高等學(xué)校不但要有濃厚的學(xué)風(fēng)氣息、雄厚的師資力量、先進(jìn)精良硬件設(shè)備,與此同時(shí),作為先進(jìn)科學(xué)技術(shù)和優(yōu)秀文化的承載者和傳播者,更需要有一個(gè)執(zhí)行效率高并且便于操作的現(xiàn)代信息化管理系統(tǒng),以實(shí)現(xiàn)對(duì)高校各類人員進(jìn)行添加、查找、修改、刪除、統(tǒng)計(jì)、保存、讀取等動(dòng)態(tài)管理的目的。本文利用Microsoft Visual C+6.0的ADO編寫程序,實(shí)現(xiàn)了高校對(duì)實(shí)驗(yàn)員、教師、行政人員、教師兼行政人員的管理操作。本系統(tǒng)主要有四個(gè)管理模塊實(shí)驗(yàn)員管理系統(tǒng)、教師管
8、理系統(tǒng)、行政人員管理系統(tǒng)、教師兼行政人員管理系統(tǒng)。已經(jīng)過(guò)全面的系統(tǒng)測(cè)試,能夠很好的運(yùn)行,達(dá)到了預(yù)期的效果。關(guān)鍵詞:系統(tǒng)設(shè)計(jì) 類 信息 人員管理目 錄摘要第1章 緒 論11.1 課程設(shè)計(jì)的目的11.2 課程設(shè)計(jì)的背景和意義11.1.1 課程設(shè)計(jì)的背景11.1.2 課程設(shè)計(jì)的意義11.3 課程設(shè)計(jì)環(huán)境1第2章 需求分析22.1 問(wèn)題描述22.2 功能需求22.3 問(wèn)題的解決方案3第3章 系統(tǒng)設(shè)計(jì)43.1 數(shù)據(jù)設(shè)計(jì)43.1.1 類設(shè)計(jì)43.1.2 類之間關(guān)系53.2結(jié)構(gòu)設(shè)計(jì)63.2.1 系統(tǒng)流程圖63.2.2 界面設(shè)計(jì)6第4章 系統(tǒng)實(shí)現(xiàn)94.1 類實(shí)現(xiàn)94.2 函數(shù)實(shí)現(xiàn)114.3 主函數(shù)實(shí)現(xiàn)21第5
9、章 系統(tǒng)測(cè)試235.1 模塊測(cè)試235.2 課程設(shè)計(jì)過(guò)程中遇到的問(wèn)題32總結(jié)33致謝34參考文獻(xiàn)35第1章 緒論1.1 課程設(shè)計(jì)的目的(1)要求學(xué)生能夠熟練掌握C+語(yǔ)言的基本知識(shí)和技能。(2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法。(3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。1.2 課程設(shè)計(jì)的背景和意義1.2.1課程設(shè)計(jì)的背景 1. 理論研究基礎(chǔ)(1)綜合C+編程知識(shí),結(jié)合實(shí)際加以應(yīng)用。(2)參考課本對(duì)課本熟悉,應(yīng)用類、數(shù)組等內(nèi)容。2. 技術(shù)層面的支持安裝Microsoft Visual C+ 6.0集成開(kāi)發(fā)環(huán)境。1.2.2 課程設(shè)計(jì)的意義綜合復(fù)習(xí)C+面向?qū)ο蟪绦蛟O(shè)計(jì)
10、的所有知識(shí)點(diǎn),進(jìn)一步熟練面向?qū)ο蟪绦虻拈_(kāi)發(fā)方法和流程,提高學(xué)生獨(dú)立分析問(wèn)題和解決問(wèn)題的能力,培養(yǎng)學(xué)生的中、小型實(shí)踐項(xiàng)目開(kāi)發(fā)能力。讓我們提前感受到編寫軟件的過(guò)程和解決問(wèn)題的方法。1.3 課程設(shè)計(jì)環(huán)境軟件環(huán)境:Microsoft Visual C+ 6.0集成開(kāi)發(fā)環(huán)境。硬件環(huán)境:圖書館五樓機(jī)房,筆記本電腦。第2章 需求分析2.1 問(wèn)題描述某高校有四類員工:教師、實(shí)驗(yàn)員、行政人員,教師兼行政人員;共有的信息包括:編號(hào)、姓名、性別、年齡等。其中,教師還包含的信息有:所在系部、專業(yè)、職稱;實(shí)驗(yàn)員還包含的信息由:所在實(shí)驗(yàn)室、職務(wù);行政人員還包含的信息有:政治面貌、職稱等2.2 功能要求(1)基本功能1)
11、添加功能:程序能夠任意添加上述四類人員的記錄,可提供選擇界面供用戶選擇所要添加的人員類別,要求員工的編號(hào)要唯一,如果添加了重復(fù)編號(hào)的記錄時(shí),則提示數(shù)據(jù)添加重復(fù)并取消添加。2) 查詢功能:可根據(jù)編號(hào)、姓名等信息對(duì)已添加的記錄進(jìn)行查詢,如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息。3) 顯示功能:可顯示當(dāng)前系統(tǒng)中所有記錄,每條記錄占據(jù)一行。4) 編輯功能:可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意編號(hào)的唯一性。5)刪除功能:主要實(shí)現(xiàn)對(duì)已添加的人員記錄進(jìn)行刪除。如果當(dāng)前系統(tǒng)中沒(méi)有相應(yīng)的人員記錄,則提示“記錄為空!”并返回操作;否則,輸入要?jiǎng)h除的人員的編號(hào)或姓名,根據(jù)所輸入的信息
12、刪除該人員記錄,如果沒(méi)有找到該人員信息,則提示相應(yīng)的記錄不存。6) 統(tǒng)計(jì)功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì)。例如,統(tǒng)計(jì)四類人員數(shù)量以及總數(shù),或者統(tǒng)計(jì)男、女員工的數(shù)量,或者統(tǒng)計(jì)某年齡段人員的數(shù)量等。7)保存功能:可將當(dāng)前系統(tǒng)中各類人員記錄存入文件中,存入方式任意。8)讀取功能:可將保存在文件中的人員信息讀入到當(dāng)前系統(tǒng)中,供用戶進(jìn)行使用。(2)擴(kuò)展功能在完成以上基本功能的基礎(chǔ)上,可自行進(jìn)行擴(kuò)展或完善,例如: 1) 添加人員記錄時(shí),考慮各種數(shù)據(jù)的有效性。2)組合查詢功能的實(shí)現(xiàn)。3)可按人員的某些信息進(jìn)行排序。4)對(duì)文件的讀寫使用二進(jìn)制信息。2.3 問(wèn)題的解決方案根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以
13、下步驟: 1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系; 3)根據(jù)問(wèn)題描述,設(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è)類:基類(class Person),實(shí)驗(yàn)員類(class Experimenter),教師類(class Teacher),行政人員類(class Staff),教師兼行政人員類(class Tea_Sta)基類中有int num; 公用數(shù)據(jù)成
14、員用于記錄類成員的編號(hào)int age; 公用數(shù)據(jù)成員用于記錄類成員的年齡string name; 公用數(shù)據(jù)成員用于記錄類成員的姓名string sex; 公用數(shù)據(jù)成員用于記錄類成員的性別virtual void Input(); 公有數(shù)據(jù)成員函數(shù)用于輸入成員信息virtual void Output(); 公有數(shù)據(jù)成員函數(shù)用于輸出成員信息int GetNum(); 公有數(shù)據(jù)成員函數(shù)用于獲得成員編號(hào)string GetName(); 公有數(shù)據(jù)成員函數(shù)用于獲得成員姓名實(shí)驗(yàn)員類中添加了string library; 公有數(shù)據(jù)成員用于記錄類成員的實(shí)驗(yàn)室string zw; 公有數(shù)據(jù)成員用于記錄類成員的
15、職務(wù)int choice2; 公有數(shù)據(jù)成員用于選擇成員的性別教師類中添加了string depart; 公有數(shù)據(jù)成員用于記錄類成員的部門string spec; 公有數(shù)據(jù)成員用于記錄類成員的專業(yè)string title; 公有數(shù)據(jù)成員用于記錄類成員的職稱 int choice1; 公有數(shù)據(jù)成員用于選擇成員的部門int choice2; 公有數(shù)據(jù)成員用于選擇成員的性別行政人員類中添加了string zzmm; 公有數(shù)據(jù)成員用于記錄類成員的政治面貌string zc; 公有數(shù)據(jù)成員用于記錄類成員的任職職稱int choice2; 公有數(shù)據(jù)成員用于選擇成員的性別教師兼行政人員類添加了int choi
16、ce1; 公有數(shù)據(jù)成員用于選擇成員的部門int choice2; 公有數(shù)據(jù)成員用于選擇成員的性別還有四個(gè)功能相同的功能函數(shù)類,其中有Exp_Manage 類Tea_Manage 類 Staf_Manage 類Tea_Staf_Manage類。分別實(shí)現(xiàn)不同的相應(yīng)功能。 Tea_Sta TeaTMAX; TMAX為常量,為數(shù)組中可存儲(chǔ)的教師記錄的最大數(shù);int top; top表示當(dāng)前系統(tǒng)中存儲(chǔ)的記錄個(gè)數(shù);Tea_Staf_Manage()top=0;初始時(shí)記錄的個(gè)數(shù)為0,所以設(shè)置top=0;void Add(); 實(shí)現(xiàn)該類記錄的添加;void Show(); 實(shí)現(xiàn)該類所有記錄的顯示; void
17、Search(); 實(shí)現(xiàn)該類記錄的查詢;void Edit(); 實(shí)現(xiàn)該類記錄的修改;void Delete(); 實(shí)現(xiàn)該類記錄的刪除;void Total(); 實(shí)現(xiàn)該類記錄的統(tǒng)計(jì);void Save(); 將該類記錄保存到文件;void Read(); 可從文件中將記錄讀取到該類的數(shù)組中;實(shí)驗(yàn)員、教師、行政人員管理類中函數(shù)都相同,在此略。3.1.2 類之間的關(guān)系基類:(class Person)派生類有:(class Experimenter),(class Teacher),(class Staff)(class Tea_Sta)四個(gè)平行關(guān)系的類,實(shí)現(xiàn)不同類的功能:(class Exp_
18、Manage)(class Tea_Manage)(class Staf_Manage)(class Tea_Staf_Manage)3.1.3 函數(shù)設(shè)計(jì)在四個(gè)管理類中定義了以下相同函數(shù),功能如其后所說(shuō)void Add(); 實(shí)現(xiàn)該類記錄的添加;void Show(); 實(shí)現(xiàn)該類所有記錄的顯示; void Search(); 實(shí)現(xiàn)該類記錄的查詢;void Edit(); 實(shí)現(xiàn)該類記錄的修改;void Delete(); 實(shí)現(xiàn)該類記錄的刪除;void Total(); 實(shí)現(xiàn)該類記錄的統(tǒng)計(jì);void Save(); 將該類記錄保存到文件;void Read(); 可從文件中將記錄讀取到該類的數(shù)組中
19、;3.2 結(jié)構(gòu)設(shè)計(jì)3.2.1 系統(tǒng)流程圖人員類教師類實(shí)驗(yàn)員類行政人員類教師兼行政人員類 圖313.2.2 界面設(shè)計(jì)主菜單界面 圖32 主菜單界面圖實(shí)驗(yàn)員類菜單界面 圖33 實(shí)驗(yàn)員類菜單界面圖教師類菜單界面 圖34教師類菜單界面圖政人員管理菜單界面 圖35 政人員管理菜單界面圖教師兼行政人員管理菜單界面 圖36 教師兼行政人員管理菜單界面圖第4章 系統(tǒng)實(shí)現(xiàn)4.1 類實(shí)現(xiàn)對(duì)于基類的定義class Personpublic:int num; 公用數(shù)據(jù)成員用于記錄類成員的編號(hào)int age; 公用數(shù)據(jù)成員用于記錄類成員的年齡string name; 公用數(shù)據(jù)成員用于記錄類成員的姓名string sex
20、; 公用數(shù)據(jù)成員用于記錄類成員的性別public:Person(int n=0,string nm="",string s="",int a=0):num(n),name(nm),sex(s),age(a);virtual void Input();virtual void Output();int GetNum()return num; 公有數(shù)據(jù)成員函數(shù)用于獲得成員編號(hào)string GetName()return name; 公有數(shù)據(jù)成員函數(shù)用于獲得成員姓名;對(duì)實(shí)驗(yàn)員派生類的定義class Experimenter:public Personpubli
21、c:string library; 公有數(shù)據(jù)成員用于記錄類成員的實(shí)驗(yàn)室string zw; 公有數(shù)據(jù)成員用于記錄類成員的職務(wù)int choice2; 公有數(shù)據(jù)成員用于選擇成員的性別public:Experimenter(int n=0,string nm="",string s="男",int a=0,string l="",string z=""):Person(num,name,sex,age),library(l),zw(z); void Input() 成員函數(shù)用于輸入成員信息 void Output()
22、成員函數(shù)用于輸出成員信息;對(duì)于教師派生類的定義class Teacher:virtual public Personpublic:string depart; 公有數(shù)據(jù)成員用于記錄類成員的部門string spec; 公有數(shù)據(jù)成員用于記錄類成員的專業(yè)string title; 公有數(shù)據(jù)成員用于記錄類成員的職稱 int choice1; 公有數(shù)據(jù)成員用于選擇成員的部門int choice2; 公有數(shù)據(jù)成員用于選擇成員的性別public:Teacher(int n=0,string nm="",string s="男",int a=0,string d=&q
23、uot;電子系",string sp="",string t=""):Person(n,nm,s,a),depart(d),spec(sp),title(t);void Input() 成員函數(shù)用于輸入成員信息 void Output() 成員函數(shù)用于輸出成員信息對(duì)于行政人員派生類的定義class Staff:virtual public Personpublic:string zzmm; 公有數(shù)據(jù)成員用于記錄類成員的政治面貌string zc; 公有數(shù)據(jù)成員用于記錄類成員的任職職稱int choice2; 公有數(shù)據(jù)成員用于選擇成員的性別pub
24、lic:Staff(int n=0,string nm="",string s="男",int a=0,string z="",string zc=""):Person(n,nm,s,a),zzmm(z),zc(zc);void Input() 成員函數(shù)用于輸入成員信息 void Output() 成員函數(shù)用于輸出成員信息;對(duì)于教師兼行政人員類的定義class Tea_Sta:public Teacher,public Staffpublic:int choice1; 公有數(shù)據(jù)成員用于選擇成員的部門int choi
25、ce2; 公有數(shù)據(jù)成員用于選擇成員的性別Tea_Sta(int n=0,string nm="",string s="男",int a=0,string d="電子系",string sp="",string t="",string z="",string zc=""):Person(n,nm,s,a),Teacher(n,nm,s,a,sp,t),Staff(n,nm,s,a,z,zc);void Input() 成員函數(shù)用于輸入成員信息 void Ou
26、tput() 成員函數(shù)用于輸出成員信息;對(duì)于在四個(gè)管理類中函數(shù)功能都相同,以教師類為例class Tea_Manage Teacher TeaTMAX; TMAX為常量,為數(shù)組中可存儲(chǔ)的教師記錄的最大數(shù);int top; top表示當(dāng)前系統(tǒng)中存儲(chǔ)的記錄個(gè)數(shù);public:Tea_Manage()top=0; 初始時(shí)記錄的個(gè)數(shù)為0,所以設(shè)置top=0;void Add(); 實(shí)現(xiàn)該類記錄的添加;void Show(); 實(shí)現(xiàn)該類所有記錄的顯示; void Search(); 實(shí)現(xiàn)該類記錄的查詢;void Edit(); 實(shí)現(xiàn)該類記錄的修改;void Delete(); 實(shí)現(xiàn)該類記錄的刪除;voi
27、d Total(); 實(shí)現(xiàn)該類記錄的統(tǒng)計(jì);void Save(); 將該類記錄保存到文件;void Read(); 可從文件中將記錄讀取到該類的數(shù)組中;;4.2 函數(shù)實(shí)現(xiàn)對(duì)于在四個(gè)管理類中定義了相同的函數(shù),以教師類為例添加功能:程序能夠任意添加上述四類人員的記錄,可提供選擇界面供用戶選擇所要添加的人員類別,要求員工的編號(hào)要唯一,如果添加了重復(fù)編號(hào)的記錄時(shí),則提示數(shù)據(jù)添加重復(fù)并取消添加void Tea_Manage:Add()if(top>=TMAX) cout<<"用戶已滿"<<endl;return; Teacher t;cout<&l
28、t;"輸入新添加的人員的信息"<<endl;t.Input();for(int i=0;i<top;i+)if (t.GetNum()=Teai.GetNum()cout<<"該編號(hào)的人員已存在"<<endl;return; Teatop=t; top=top+1;cout<<"添加成功!"<<endl;顯示功能:可顯示當(dāng)前系統(tǒng)中所有記錄,每條記錄占據(jù)一行。void Tea_Manage:Show()if(top=0)cout<<"無(wú)數(shù)據(jù)!&quo
29、t;<<endl;return;cout<<setw(10)<<"編號(hào)"<<setw(10)<<"姓名"<<setw(10)<<"性別"<<setw(10)<<"年齡"<<setw(10)<<"系部"<<setw(10)<<"專業(yè)"<<setw(10)<<"職稱"<<
30、endl;for(int i=0;i<top;i+)Teai.Output();查詢功能:可根據(jù)編號(hào)、姓名等信息對(duì)已添加的記錄進(jìn)行查詢,如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息。void Tea_Manage:Search()if(top=0)cout<<"當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄"<<endl;return; int choice;cout<<"請(qǐng)選擇查找方式:1.按編號(hào)查找 2.按姓名查找."<<endl;cin>>choice;switch(choice)case
31、 1:cout<<"請(qǐng)輸入要查找的編號(hào):"<<endl; int num; cin>>num; for(int i=0;i<top;i+)if(Teai.GetNum()=num) Teai.Output(); return;cout<<"查無(wú)此人!"<<endl; break;case 2:cout<<"請(qǐng)輸入要查找的姓名"<<endl; string name;cin>>name; for(int i=0;i<top;i+)
32、 if(Teai.GetName()=name) Teai.Output();for( i=0;i<top;i+)if(Teai.GetName()=name)return;cout<<"查無(wú)此人!"<<endl; break;default :cout<<"無(wú)此選項(xiàng)!請(qǐng)重試!"<<endl;break;void Tea_Manage:Edit()if(top=0)cout<<"當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄!"<<endl;return;int num;cout&
33、lt;<"請(qǐng)輸入要查找的教編號(hào):"<<endl;cin>>num; for(int i=0;i<top;i+)if(Teai.GetNum()=num)cout<<"請(qǐng)對(duì)這位教師的信息進(jìn)行修改:"<<endl;Teai.Input();cout<<"修改成功"<<endl;return; cout<<"查無(wú)此人"<<endl;刪除功能:主要實(shí)現(xiàn)對(duì)已添加的人員記錄進(jìn)行刪除。如果當(dāng)前系統(tǒng)中沒(méi)有相應(yīng)的人員記錄,則提
34、示“記錄為空!”并返回操作;否則,輸入要?jiǎng)h除的人員的編號(hào)或姓名,根據(jù)所輸入的信息刪除該人員記錄,如果沒(méi)有找到該人員信息,則提示相應(yīng)的記錄不存。void Tea_Manage:Delete()if(top=0) cout<<"當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄!"<<endl;return;cout<<"1、按編號(hào)查找刪除 2、按姓名查找刪除"<<endl;int choice;cin>>choice; switch(choice) case 1: cout<<"請(qǐng)輸入編號(hào):"
35、int num; cin>>num; for(int i=0;i<top;i+) if(num=Teai.num) cout<<"是否確認(rèn)刪除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) case 1: for(int j=i;j<top-1;j+) Teaj=Teaj+1; cout<<"刪除成功!"<<endl; top-; ;break; case 2:return; default:cout&
36、lt;<"無(wú)此項(xiàng),失?。?quot;<<endl;break; return; cout<<"無(wú)此人!"<<endl; ;break; case 2: cout<<"請(qǐng)輸入姓名:"string name; cin>>name; for(int i=0;i<top;i+) if(name=T) cout<<"是否確認(rèn)刪除? 1、是 2、否 "<<endl; int choice; cin>>choice;
37、 switch(choice) case 1: for(int j=i;j<top-1;j+) Teaj=Teaj+1; cout<<"刪除成功!"<<endl; top-; ;break; case 2:return; default:cout<<"無(wú)此項(xiàng),失??!"<<endl;break; return; cout<<"無(wú)此人!"<<endl; break;default:cout<<"沒(méi)有此項(xiàng),失?。?quot;<<e
38、ndl;break;統(tǒng)計(jì)功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì)。例如,統(tǒng)計(jì)類中人員數(shù)量以及總數(shù),或者統(tǒng)計(jì)男、女員工的數(shù)量,不同部門員工數(shù)量等。void Tea_Manage:Total()cout<<"1 按人數(shù)統(tǒng)計(jì) 2 按性別統(tǒng)計(jì) 3 按系別統(tǒng)計(jì) "<<endl;int choice;cout<<"請(qǐng)輸入你的選擇"<<endl;cin>>choice;switch(choice)case 1:cout<<"教師類人數(shù)為:"<<top<<end
39、l;break;case 2:int a=0,b=0;for(int i=0;i<top;i+)if(Teai.sex="男") a+;if(Teai.sex="女") b+;cout<<"男教師人數(shù)為"<<a<<endl;cout<<"女教師人數(shù)為"<<b<<endl;break;case 3:int a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;for(int i=0;i<top;i+
40、)if(Teai.depart="電子系") a1+;if(Teai.depart="機(jī)械系") a2+;if(Teai.depart="經(jīng)管系") a3+;if(Teai.depart="建工系") a4+;if(Teai.depart="計(jì)算機(jī)系") a5+;if(Teai.depart="外語(yǔ)系") a6+;if(Teai.depart="財(cái)會(huì)系") a7+;if(Teai.depart="材料系") a8+;if(Teai.de
41、part="文法系") a9+;cout<<"電子系教師人數(shù)為"<<a1<<endl;cout<<"機(jī)械系教師人數(shù)為"<<a2<<endl;cout<<"經(jīng)管系教師人數(shù)為"<<a3<<endl;cout<<"建工系教師人數(shù)為"<<a4<<endl;cout<<"計(jì)算機(jī)系教師人數(shù)為"<<a5<<end
42、l;cout<<"外語(yǔ)系教師人數(shù)為"<<a6<<endl;cout<<"財(cái)會(huì)系教師人數(shù)為"<<a7<<endl;cout<<"材料系教師人數(shù)為"<<a8<<endl;cout<<"文法系教師人數(shù)為"<<a9<<endl;break;default:cout<<"輸入錯(cuò)誤。請(qǐng)重新輸入"<<endl;break;保存功能:可將當(dāng)前系統(tǒng)
43、中各類人員記錄存入文件中,存入方式任意。void Tea_Manage:Save()ofstream out("D:ying2.txt",ios:out);if(!out)cout<<"打開(kāi)失敗!"<<endl;return;cout<<"打開(kāi)成功!"<<endl;for(int i=0;i<top;i+)out<<Teai.num<<" " <<T<<" " <<T
44、eai.sex<<" " <<Teai.age<<" " <<Teai.depart<<" " <<Teai.spec<<" " <<Teai.title <<endl;cout<<"寫入成功!"<<endl;out.close();讀取功能:可將保存在文件中的人員信息讀入到當(dāng)前系統(tǒng)中,供用戶進(jìn)行使用。void Tea_Manage:Read()ifstream i
45、n("D:ying2.txt",ios:in);if(!in)cout<<"打開(kāi)失敗!"<<endl;return;int i=0; while(in>>Teai.num >>T>>Teai.sex>>Teai.age >>Teai.depart>>Teai.spec>>Teai.title)Teai.Output(); i+;top+;in.close();教師函數(shù)主界面的定義void TeaMenu()Tea_Manage t;
46、int choice;while(choice!=0)cout<< " n *教師管理* "<<endl;cout<<"+"<<endl;cout<<"| |"<<endl;cout<<"| 1.添加 2.查找 3.修改 4.刪除 5.顯示 6.保存 7.讀取 8.統(tǒng)計(jì) 0=>退出 |"<<endl;cout<<"| |"<<endl;cout<<"
47、+"<<endl;cout<<"n輸入您操作的選項(xiàng):"cin>>choice;switch(choice)case 1:t.Add();break;case 2:t.Search();break;case 3:t.Edit();break;case 4:t.Delete();break;case 5:t.Show();break;case 6:t.Save();break; case 7:t.Read();break; case 8:t.Total();break;case 0:cout<<"退出成功!&q
48、uot;<<endl;break;default:cout<<"無(wú)此選項(xiàng)!請(qǐng)重試!"<<endl;break;系統(tǒng)主菜單函數(shù)定義,根據(jù)不同人選擇不同的子系統(tǒng)int main()cout<<" *歡迎進(jìn)入北華航天工業(yè)學(xué)院人員管理系統(tǒng)*"<<endl;int choice;docout<<" *主菜單*n"<<endl; cout<<"<<<<<<<<<<<<&l
49、t;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;cout<<"| |"<<endl;cout<<"|1=>實(shí)驗(yàn)員管理2=>教師管理3=>行政管理4=教師行政管理0=>退出系統(tǒng) |"
50、;<<endl;cout<<"| |"<<endl;cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<en
51、dl;cout<<"n請(qǐng)輸入您的選擇:"cin>>choice;switch(choice) case 1:ExpMenu();break;case 2:TeaMenu();break;case 3:StafMenu();break;case 4:Tea_StafMenu();break;case 0:cout<<"n您已安全退出系統(tǒng)."<<endl;break;default:cout<<"n沒(méi)有此選項(xiàng).請(qǐng)重選."<<endl;break;while(choic
52、e!=0);cout<<"n *歡迎您下次再使用本系統(tǒng)!*"<<endl;return 0;4.3 主函數(shù)實(shí)現(xiàn)#include<iostream>#include<string>#include<fstream>#include<iomanip>const int TMAX=50;using namespace std;int main()cout<<" *歡迎進(jìn)入北華航天工業(yè)學(xué)院人員管理系統(tǒng)*"<<endl;int choice;docout<<" *主菜單*n"<<endl;cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路開(kāi)挖合同范本
- 買衣服購(gòu)銷合同范本
- 養(yǎng)殖配件小窗采購(gòu)合同范本
- 京津冀外包合同范本
- 農(nóng)民承包樹(shù)苗合同范本
- 企業(yè)定制酒合同范本
- 出售農(nóng)機(jī)全套紙合同范本
- 半日制合同范本
- 單位門衛(wèi)聘用合同范本
- 北京正規(guī)購(gòu)車合同范本
- 2024年07月山東省泰山財(cái)產(chǎn)保險(xiǎn)股份有限公司2024年夏季校園招考29名工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 品質(zhì)巡檢培訓(xùn)課件
- 醫(yī)療器械生產(chǎn)企業(yè)并購(gòu)合同
- 2025版新能源汽車充電站建設(shè)合同含政府補(bǔ)貼及稅收優(yōu)惠條款
- 初驗(yàn)整改報(bào)告格式范文
- 2025年北京國(guó)資公司招聘筆試參考題庫(kù)含答案解析
- 2023青島版數(shù)學(xué)三年級(jí)下冊(cè)全冊(cè)教案
- 建設(shè)工程總承包EPC建設(shè)工程項(xiàng)目管理方案1
- T-CSUS 69-2024 智慧水務(wù)技術(shù)標(biāo)準(zhǔn)
- (2024)竹產(chǎn)業(yè)生產(chǎn)建設(shè)項(xiàng)目可行性研究報(bào)告(一)
- 《零起點(diǎn)學(xué)中醫(yī)》課件
評(píng)論
0/150
提交評(píng)論