版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C++程序設(shè)計(jì)課程設(shè)計(jì)說明書</p><p><b> 職工管理系統(tǒng)</b></p><p> 《C++程序設(shè)計(jì)》課程設(shè)計(jì)任務(wù)書</p><p> 設(shè)計(jì)題目:職工信息管理系統(tǒng)</p><p> 一、已知技術(shù)參數(shù)或設(shè)計(jì)前提</p><p> 1、該系統(tǒng)目前能容下50名
2、員工信息。</p><p> 2、每個(gè)職工的信息包括:?jiǎn)T工編號(hào),姓名,性別,年齡,婚姻情況,學(xué)歷,所在部門,所在職務(wù),工作時(shí)長(zhǎng),額定工資。</p><p> 3、員工編號(hào)是唯一的。</p><p><b> 二、設(shè)計(jì)內(nèi)容及要求</b></p><p> 1、實(shí)現(xiàn)職工信息的數(shù)據(jù)錄入。</p><
3、p> 2、能夠根據(jù)職工的編號(hào),實(shí)現(xiàn)對(duì)該職工信息的修改。</p><p> 3、實(shí)現(xiàn)按職工的編號(hào),所在部門,學(xué)歷,年齡進(jìn)行職工信息的查詢。</p><p> 4、實(shí)現(xiàn)按職工編號(hào)刪除指定的職工信息。</p><p> 5、能夠以列表方式輸出所有職工信息。</p><p> 6、實(shí)現(xiàn)按照需求擴(kuò)充系統(tǒng)員工數(shù)的容量。</p>
4、<p> 7、通過文件存儲(chǔ)職工信息。</p><p> 8、實(shí)現(xiàn)按照年齡段、部門、年齡等輸出職工信息。</p><p> 9、用類實(shí)現(xiàn)以上功能。</p><p> 三、課程設(shè)計(jì)工作計(jì)劃</p><p> 1、了解課程設(shè)計(jì)大綱的要求,確定題目,成立設(shè)計(jì)小組。(10月13—10月16)</p><p&g
5、t; 2、上網(wǎng)查閱資料,確定程序所包含的內(nèi)容,進(jìn)行問題分析,制定方案。(10月17—10月25)</p><p> 3、確定成員分工,根據(jù)方案編寫程序并進(jìn)行調(diào)試(10月25—10月30)</p><p> 4、撰寫設(shè)計(jì)說明書,完成設(shè)計(jì)(11月1—11月10)</p><p> 5、對(duì)說明書及程序中存在的不足進(jìn)行修改。(11月10—11月19)</p&g
6、t;<p> 6、提交設(shè)計(jì)內(nèi)容,答辯(11月20—11月25)</p><p> 四、相關(guān)教材及參考書目</p><p> [1] 陳文宇,張松梅編著.C++語言教程.電子科技大學(xué)出版社,2004</p><p> [2] 張耀仁著,徹底研究.C++程序設(shè)計(jì).中國(guó)鐵道出版社,2006</p><p> [3] Cay
7、Horstmann著.C++核心思想.電子工業(yè)大學(xué)出版社,2004</p><p> [4] 譚正浩著.C++面向?qū)ο蟪绦蛟O(shè)計(jì).清華大學(xué)出版社,2006</p><p> [5] (美)埃爾克著.C++編程思想.機(jī)械工業(yè)出版社,2005</p><p><b> 指導(dǎo)教師簽字:</b></p><p><b&
8、gt; 職工管理系統(tǒng)</b></p><p><b> 一、需求分析</b></p><p> 步入21世紀(jì)的中國(guó)經(jīng)濟(jì)越來越發(fā)達(dá),務(wù)工人員越來越多,這就直接導(dǎo)致對(duì)員工的管理越來越難,本程序的設(shè)計(jì)是為了幫組工廠、公司的人員進(jìn)行智能化的管理。</p><p> 隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)
9、上已逐步成熟。管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來,就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。</p><p> 二、系統(tǒng)的軟硬件環(huán)境</p><p> 1、硬件環(huán)境 CPU 2.0GHz 內(nèi)存 2GB 硬盤 320GB</p><p> 2、軟件環(huán)境 Windows XP visual C++
10、 6.0</p><p><b> 三、系統(tǒng)功能模塊</b></p><p> 如圖1所示,職工管理系統(tǒng)共有五個(gè)功能模塊,錄入職工信息功能模塊、查詢職工信息功能模塊、刪除職工信息功能模塊、顯示功能模塊、刪除職工信息模塊和修改職工信息功能模塊。其中查詢信息模塊有分按職工所在部門查詢、按職工學(xué)歷查詢、按職工年齡查詢和、職工編號(hào)查詢和輸出全體員工信息。</p>
11、;<p> 圖1 系統(tǒng)功能模塊圖</p><p><b> 四、程序設(shè)計(jì)分析</b></p><p><b> 1 、類結(jié)構(gòu)</b></p><p> (1)、職工類Employee</p><p> 該類的對(duì)象是公司里的每一個(gè)員工,是該系統(tǒng)當(dāng)中最主要的數(shù)據(jù)。</p&g
12、t;<p> 數(shù)據(jù)成員:姓名(Ename[N]) 、職工編號(hào)(Enum[N])、性別(Esex[N])、年齡(Eage[N])、婚姻狀況(Emarriage[N])、學(xué)歷(Edegree[N])、工作部門(Edepart[N])、職工職位(Eposition[N])、工時(shí)(Etime[N])、工薪(Epay[N])。</p><p> 成員函數(shù):void NewInfo();新信息錄入函數(shù)(采集
13、職工信息),其中運(yùn)用了while語句來判斷輸入數(shù)據(jù)的合法性。void ShowInfo();信息顯示函數(shù)(顯示所有職工的信息或按要求顯示職工信息),其中運(yùn)用了switch語句if語句和for循環(huán)語句來實(shí)現(xiàn)。void RefreshInfo();修改員工信息的函數(shù)(修改職工信息),其中運(yùn)用了for循環(huán)語句,if判斷語句和while語句來實(shí)現(xiàn)的。voidDeleteInfo();刪除員工數(shù)據(jù)的函數(shù)(刪除職工信息),其中運(yùn)用了for循環(huán)語句先
14、查找到要?jiǎng)h除的職工信息,再運(yùn)用if判斷語句對(duì)查找到的職工信息進(jìn)行處理。</p><p> (2)、職工數(shù)據(jù)類DBOperate</p><p> 該類的對(duì)象為系統(tǒng)數(shù)據(jù)文件,完成對(duì)員工信息的保存和讀取。</p><p> 數(shù)據(jù)成員:姓名(Ename[N])、職工編號(hào)(Enum[N])、性別(Esex[N])、年齡(Eage[N])、婚姻狀況(Emarriage[
15、N])、學(xué)歷(Edegree[N])、工作部(Edepart[N])、職工職位(Eposition[N])、工時(shí)、工薪(Epay[N])。</p><p> 成員函數(shù):void WriteIn(int iflag); 數(shù)據(jù)寫入函數(shù),其中運(yùn)用了for循環(huán)語句來實(shí)現(xiàn)。void ReadOut();數(shù)據(jù)讀出函數(shù),其中運(yùn)用了for循環(huán)語句來實(shí)現(xiàn)。</p><p><b> 2 、模塊
16、設(shè)計(jì)分析</b></p><p><b> (1)、主函數(shù):</b></p><p> 創(chuàng)建職工類對(duì)象e和職工數(shù)據(jù)類對(duì)象dbo。</p><p> (2)、錄入職工數(shù)據(jù):</p><p> 對(duì)職工的信息進(jìn)行采集,調(diào)用void NewInfo();函數(shù)采集職工信息 ,然后將數(shù)據(jù)存入職工數(shù)據(jù)類(DBOpe
17、rate)的對(duì)象dbo中,其中運(yùn)用到了while語句來判斷輸入數(shù)據(jù)的合法性。</p><p> (3)、查詢職工數(shù)據(jù):</p><p> 調(diào)用職工數(shù)據(jù)類(DBOperate)的成員函數(shù)(void ReadOut();)打開一個(gè)名為"Employee"的txt的文本文檔,然后調(diào)用職工類(Employee)的成員函數(shù)(void ShowInfo();)進(jìn)行查找或者顯示全
18、部職工信息,其中運(yùn)用了for循環(huán)語句查找所需職工的信息。</p><p> (4)、修改職工數(shù)據(jù)</p><p> 調(diào)用職工類(Employee)的成員函數(shù)(void RefreshInfo()),輸入職工的編號(hào)進(jìn)行查找,然后進(jìn)行修改,其中運(yùn)用了for循環(huán)語句來查找所要修改的職工信息。 </p><p> (5)、刪除職工數(shù)據(jù):</p><
19、p> 調(diào)用職工類(Employee)的成員函數(shù)(void DeleteInfo()),輸入職工的編號(hào)刪除,其中運(yùn)用了for循環(huán)語句來查找所要修改的職工信息。 </p><p><b> 五、使用說明</b></p><p><b> 1、系統(tǒng)的啟動(dòng)</b></p><p> 首先,置入光盤,打開光盤,雙擊“職
20、工管理系統(tǒng).exe”文件,出現(xiàn)職工管理系統(tǒng)主界面,如圖2所示,出現(xiàn)系統(tǒng)主界面圖,說明啟動(dòng)成功。</p><p> 圖2 職工管理系統(tǒng)主界面圖</p><p><b> 2、錄入功能</b></p><p> 根據(jù)提示分別錄入職工的姓名、年齡、學(xué)歷、性別、所在部門、工作時(shí)長(zhǎng)、婚姻狀況等信息,如圖3所示的界面圖。</p><
21、;p> 圖3 錄入功能界面圖</p><p><b> 3、查詢和統(tǒng)計(jì)功能</b></p><p> 輸入數(shù)字“1”就會(huì)顯示全部職工的信息;輸入數(shù)字“2”就會(huì)出現(xiàn)提示“請(qǐng)輸入要查詢的職工所在的部門編號(hào)”然后輸入部門編號(hào)就會(huì)顯示該部門所有職工的信息;輸入數(shù)字“3”就會(huì)出現(xiàn)提示“請(qǐng)輸入要查詢的職工的學(xué)歷的編號(hào)”然后輸入每個(gè)學(xué)歷所對(duì)應(yīng)的編號(hào)就會(huì)顯示擁有該學(xué)歷的所
22、有的職工的信息;輸入數(shù)字“4”就會(huì)提示“請(qǐng)輸入要查詢的年齡范圍”然后輸入要查詢的范圍就會(huì)顯示該年齡段的所有的職工的信息;輸入數(shù)字“4”就會(huì)出現(xiàn)提示“請(qǐng)輸入要查詢的職工的編號(hào)”然后輸入編號(hào)就會(huì)出現(xiàn)該職工的信息,如圖4所示。</p><p> 圖4 查詢和統(tǒng)計(jì)功能界面圖</p><p><b> 4、修改功能</b></p><p> 輸入要
23、修改的職工的編號(hào),就可以開始修改該職工的信息,修改完后會(huì)顯示修改成功。如圖5所示。</p><p> 圖5 修改功能界面圖</p><p> 5、刪除職工信息功能模塊</p><p> 如圖6所示,輸入職工的編號(hào),就會(huì)提示是否刪除該職工的信息,如果要?jiǎng)h除就輸入Y,如不需要?jiǎng)h除就輸入N,刪除后就會(huì)提示刪除成功。</p><p> 圖6
24、刪除功能界面圖</p><p><b> 六、結(jié)束語</b></p><p> 經(jīng)過幾天艱辛的努力和不懈的奮斗我們這個(gè)小組終于把這個(gè)程序調(diào)試出來了,由于我們的基礎(chǔ)知識(shí)不夠好所以在編譯和調(diào)試的過程中我們遇到了很多的問題,但是我們從來沒有想過放棄,我們彼此鼓勵(lì),去圖書館查閱資料,去詢問老師,然后再編譯在調(diào)試再修改……。</p><p> 這個(gè)
25、程序的成功之處在于它的功能齊全,它不但能錄入、修改、刪除,還在于擁有靈活的查詢功能,能通過輸入職工號(hào)查詢、輸入所在部門查詢、輸入學(xué)歷查詢、輸入年齡查詢等等。</p><p> 通過這次的程序設(shè)計(jì)我發(fā)現(xiàn)了我們小組的成員對(duì)指針、字符數(shù)組、類和文件操作掌握的不是很好,因此我們這個(gè)小組在程序設(shè)計(jì)的時(shí)候?qū)χ羔樀倪\(yùn)用很少,這也就成了這個(gè)程序最大的不足之處,需要改進(jìn)。這個(gè)程序還有一個(gè)不足的地方就是在類的時(shí)候那塊沒有設(shè)置私有成
26、員,這樣便導(dǎo)致任何函數(shù)都能訪問類的成員,這個(gè)地方同樣需要改進(jìn)。</p><p><b> 七、參考文獻(xiàn)</b></p><p> [1] 陳文宇,張松梅編著.C++語言教程.電子科技大學(xué)出版社,2004</p><p> [2] 張耀仁著.徹底研究C++程序設(shè)計(jì).中國(guó)鐵道出版社,2006</p><p> [3]
27、 Cay Horstmann著.C++核心思想.電子工業(yè)大學(xué)出版社,2004</p><p> [4] 譚正浩著.C++面向?qū)ο蟪绦蛟O(shè)計(jì).清華大學(xué)出版社,2006</p><p> [5] (美)埃爾克著.C++編程思想.機(jī)械工業(yè)出版社,2005</p><p><b> 八、組員分工</b></p><p>
28、許 廳:編寫職工類主函數(shù)和職工信息查詢功能模塊,編寫職工信息錄入功能模塊</p><p> 范秋城:編寫職工信息修改功能模塊</p><p> 崔永雷:編寫職工信息刪除功能模塊</p><p><b> 九、源程序代碼</b></p><p> #include<iostream> </p&g
29、t;<p> #include<string> </p><p> #include<fstream> </p><p> using namespace std; </p><p> const N=50; // 定義系統(tǒng)可錄入的員工最大數(shù)值 </p><p> string Ename[N]
30、; // 名字</p><p> long Enum[N]; //編號(hào)</p><p> char Esex[N]; //性別</p><p> int Eage[N]; //年齡</p><p> char Emarriage[N]; //婚否</p><p> int Edepart[N]; //部門&l
31、t;/p><p> int Eposition[N]; //職位</p><p> int Edegree[50]; //學(xué)歷</p><p> int Eworktime[N]; //工作時(shí)</p><p> float Epay[N]; //工薪</p><p> class Employee //定義職工的
32、一個(gè)類</p><p><b> {</b></p><p><b> public: </b></p><p> string Employeename; </p><p> long Employeenum; </p><p> char Employeesex
33、; </p><p> int Employeeage; </p><p> char Employeemarriage; </p><p> int Employeedepart; </p><p> int Employeeposition; </p><p> int Employeedegree; &
34、lt;/p><p> int Employeeworktime; </p><p> float Employeepay; </p><p> static long EmployeeMaxNum; //最大職工數(shù)</p><p> static float EmployeeBasePay; //基本工薪</p><p
35、> void NewInfo(); //新信息輸入函數(shù)</p><p> void ShowInfo(); //新信息顯示函數(shù)</p><p> void showall(); //</p><p> void Employee::checkout();</p><p> void showdepart(int depart)
36、; //顯示員工的部門所在函數(shù)</p><p> void showdegree(int degree); //顯示員工的學(xué)歷函數(shù)</p><p> void showage(int min,int max); </p><p> void shownum(long number); </p><p> void RefreshInf
37、o(); //更新員工信息函數(shù)</p><p> void DeleteInfo(); //刪除員工信息函數(shù)</p><p> float Pay(int Employeegrade); </p><p> static int MaxNum(); </p><p><b> }; </b></p>
38、<p> class DBOperate //類</p><p><b> { </b></p><p><b> public: </b></p><p> string Employeename; </p><p> long Employeenum; </p>
39、<p> char Employeesex; </p><p> int Employeeage; </p><p> char Employeemarriage; </p><p> int Employeedepart; </p><p> int Employeeposition; </p><
40、;p> int Employeedegree; </p><p> int Employeeworktime; </p><p> float Employeepay; </p><p> static long EmployeeMaxNum; </p><p> static float EmployeeBasePay; &
41、lt;/p><p> void WriteIn(int iflag); //類的輸入成員函數(shù)</p><p> void ReadOut(); //輸出成員函數(shù)</p><p> void RefreshMaxNum(int iflag); //i=1 or -1 or 0 </p><p><b> }; </b>
42、</p><p> long Employee::EmployeeMaxNum = 1000; </p><p> float Employee::EmployeeBasePay = 1500; </p><p> int Employee::MaxNum() //返回系統(tǒng)已經(jīng)存儲(chǔ)的人數(shù) </p><p><b> { &l
43、t;/b></p><p> int MN = 0; </p><p> ifstream myf; </p><p> myf.open("EmployeeMaxNum.txt"); </p><p><b> myf>>MN; </b></p><p&
44、gt; myf.close(); </p><p> return MN; </p><p><b> } </b></p><p> void Employee::NewInfo() //添加新成員函數(shù) </p><p><b> { </b></p><p>
45、 cout<<"新員工姓名: "; </p><p> cin>>Employee::Employeename; </p><p> cout<<"新員工編號(hào):"<<endl;</p><p> cin>>Employee::Employeenum;</p
46、><p> cout<<"新員工性別 (F為女性,M為男性): "; </p><p> cin>>Employee::Employeesex; </p><p> cout<<"新員工年齡: "; </p><p> cin>>Employee::E
47、mployeeage; </p><p> cout<<"新員工婚姻狀況(Y為已婚,N為未婚): "; </p><p> cin>>Employee::Employeemarriage; </p><p> cout<<"新員工學(xué)歷,請(qǐng)輸入相應(yīng)學(xué)歷的序號(hào): "<<endl
48、; </p><p> cout<<" [1:初中 2:高中 3:本科 4:碩士 5:博士] "; </p><p> cin>>Employee::Employeedegree; </p><p> while(Employee::Employeedegree !=1&&Employee::Empl
49、oyeedegree !=2&&Employee::Employeedegree !=3&&Employee::Employeedegree !=4&&Employee::Employeedegree !=5) </p><p><b> { </b></p><p> cout<<"輸入有誤,
50、請(qǐng)重新輸入:"<<endl; </p><p> cout<<" [1:初中 2:高中 3:本科 4:碩士 5:博士]"; </p><p> cin>>Employee::Employeedegree; </p><p><b> } </b></p>&l
51、t;p> cout<<"新員工所在部門,請(qǐng)輸入相應(yīng)部門的序號(hào):"<<endl; </p><p> cout<<" [1:董事會(huì) 2:市場(chǎng)部 3:公關(guān)部 4:客服中心 5:信息中心] "; </p><p> cin>>Employee::Employeedepart; </p>
52、<p> while(Employee::Employeedepart !=1&&Employee::Employeedepart !=2&&Employee::Employeedepart !=3&&Employee::Employeedepart !=4&&Employee::Employeedepart!=5) </p><p>
53、;<b> { </b></p><p> cout<<"輸入有誤,請(qǐng)重新輸入:"<<endl; </p><p> cout<<" [1:董事會(huì) 2:市場(chǎng)部 3:公關(guān)部 4:客服中心 5:信息中心] "; </p><p> cin>>Employ
54、ee::Employeedepart; </p><p><b> } </b></p><p> cout<<"新員工職位, 請(qǐng)輸入相應(yīng)職位的序號(hào): "<<endl; </p><p> cout<<" [1:臨時(shí)職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長(zhǎng)]
55、 "; </p><p> cin>>Employee::Employeeposition; </p><p> while(Employee::Employeeposition !=1&&Employee::Employeeposition !=2&&Employee::Employeeposition !=3&&
56、Employee::Employeeposition !=4&&Employee::Employeeposition !=5) </p><p><b> { </b></p><p> cout<<"輸入有誤,請(qǐng)重新輸入:"<<endl; </p><p> cout<&
57、lt;" [1:臨時(shí)職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長(zhǎng)] "; </p><p> cin>>Employee::Employeeposition; </p><p><b> } </b></p><p> cout<<"新員工的工作時(shí)(不需要輸入單位): &q
58、uot;; </p><p> cin>>Employee::Employeeworktime; </p><p> Employee::Employeepay = Employee::Pay(Employee::Employeeposition); </p><p> DBOperate dbo; </p><p> d
59、bo.ReadOut(); </p><p> int MaxNum = Employee::MaxNum(); </p><p> Enum[MaxNum] = Employee::Employeenum; </p><p> Ename[MaxNum] = Employee::Employeename; </p><p> Ese
60、x[MaxNum] = Employee::Employeesex; </p><p> Eage[MaxNum] = Employee::Employeeage; </p><p> Emarriage[MaxNum] = Employee::Employeemarriage; </p><p> Edegree[MaxNum] = Employee::Em
61、ployeedegree; </p><p> Edepart[MaxNum] = Employee::Employeedepart; </p><p> Eposition[MaxNum] = Employee::Employeeposition; </p><p> Eworktime[MaxNum] = Employee::Employeeworktim
62、e; </p><p> Epay[MaxNum] = Employee::Employeepay; </p><p> dbo.WriteIn(1); </p><p> cout<<" 添加新成員成功!"<<endl; </p><p><b> return; </b&
63、gt;</p><p><b> } </b></p><p> void Employee::ShowInfo() //程序主體 數(shù)據(jù)輸出函數(shù) </p><p><b> { </b></p><p> int choice1,choice2,min,max; </p>&
64、lt;p> Employee e; </p><p> cout<<" 請(qǐng)選擇顯示方式:"<<endl; </p><p> cout<<"***************************"<<endl; </p><p> cout<<"
65、;* 職工信息全輸出-------- 1*"<<endl; </p><p> cout<<"* 按職工部門輸出-------- 2*"<<endl; </p><p> cout<<"* 按職工學(xué)歷輸出-------- 3*"<<endl; </p><p
66、> cout<<"* 按職工年齡輸出-------- 4*"<<endl; </p><p> cout<<"***************************"<<endl; </p><p> cin>>choice1; </p><p> s
67、witch(choice1) </p><p><b> { </b></p><p><b> case 1: </b></p><p> showall();</p><p><b> break; </b></p><p><b>
68、; case 2: </b></p><p> cout<<"請(qǐng)輸入要查詢職工的部門編號(hào): [1:董事會(huì) 2:市場(chǎng)部 3:公關(guān)部 4:客服中心 5:信息中心] " ; </p><p> cin>>choice2; </p><p> e.showdepart(choice2);</p>
69、<p><b> break; </b></p><p><b> case 3:</b></p><p> cout<<"請(qǐng)輸入要查詢職工的學(xué)歷編號(hào): [1:初中 2:高中 3:本科 4:碩士 5:博士] "; </p><p> cin>>choice2;
70、</p><p> e.showdegree(choice2);</p><p><b> break; </b></p><p><b> case 4: </b></p><p> cout<<"請(qǐng)輸入要查詢的年齡范圍: "; </p>&l
71、t;p> cout<<"最小值: "; </p><p> cin>>min; </p><p> cout<<"最大值: "; </p><p> cin>>max; </p><p> e.showage(min,max);</p
72、><p><b> break; </b></p><p><b> default: </b></p><p> cout<<"出錯(cuò)啦! "<<endl;</p><p><b> break; </b></p>
73、<p><b> } </b></p><p><b> } </b></p><p> void Employee::checkout()</p><p><b> {</b></p><p> long searchnum;</p><
74、;p> Employee e;</p><p> cout<<"*****************************"<<endl; </p><p> cout<<"* 請(qǐng)輸入要查詢的員工編號(hào) *"<<endl; </p><p> cout<&
75、lt;"*****************************"<<endl; </p><p> cin>>searchnum; </p><p> e.shownum(searchnum); </p><p><b> }</b></p><p> void E
76、mployee::showall() //全體員工輸出函數(shù) </p><p><b> { </b></p><p><b> int i; </b></p><p> long number; </p><p> for(i=0;i<Employee::MaxNum();i++) &
77、lt;/p><p><b> { </b></p><p> number = Enum[i]; </p><p> shownum(number); </p><p><b> } </b></p><p><b> } </b></p&g
78、t;<p> void Employee::showdepart(int depart) //按員工所在部門輸出函數(shù) </p><p><b> { </b></p><p><b> int i; </b></p><p> switch(depart) </p><p>&
79、lt;b> { </b></p><p><b> case 1: </b></p><p> cout<<"董事會(huì)的成員有: >"<<endl; </p><p><b> break; </b></p><p><
80、b> case 2:</b></p><p> cout<<"市場(chǎng)部的成員有: >"<<endl; </p><p><b> break; </b></p><p><b> case 3: </b></p><p>
81、cout<<"公關(guān)部的成員有: >"<<endl; </p><p><b> break; </b></p><p><b> case 4:</b></p><p> cout<<"客服中心成員有: >"<<end
82、l; </p><p><b> break; </b></p><p><b> case 5: </b></p><p> cout<<"信息中心成員有: >"<<endl;</p><p><b> break; </b
83、></p><p><b> default: </b></p><p> cout<<"輸入錯(cuò)誤!>"<<endl; </p><p><b> break; </b></p><p><b> } </b>&l
84、t;/p><p> for(i=0;i<Employee::MaxNum();i++) </p><p><b> { </b></p><p> if(Edepart[i] == depart) </p><p><b> { </b></p><p> lon
85、g number = Enum[i]; </p><p> shownum(number); </p><p><b> } </b></p><p> else continue; </p><p><b> } </b></p><p><b> }
86、</b></p><p> void Employee::showdegree(int degree) //按員工學(xué)歷輸出函數(shù) </p><p><b> { </b></p><p><b> int i; </b></p><p> switch(degree) </p
87、><p><b> { </b></p><p><b> case 1:</b></p><p> cout<<"初中學(xué)歷的員工有:"<<endl;</p><p><b> break; </b></p><
88、;p><b> case 2:</b></p><p> cout<<"高中學(xué)歷的員工有:"<<endl;</p><p><b> break; </b></p><p><b> case 3:</b></p><p&g
89、t; cout<<"本科學(xué)歷的員工有:"<<endl;</p><p><b> break; </b></p><p><b> case 4:</b></p><p> cout<<"碩士學(xué)位的員工有:"<<endl;<
90、;/p><p><b> break; </b></p><p><b> case 5:</b></p><p> cout<<"博士學(xué)位的員工有:"<<endl;</p><p><b> break; </b></p&
91、gt;<p><b> } </b></p><p> for(i=0;i<Employee::MaxNum();i++) </p><p><b> { </b></p><p> if(Edegree[i] == degree) </p><p><b>
92、 { </b></p><p> long number = Enum[i]; </p><p> shownum(number); </p><p><b> } </b></p><p> else continue; </p><p><b> } </
93、b></p><p><b> } </b></p><p> void Employee::showage(int min,int max) //按員工年齡段輸出函數(shù) </p><p><b> { </b></p><p><b> int i; </b>&l
94、t;/p><p> for(i=0;i<Employee::MaxNum();i++) </p><p><b> { </b></p><p> if(Eage[i]>=min&&Eage[i]<=max) </p><p><b> { </b></p
95、><p> long number = Enum[i]; </p><p> shownum(number); </p><p><b> } </b></p><p> else continue; </p><p><b> } </b></p>&l
96、t;p><b> } </b></p><p> void Employee::shownum(long number) //按員工編號(hào)輸出函數(shù) </p><p><b> { </b></p><p><b> int i; </b></p><p> for
97、(i=0;i<Employee::MaxNum();i++) </p><p><b> { </b></p><p> if(Enum[i] == number) </p><p><b> { </b></p><p> cout<<"************
98、**********************"<<endl; </p><p> cout<<"員工編號(hào) >"<<Enum[i]<<endl; </p><p> cout<<"姓 名 >"<<Ename[i]<<endl; </p&g
99、t;<p> cout<<"性 別 >"; </p><p><b> if</b></p><p> (Esex[i]=='F') cout<<"女 "<<endl; </p><p><b> else if&l
100、t;/b></p><p> (Esex[i]=='M') cout<<"男 "<<endl; </p><p> cout<<"年 齡 >"<<Eage[i]<<"歲"<<endl; </p><p>
101、 cout<<"婚姻情況 >"; </p><p><b> if</b></p><p> (Emarriage[i]=='Y') cout<<"已婚 "<<endl; </p><p><b> else if</b&g
102、t;</p><p> (Emarriage[i]=='N') cout<<"未婚 "<<endl; </p><p> cout<<"學(xué) 歷 >"; </p><p> switch (Edegree[i]) </p><p><b
103、> { </b></p><p><b> case 1:</b></p><p> cout<<"初 中 "<<endl;</p><p><b> break; </b></p><p><b> case 2:&
104、lt;/b></p><p> cout<<"高 中 "<<endl;</p><p><b> break; </b></p><p><b> case 3:</b></p><p> cout<<"本 科 &quo
105、t;<<endl;</p><p><b> break; </b></p><p><b> case 4:</b></p><p> cout<<"碩 士 "<<endl;</p><p><b> break; <
106、/b></p><p><b> case 5:</b></p><p> cout<<"博 士 "<<endl;</p><p><b> break; </b></p><p><b> } </b></p&g
107、t;<p> cout<<"所在部門 >"; </p><p> switch (Edepart[i]) </p><p><b> { </b></p><p><b> case 1:</b></p><p> cout<<
108、;"董事會(huì) "<<endl;</p><p><b> break; </b></p><p><b> case 2:</b></p><p> cout<<"市場(chǎng)部 "<<endl;</p><p><b&g
109、t; break; </b></p><p><b> case 3:</b></p><p> cout<<"公關(guān)部 "<<endl;</p><p><b> break; </b></p><p><b> case
110、4:</b></p><p> cout<<"客服中心 "<<endl;</p><p><b> break; </b></p><p><b> case 5:</b></p><p> cout<<"信息中心
111、 "<<endl;</p><p><b> break; </b></p><p><b> } </b></p><p> cout<<"所任職務(wù) >"; </p><p> switch (Eposition[i]) <
112、/p><p><b> { </b></p><p><b> case 1:</b></p><p> cout<<"臨時(shí)成員 "<<endl;</p><p><b> break; </b></p><p
113、><b> case 2:</b></p><p> cout<<"正式員工 "<<endl;</p><p><b> break; </b></p><p><b> case 3:</b></p><p> co
114、ut<<"主任 "<<endl;</p><p><b> break; </b></p><p><b> case 4:</b></p><p> cout<<"部門經(jīng)理 "<<endl;</p><p&g
115、t;<b> break; </b></p><p><b> case 5:</b></p><p> cout<<"董事長(zhǎng) "<<endl;</p><p><b> break; </b></p><p><b&g
116、t; } </b></p><p> cout<<"工作時(shí)長(zhǎng) >"<<Eworktime[i]<<"小時(shí)"<<endl; </p><p> cout<<"額定工資 >"<<Epay[i]<<"元"
117、<<endl; </p><p> cout<<"**********************************"<<endl; </p><p><b> } </b></p><p> else continue; </p><p><b>
118、; } </b></p><p><b> } </b></p><p> void Employee::RefreshInfo() //修改員工信息的函數(shù) </p><p><b> { </b></p><p> int cNum = 50; </p><
119、;p> DBOperate dbo; </p><p> dbo.ReadOut(); </p><p> void Employee::shownum(long number); </p><p> cout<<"請(qǐng)輸入您要修改的員工編號(hào): >"; </p><p> cin>&g
120、t;cNum; </p><p><b> int MN; </b></p><p> MN = Employee::MaxNum(); </p><p> for(int i=0;i<MN;i++) //遍歷數(shù)據(jù)文件,查找要修改的員工數(shù)據(jù) </p><p><b> { </b>&l
121、t;/p><p><b> if</b></p><p> (Enum[i] == cNum) </p><p><b> { </b></p><p> Employee::shownum(cNum); </p><p> cout<<"請(qǐng)輸入該
122、員工的新信息: "<<endl; </p><p> cout<<"新員工姓名: "; //錄入員工的新的數(shù)據(jù),員工號(hào)保持不變 </p><p> cin>>Employee::Employeename; </p><p> Ename[i] = Employee::Employeename;
123、</p><p> cout<<"新員工性別: [F為女性,M為男性]: "; </p><p> cin>>Employee::Employeesex; </p><p> Esex[i] = Employee::Employeesex; </p><p> cout<<&qu
124、ot;新員工年齡: "; </p><p> cin>>Employee::Employeeage; </p><p> Eage[i] = Employee::Employeeage; </p><p> cout<<"新員工婚姻狀況(Y為已婚,N為未婚): "; </p><p>
125、; cin>>Employee::Employeemarriage; </p><p> Emarriage[i] = Employee::Employeemarriage; </p><p> cout<<"新員工學(xué)歷,請(qǐng)輸入相應(yīng)學(xué)歷的序號(hào):"<<endl; </p><p> cout<<
126、;" [1:初中 2:高中 3:本科 4:碩士 5:博士] "; </p><p> cin>>Employee::Employeedegree; while(Employee::Employeedegree !=1&&Employee::Employeedegree !=2&&Employee::Employeedegree !=3&&a
127、mp;Employee::Employeedegree !=4&&Employee::Employeedegree !=5) </p><p><b> { </b></p><p> cout<<"輸入有誤,請(qǐng)重新輸入:"<<endl; </p><p> cout<&l
128、t;" [1:初中 2:高中 3:本科 4:碩士 5:博士] "; </p><p> cin>>Employee::Employeedegree; </p><p><b> } </b></p><p> Edegree[i] = Employee::Employeedegree; </p>
129、<p> cout<<"新員工所在部門,請(qǐng)輸入相應(yīng)部門的序號(hào): "<<endl; </p><p> cout<<" [1:董事會(huì) 2:市場(chǎng)部 3:公關(guān)部 4:客服中心 5:信息中心] "; </p><p> cin>>Employee::Employeedepart; </
130、p><p> while(Employee::Employeedepart !=1&&Employee::Employeedepart !=2&&Employee::Employeedepart !=3&&Employee::Employeedepart !=4&&Employee::Employeedepart!=5) </p><
131、;p><b> { </b></p><p> cout<<"輸入有誤,請(qǐng)重新輸入:"<<endl; </p><p> cout<<" [1:董事會(huì) 2:市場(chǎng)部 3:公關(guān)部 4:客服中心 5:信息中心] "; </p><p> cin>>E
132、mployee::Employeedepart; </p><p><b> } </b></p><p> Edepart[i] = Employee::Employeedepart; </p><p> cout<<"新員工職位,請(qǐng)輸入相應(yīng)職位的序號(hào):"<<endl; </p>
133、<p> cout<<" [1:臨時(shí)職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長(zhǎng)] "; </p><p> cin>>Employee::Employeeposition; while(Employee::Employeeposition !=1&&Employee::Employeeposition !=2&&am
134、p;Employee::Employeeposition !=3&&Employee::Employeeposition !=4&&Employee::Employeeposition !=5) </p><p><b> { </b></p><p> cout<<"輸入有誤,請(qǐng)重新輸入:"<
135、<endl; </p><p> cout<<" [1:臨時(shí)職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長(zhǎng)] "; </p><p> cin>>Employee::Employeeposition; </p><p><b> } </b></p><p&g
136、t; Eposition[i] = Employee::Employeeposition; </p><p> cout<<"新員工的工作時(shí) (不需要輸入單位): "; </p><p> cin>>Employee::Employeeworktime; </p><p> Eworktime[i] = Emplo
137、yee::Employeeworktime; </p><p> Epay[i] = Employee::Pay(Employee::Employeeposition); </p><p><b> break; </b></p><p><b> } </b></p><p><b&g
138、t; } </b></p><p> dbo.WriteIn(0); </p><p><b> } </b></p><p> void Employee::DeleteInfo() //刪除員工數(shù)據(jù)的函數(shù) </p><p><b> { </b></p>&l
139、t;p> char tmp; </p><p> int cNum = 50; </p><p> DBOperate dbo; </p><p> dbo.ReadOut(); </p><p> cout<<"請(qǐng)輸入您要?jiǎng)h除的員工編號(hào)>: "; </p><p&g
140、t; cin>>cNum; </p><p><b> int MN; </b></p><p> MN = Employee::MaxNum(); </p><p> for(int i=0;i<MN;i++) //遍歷數(shù)據(jù)文件,查找要?jiǎng)h除的員工 </p><p><b> { &
141、lt;/b></p><p> if(Enum[i] == cNum) </p><p> Employee::shownum(cNum); </p><p><b> } </b></p><p> cout<<"確認(rèn)要?jiǎng)h除該員工信息?(Y為確認(rèn) N為放棄): "; <
142、;/p><p> cin>>tmp; </p><p> if(tmp=='Y'||tmp=='y') </p><p><b> { </b></p><p> if(i==MN-1) </p><p> dbo.WriteIn(-1); <
143、;/p><p><b> else </b></p><p><b> { </b></p><p> for(int j=i;j<MN-1;j++) </p><p><b> { </b></p><p> Enum[j] = Enum[
144、j+1];</p><p><b> } </b></p><p> dbo.WriteIn(-1); </p><p><b> } </b></p><p> cout<<" 刪除操作成功 ! "<<endl; </p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++程序設(shè)計(jì)課程設(shè)計(jì)--電費(fèi)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)--電費(fèi)管理系統(tǒng)
- 《c++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)——職工信息管理系統(tǒng)
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)--學(xué)生學(xué)籍管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---公司人員管理系統(tǒng)
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語言
- c++課程設(shè)計(jì)-- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
- c++程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)---家庭月收支管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告--訂票系統(tǒng)
- 《c++程序設(shè)計(jì)課程設(shè)計(jì)——復(fù)數(shù)類》
- 《c++語言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- 《程序設(shè)計(jì)語言(c++)》課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生選課系統(tǒng)程序設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)-學(xué)生選課系統(tǒng)程序設(shè)計(jì)文檔
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告家庭月收支管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生選課系統(tǒng)程序設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論