公司員工信息管理系統(tǒng)c++課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p>  一、課程設(shè)計(jì)的目的:1</p><p><b>  二、概念設(shè)計(jì)1</b></p><p><b>  1.總經(jīng)理:2</b></p><p>  2.技術(shù)部門:2</p><p

2、>  3.銷售部門:2</p><p>  4.財(cái)務(wù)部門:2</p><p>  5.人力資源管理部:3</p><p>  三、系統(tǒng)流程分析:3</p><p>  四、過程展示:3</p><p><b>  1)總經(jīng)理:3</b></p><

3、p>  2)銷售經(jīng)理(銷售員)6</p><p><b>  3)技術(shù)員6</b></p><p>  4)人力資源部門員工6</p><p>  5)財(cái)務(wù)部門員工:9</p><p>  五、提升空間:11</p><p>  六、感想與總結(jié):12</p>

4、;<p>  七、部分源代碼展示:12</p><p>  八、VIEW.cpp類的源代碼顯示:24</p><p><b>  課程設(shè)計(jì)的目的:</b></p><p>  為了解決公司職工信息的多樣性和數(shù)據(jù)的混亂與繁雜,實(shí)現(xiàn)信息存取,查詢,方便公司在信息方面有清晰的管理,提高公司的運(yùn)營(yíng)效率,本系統(tǒng)可以實(shí)現(xiàn)以上的功能。&l

5、t;/p><p><b>  概念設(shè)計(jì)</b></p><p><b>  總體關(guān)系圖:</b></p><p><b>  總經(jīng)理:</b></p><p>  總經(jīng)理是負(fù)責(zé)公司的大小事務(wù)的,所以總經(jīng)理獨(dú)立擁有查詢員工工資的權(quán)利,總經(jīng)理還可以獨(dú)立輸入個(gè)人信息到系統(tǒng)中,方便財(cái)務(wù)部門

6、,人力資源部門等信息的統(tǒng)計(jì)。</p><p><b>  技術(shù)部門:</b></p><p>  技術(shù)部門是由技術(shù)員組成的,技術(shù)員是技術(shù)部門的主要成員,所以技術(shù)員在技術(shù)部門內(nèi)是特殊的存在,同樣技術(shù)部門也擁有獨(dú)立信息輸入輸出的權(quán)利。</p><p><b>  銷售部門:</b></p><p>  

7、銷售部門由銷售經(jīng)理和銷售員組成,銷售部門也是有獨(dú)立的信息輸入輸出的權(quán)利,方便部門的信息統(tǒng)計(jì)和人員信息的查看。</p><p><b>  財(cái)務(wù)部門:</b></p><p>  財(cái)務(wù)部門是公司財(cái)務(wù)統(tǒng)計(jì)的部門,掌管公司資金動(dòng)向,還有員工工資發(fā)放,所以我給財(cái)務(wù)部門設(shè)置了工資查詢的功能,讓每個(gè)公司成員進(jìn)入財(cái)務(wù)部查詢自己的工資,同時(shí)財(cái)務(wù)部要負(fù)責(zé)把員工的工資信息上傳到系統(tǒng)中去的

8、功能。</p><p><b>  人力資源管理部:</b></p><p>  主要功能是對(duì)員工信息的管理,所以在人力資源部門中可以實(shí)現(xiàn)隊(duì)員工的信息持續(xù)添加的功能,方便了人力資源部的員工的工作了。同時(shí)還可以實(shí)現(xiàn)對(duì)人員信息的刪除,因?yàn)槿肆Y源管理部門是管理人員流動(dòng)的大部門,每個(gè)員工的存儲(chǔ)或刪除是工作中常常遇到的額,所以刪除功能給人力資源部節(jié)約了很多人力物力。</

9、p><p><b>  系統(tǒng)流程分析:</b></p><p>  前面是分析了各模塊的功能,現(xiàn)在就是對(duì)系統(tǒng)所實(shí)現(xiàn)的功能做一個(gè)展示并且分析每個(gè)功能的操作及設(shè)計(jì)的原因;</p><p>  如果你是公司員工,那么就進(jìn)入本系統(tǒng),進(jìn)入系統(tǒng)之后找到自己所在的部門,比如你是銷售員,那么就是銷售部門的,那么就點(diǎn)擊銷售部門->銷售員->個(gè)人信息輸入;

10、點(diǎn)擊個(gè)人信息輸入之后會(huì)彈出一個(gè)提示對(duì)話窗口,此時(shí)你可以上傳自己的個(gè)人信息到系統(tǒng)當(dāng)中。</p><p>  同上,如果你是總經(jīng)理,那么就點(diǎn)擊進(jìn)入總經(jīng)理的鏈接->個(gè)人信息輸入(個(gè)人信息輸出,員工工資查看);點(diǎn)擊個(gè)人信息輸入會(huì)彈出與上一個(gè)輸入一樣的個(gè)人信息輸入對(duì)話框,里面有信息選項(xiàng)若干,進(jìn)行填寫按確定就會(huì)對(duì)你所輸入的信息進(jìn)行存儲(chǔ),如果存儲(chǔ)完畢后要查看個(gè)人信息,可以點(diǎn)擊個(gè)人信息輸出查看。</p>&l

11、t;p>  其他部門比如技術(shù)部門,銷售部門也是同樣的功能。就不介紹了。</p><p>  現(xiàn)在介紹財(cái)務(wù)部門的查詢工資的功能實(shí)現(xiàn):查詢工資首先要人力資源部門完成信息上傳之后,同時(shí)還要必須是本公司員工,才能被查詢到,查詢的條件是以姓名方式查找的,只要信息正確就可以顯示到你所要的工資還有你所得的薪資水平。</p><p>  還有一個(gè)可以查詢到員工的工資,就是總經(jīng)理,總經(jīng)理可以查詢到所有

12、員工的工資,點(diǎn)擊總經(jīng)理的員工工資查看就可以了。</p><p><b>  過程展示:</b></p><p><b>  登陸系統(tǒng):</b></p><p>  要進(jìn)行正確的身份驗(yàn)證后才可以登陸系統(tǒng),在登錄窗口中輸入正確的用戶名,密碼。</p><p>  本系統(tǒng)的用戶名為:1007010103,

13、密碼1007010103:</p><p><b>  登陸對(duì)話框</b></p><p><b>  輸入密碼后:</b></p><p>  點(diǎn)擊登陸會(huì)彈出以下對(duì)話框:</p><p><b>  提示對(duì)話框</b></p><p><b>

14、;  點(diǎn)擊確定:</b></p><p><b>  總經(jīng)理:</b></p><p>  點(diǎn)擊總經(jīng)理會(huì)出現(xiàn)下拉菜單項(xiàng)有個(gè)人信息輸入,個(gè)人信息輸出,還有員工資金查看;</p><p>  點(diǎn)擊個(gè)人信息輸入出現(xiàn)如下對(duì)話框:</p><p> ?。▽?duì)話框有四個(gè)選項(xiàng),其中職業(yè)有四個(gè)下拉項(xiàng),包括,總經(jīng)理,銷售經(jīng)理,技

15、術(shù)員,銷售員,在職業(yè)項(xiàng)中選擇你的職業(yè)。)</p><p>  輸入個(gè)人信息點(diǎn)擊確定就可以實(shí)現(xiàn)信息保存。</p><p>  比如輸入姓名為:張三,興趣愛好是:排球,性別:男,職業(yè)是總經(jīng)理;輸入完后出現(xiàn)</p><p>  提示你的信息輸入完畢。</p><p>  再點(diǎn)擊個(gè)人信息輸出就會(huì)查看到自己的信息:</p><p&g

16、t;  第三個(gè)功能是員工的工資查看,要查看員工工資首先要在主菜單中的信息上傳之后才能實(shí)現(xiàn), 現(xiàn)在就講一下信息上傳的功能:</p><p>  點(diǎn)擊員工信息管理系統(tǒng)再點(diǎn)擊信息上傳后會(huì)彈出一下窗口:</p><p>  本窗口設(shè)置了姓名必能為空的功能,如果不填寫姓名就會(huì)彈出如下窗口:</p><p>  點(diǎn)擊時(shí)就會(huì)彈出上面的窗口繼續(xù)填寫,如果否就會(huì)退出。</p&g

17、t;<p>  我們把信息設(shè)置如下:總經(jīng)理:李斯;銷售經(jīng)理:趙高;銷售員:葉子;技術(shù)員:高山;工作時(shí)間:100;銷售員銷售額:20000;公司銷售額:1000000</p><p>  點(diǎn)擊確定會(huì)彈出提示框:</p><p><b>  信息提示上傳成功。</b></p><p>  再點(diǎn)擊總經(jīng)理的員工工資查看就會(huì)顯示出來:<

18、;/p><p><b>  銷售經(jīng)理(銷售員)</b></p><p>  點(diǎn)擊主菜單的銷售部門會(huì)出現(xiàn)兩項(xiàng)選擇:銷售經(jīng)理和銷售員.</p><p>  如果是銷售經(jīng)理(銷售員)會(huì)有兩項(xiàng)選擇:個(gè)人信息輸入,個(gè)人信息輸出。</p><p>  點(diǎn)擊個(gè)人信息輸入會(huì)有一個(gè)如總經(jīng)理一樣的對(duì)話框:功能實(shí)現(xiàn)和總經(jīng)理的差不多就不一一介紹了可

19、以參照總經(jīng)理所講的,只是少了一項(xiàng)總經(jīng)理的功能就是員工工資查看。</p><p><b>  技術(shù)員</b></p><p>  點(diǎn)擊主菜單的技術(shù)部門會(huì)出現(xiàn)一項(xiàng)選擇:技術(shù)員</p><p>  點(diǎn)擊技術(shù)員會(huì)有兩項(xiàng)選擇:個(gè)人信息輸入,個(gè)人信息輸出。</p><p>  點(diǎn)擊個(gè)人信息輸入會(huì)有一個(gè)如總經(jīng)理一樣的對(duì)話框:功能實(shí)現(xiàn)和

20、總經(jīng)理的差不多就不一一介紹了可以參照總經(jīng)理所講的,只是少了一項(xiàng)總經(jīng)理的功能就是員工工資查看。</p><p><b>  人力資源部門員工</b></p><p>  人力資源部門的功能新建立一項(xiàng)功能,可以追加信息輸入。點(diǎn)擊人力資源部門時(shí)會(huì)有三項(xiàng)選擇:人員信息輸入,工資信息輸出,信息刪除,人力資源部門的這三個(gè)功能是必不可少的人員的流動(dòng)是人力資源部門掌管的,有了這三個(gè)功

21、能可以方便部門對(duì)信息的管理提高效益:</p><p><b>  點(diǎn)擊人員信息輸入:</b></p><p><b>  個(gè)人信息輸入框</b></p><p>  出現(xiàn)信息輸入框,填寫公司員工的信息:李斯,興趣愛好是:打籃球,性別:男,職業(yè)是總經(jīng)理。</p><p>  此信息是通過人力資源部門上

22、傳的信息所以填寫完后會(huì)出現(xiàn)一個(gè)提示框:</p><p>  點(diǎn)擊‘是’,會(huì)彈出信息輸入對(duì)話框:</p><p><b>  信息輸入對(duì)話框</b></p><p>  可以實(shí)現(xiàn)繼續(xù)添加,但是我設(shè)置了重復(fù)添加四次,因?yàn)槁殬I(yè)只有四種職業(yè)。</p><p>  繼續(xù)添加如下信息:高山,排球,女,銷售經(jīng)理;趙高,乒乓球,男,技術(shù)

23、員,葉子,網(wǎng)球,女,銷售員;點(diǎn)擊確定保存信息。保存之后會(huì)彈出對(duì)話框提示內(nèi)存不足;</p><p><b>  內(nèi)存不足對(duì)話框</b></p><p>  不能再繼續(xù)添加信息了。</p><p>  信息的查看可以在各部門中的個(gè)人信息輸出查看到!</p><p>  看到的信息如下所示:</p><p&

24、gt;<b>  點(diǎn)擊工資信息輸出:</b></p><p>  在主窗口里會(huì)出現(xiàn)如下內(nèi)容:</p><p><b>  點(diǎn)擊信息刪除:</b></p><p>  如果信息有錯(cuò)誤,比如下面信息,</p><p>  技術(shù)員趙高的愛好不是乒乓球,而是排球,要求刪除掉:</p><

25、p>  那么就點(diǎn)擊信息刪除。</p><p><b>  會(huì)彈出一個(gè)對(duì)話框:</b></p><p><b>  刪除提示窗口</b></p><p>  輸入刪除的人的姓名“趙高”,點(diǎn)擊‘確定’,又會(huì)出現(xiàn)一個(gè)對(duì)話框,取消就會(huì)退出;</p><p><b>  信息刪除對(duì)話框<

26、/b></p><p>  信息顯示說已經(jīng)刪除了。打開主窗口,單擊一項(xiàng)個(gè)人信息輸出會(huì)看到:</p><p><b>  刪除信息顯示頁(yè)面</b></p><p>  顯示的內(nèi)容變成這樣了,趙高的信息刪除了。</p><p><b>  財(cái)務(wù)部門員工:</b></p><p&

27、gt;  如果進(jìn)入財(cái)務(wù)部門,里面可以查詢個(gè)人工資選項(xiàng),但是首先要填寫自己的職業(yè)選項(xiàng),通過信息核對(duì)正確后就會(huì)進(jìn)入姓名查詢,查詢到了你的信息就會(huì)顯示出來。</p><p>  點(diǎn)擊后會(huì)出現(xiàn)如下對(duì)話框</p><p><b>  職業(yè)選擇對(duì)話框</b></p><p>  提示先選擇你的職業(yè):比如你是總經(jīng)理,總經(jīng)理的姓名是:李斯,點(diǎn)擊總經(jīng)理一項(xiàng),&l

28、t;/p><p>  會(huì)彈出一個(gè)對(duì)話框提示你的信息:</p><p><b>  職業(yè)信息驗(yàn)證對(duì)話框</b></p><p>  點(diǎn)擊‘是’,就可以查詢到工資了:</p><p><b>  月薪提示對(duì)話框</b></p><p>  顯示出總經(jīng)理的工資水平是80000/月,&l

29、t;/p><p>  選擇其他的信息比如銷售員,葉子的工資;</p><p>  點(diǎn)擊銷售員的職業(yè)選項(xiàng),彈出對(duì)話框:</p><p><b>  職業(yè)信息驗(yàn)證對(duì)話框</b></p><p>  點(diǎn)擊‘是’,出現(xiàn)一個(gè)姓名查詢窗口:</p><p><b>  工資查詢對(duì)話框</b>

30、</p><p>  填寫號(hào)自己的姓名:葉子,</p><p><b>  點(diǎn)擊確定:</b></p><p>  點(diǎn)擊‘是’可以顯示信息,如果否就會(huì)不顯示;點(diǎn)擊‘是’</p><p><b>  工資信息顯示對(duì)話框</b></p><p>  出現(xiàn)了信息顯示,里面有你的名字

31、和薪資水平,級(jí)別是一級(jí),代表是最高的。</p><p><b>  提升空間:</b></p><p>  其實(shí)程序里面有幾個(gè)優(yōu)點(diǎn)我覺比較滿意的就是我把員工信息輸入框中的這也用了ComboBox類的組合框讓信息規(guī)定在了四個(gè)職業(yè)的選項(xiàng),讓信息更清楚不含糊。還有工資查詢的職業(yè)選擇,我是用了單選按鈕來實(shí)現(xiàn)這也選擇,這樣的設(shè)置保證了信息的完整性,不會(huì)因?yàn)檫@也復(fù)雜而讓信息難以處

32、理。</p><p>  但是程序還存在很多的不足,首先在數(shù)據(jù)顯示方面不夠清晰,其實(shí)我們可以建立以數(shù)據(jù)庫(kù),在庫(kù)中建立員工信息表,部門信息表,用表格的形式輸出數(shù)據(jù)更加美觀實(shí)用,同時(shí)還可以給數(shù)據(jù)庫(kù)建立一個(gè)登錄名,或多個(gè)登陸,只要是公司的員工就可以登錄輸入自己的個(gè)人信息,另外每個(gè)部門都建立獨(dú)立的表,可以給表設(shè)置對(duì)員工的權(quán)限。員工一般只有查看的功能,而人力資源部門可以對(duì)信息進(jìn)行添加,修改,刪除的權(quán)限。</p>

33、<p>  然后程序不能很好的完成刪除的功能,還有相關(guān)的修改功能也沒實(shí)現(xiàn),這是我要加強(qiáng)此程序功能的方向。</p><p><b>  感想與總結(jié):</b></p><p>  花了很多時(shí)間在這個(gè)程序上,雖然最后還是留下很多不足,可是我覺得結(jié)果不重要,因?yàn)榫幊痰臅r(shí)候我真正感受到了做好一個(gè)程序(系統(tǒng))是一件不容易的事情,而且在這件事情上學(xué)會(huì)了急于求成是不行的

34、,每一步都要認(rèn)真思考,最重要的是對(duì)系統(tǒng)首先做一個(gè)完整的設(shè)計(jì)方案,有一個(gè)大體的目標(biāo)后再進(jìn)行編程,編程的時(shí)候?qū)崿F(xiàn)了一個(gè)功能或者你定好的一步后要備案,不然就會(huì)因?yàn)橐粫r(shí)不小心把之前的程序弄臟了,就會(huì)出現(xiàn)很多問題,這時(shí)你會(huì)花很多時(shí)間去該,要是改不好就是前工盡棄了。然后就是學(xué)好一門計(jì)算機(jī)語(yǔ)言很重要的,不然就會(huì)在程序編寫時(shí)候很吃虧。不過我好自豪,因?yàn)槲业某绦螂m簡(jiǎn)單但是我是認(rèn)真的作者的,而且是自己設(shè)計(jì)的,一個(gè)小小的系統(tǒng)花了我不少的努力,我也會(huì)繼續(xù)加強(qiáng)計(jì)

35、算機(jī)語(yǔ)言的學(xué)習(xí)。</p><p><b>  部分源代碼展示:</b></p><p>  1, employee類為基類派生出來了salesman類,salesmanager類,technician類,manager類,頭文件代碼如下:</p><p>  //employee.h</p><p>  class e

36、mployee</p><p><b>  {</b></p><p>  protected:</p><p>  char sex[5];//性別</p><p>  char hobit[10];//愛好</p><p>  char name[20];//姓名</p>&l

37、t;p>  char job[20];//工作類型</p><p>  int individualEmpNo;//個(gè)人編號(hào)</p><p>  int grade;//級(jí)別</p><p>  float accumPay;//月薪總額</p><p>  static int employeeNo;//本公司職員編號(hào)目前最大

38、值</p><p><b>  public:</b></p><p>  void Sethobit(char*);</p><p>  void Setsex(char*);</p><p>  void Setjob(char*);</p><p>  char* Getsex();<

39、/p><p>  char* Gethobit();</p><p>  char* Getjob();</p><p>  employee();//構(gòu)造函數(shù)</p><p>  ~employee();//析構(gòu)函數(shù)</p><p>  virtual void pay()=0;//計(jì)算月薪函數(shù)(純虛函數(shù))<

40、/p><p>  virtual void promote(int increment=0);//升級(jí)函數(shù)(虛函數(shù))</p><p>  void SetName(char *); //設(shè)置姓名函數(shù)</p><p>  char * GetName(); //提取姓名函數(shù)</p><p>  int GetindividualEmpNo(

41、); //提取編號(hào)函數(shù)</p><p>  int Getgrade(); //提取級(jí)別函數(shù)</p><p>  float GetaccumPay(); //提取月薪函數(shù)</p><p><b>  };</b></p><p>  class technician:public employee//兼職

42、技術(shù)人員類</p><p><b>  {</b></p><p><b>  private:</b></p><p>  float hourlyRate;//每小時(shí)酬金</p><p>  int workHours;//當(dāng)月工作時(shí)數(shù)</p><p><b&g

43、t;  public:</b></p><p>  technician();//構(gòu)造函數(shù)</p><p>  ~technician(){}</p><p>  void SetworkHours(int wh); //設(shè)置工作時(shí)數(shù)函數(shù)</p><p>  void pay();//計(jì)算月薪函數(shù)</p>&

44、lt;p>  void promote(int);//升級(jí)函數(shù)</p><p><b>  };</b></p><p>  class salesman:virtual public employee//兼職推銷員類</p><p><b>  {</b></p><p>  prote

45、cted:</p><p>  float CommRate;//按銷售額提取酬金的百分比</p><p>  float sales;//當(dāng)月銷售額</p><p><b>  public:</b></p><p>  salesman();</p><p>  ~salesman(){

46、}//構(gòu)造函數(shù)</p><p>  void Setsales(float sl); //設(shè)置銷售額函數(shù)</p><p>  void pay();//計(jì)算月薪函數(shù)</p><p>  void promote(int);//升級(jí)函數(shù)</p><p><b>  };</b></p><p>

47、;  class manager:virtual public employee//經(jīng)理類</p><p><b>  {</b></p><p>  protected:</p><p>  float monthlyPay;//固定月薪數(shù)</p><p><b>  public:</b>&

48、lt;/p><p>  manager();//構(gòu)造函數(shù)</p><p>  void pay();//計(jì)算月薪函數(shù)</p><p>  void promote(int);//升級(jí)函數(shù)</p><p>  ~manager(){}</p><p><b>  };</b></p>

49、<p>  class salesmanager:public manager,public salesman //銷售經(jīng)理類</p><p><b>  {</b></p><p><b>  public:</b></p><p>  salesmanager();//構(gòu)造函數(shù)</p>

50、<p>  void pay();//計(jì)算月薪函數(shù)</p><p>  void promote(int);//升級(jí)函數(shù)</p><p>  ~salesmanager(){}</p><p><b>  };</b></p><p>  2,類成員函數(shù)的實(shí)現(xiàn)包含在employee.cpp源文件中:</

51、p><p>  //employee.cpp</p><p>  #include "stdafx.h"</p><p>  #include<iostream></p><p>  #include<cstring></p><p>  #include"employ

52、ee.h"</p><p>  using namespace std;</p><p>  int employee::employeeNo=1000;//員工編號(hào)基數(shù)為1000</p><p>  employee::employee()</p><p>  {individualEmpNo=employeeNo++;

53、//新輸入的員工編號(hào)為目前最大編號(hào)加1</p><p>  grade=1;//級(jí)別初值為1</p><p>  accumPay=0.0;}//月薪總額初值為0</p><p>  employee::~employee()</p><p><b>  {}</b></p><p>  vo

54、id employee::promote(int increment)</p><p>  {grade+=increment; }//升級(jí),提升的級(jí)數(shù)由increment指定</p><p>  void employee::SetName(char* names)</p><p>  {strcpy(name,names); }//設(shè)置姓名</p&

55、gt;<p>  char* employee::GetName()</p><p>  {return name;}//提取成員姓名</p><p>  int employee::GetindividualEmpNo()</p><p>  {return individualEmpNo;}//提取成員編號(hào)</p><p

56、>  int employee::Getgrade()</p><p>  {return grade;}//提取成員級(jí)別</p><p>  float employee::GetaccumPay()</p><p>  {return accumPay;}//提取月薪</p><p>  technician::techni

57、cian()</p><p>  {hourlyRate=100;}//每小時(shí)酬金100元</p><p>  void technician::SetworkHours(int wh)</p><p>  {workHours=wh;}//設(shè)置工作時(shí)間</p><p>  void technician::pay()</p&g

58、t;<p>  {accumPay=hourlyRate*workHours;}//計(jì)算月薪,按小時(shí)計(jì)酬</p><p>  void technician::promote(int)</p><p>  {employee::promote(2); }//調(diào)用基類升級(jí)函數(shù),升2級(jí)</p><p>  salesman::salesman(

59、)</p><p>  {CommRate=0.04f;}//銷售提成比例4%</p><p>  void salesman::Setsales(float sl)</p><p>  {sales=sl;}//設(shè)置銷售額</p><p>  void salesman::pay()</p><p>  {

60、accumPay=sales*CommRate;}//月薪=銷售提成</p><p>  void salesman::promote(int)</p><p>  {employee::promote(0); } //調(diào)用基類升級(jí)函數(shù),升0級(jí)</p><p>  manager::manager()</p><p>  {month

61、lyPay=80000;}//固定月薪8000元</p><p>  void manager::pay()</p><p>  {accumPay=monthlyPay;}//月薪總額即固定月薪數(shù)</p><p>  void manager::promote(int )</p><p>  {employee::promote(3

62、);}//調(diào)用基類升級(jí)函數(shù),升3級(jí)</p><p>  salesmanager::salesmanager()</p><p>  {monthlyPay=5000;</p><p>  CommRate=0.005f;}</p><p>  void salesmanager::pay()</p><p>  

63、{accumPay=monthlyPay+CommRate*sales; }//月薪=固定月薪+銷售提成</p><p>  void salesmanager::promote(int)</p><p>  {employee::promote(2);}//調(diào)用基類升級(jí)函數(shù),升2級(jí)</p><p>  char* employee::Gethobit()

64、</p><p><b>  {</b></p><p>  return hobit;</p><p><b>  }</b></p><p>  char* employee::Getsex()</p><p><b>  {</b></p&g

65、t;<p>  return sex;</p><p><b>  }</b></p><p>  char* employee::Getjob()</p><p><b>  {</b></p><p>  return job;</p><p><b&

66、gt;  }</b></p><p>  void employee::Sethobit(char* hobita)</p><p><b>  {</b></p><p>  strcpy(hobit,hobita);</p><p><b>  }</b></p>&l

67、t;p>  void employee::Setsex(char* sexa)</p><p><b>  {</b></p><p>  strcpy(sex,sexa);</p><p><b>  }</b></p><p>  void employee::Setjob( char*

68、joba)</p><p><b>  {</b></p><p>  strcpy(job,joba);</p><p><b>  }</b></p><p>  3,自己創(chuàng)新的部分:</p><p>  人力資源部門的人員信息輸入代碼</p><p&

69、gt;  此代碼是實(shí)現(xiàn)信息追加的也是我想到的:</p><p>  void CMy1007010103View::OnPersoninput() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>  ma

70、nager m1,t,sm,s;</p><p>  int count=0;</p><p>  vector <employee *> vchar;</p><p>  vchar.push_back(&m1);</p><p>  //vchar.push_back(&m);</p><

71、;p>  vchar.push_back(&t);</p><p>  vchar.push_back(&sm);</p><p>  vchar.push_back(&s);</p><p><b>  int i;</b></p><p>  for(i=0;i<4;i++)<

72、;/p><p><b>  {</b></p><p>  CDlgInput ed;</p><p>  if( ed.DoModal()==IDOK)</p><p><b>  {</b></p><p>  vchar[i]->SetName((char*) (LP

73、CTSTR) ed.m_strName);//設(shè)置姓名</p><p>  vchar[i]->Sethobit((char*) (LPCTSTR) ed.m_strhobit);</p><p>  vchar[i]->Setsex((char*) (LPCTSTR) ed.m_strsex);</p><p>  vchar[i]->Setj

74、ob((char*) (LPCTSTR) ed.m_ComboEmployee);</p><p>  ofstream infile("employee.txt",ios::out|ios::app) ;//創(chuàng)建一個(gè)輸出文件流對(duì)象</p><p>  infile<<vchar[i]->GetName()<<",你的職業(yè):&qu

75、ot;<<vchar[i]->Getjob()</p><p>  <<", 性別:"<<vchar[i]->Getsex()<<", 愛好:"<<vchar[i]->Gethobit()</p><p><b>  <<endl;</b>

76、</p><p>  infile.close();</p><p>  MessageBox("信息上傳成功!","提示對(duì)話窗口");</p><p>  if(count++==3)</p><p><b>  { </b></p><p>  Mes

77、sageBox("內(nèi)存不足!","提示對(duì)話窗口");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(MessageBox("信息存儲(chǔ)完畢,是否繼續(xù)添加人員信息?","提示對(duì)話框&quo

78、t;,100)==IDYES)</p><p><b>  continue;</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  MessageBox("信息上傳成功!","提示對(duì)

79、話窗口");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>

80、;  {</b></p><p>  MessageBox("信息沒有存儲(chǔ)!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><

81、p><b>  }</b></p><p><b>  查詢工資函數(shù):</b></p><p>  我用了switch語(yǔ)句來對(duì)信息進(jìn)行處理,員工選擇了職業(yè)選項(xiàng)后用case來處理每一個(gè)消息響應(yīng):</p><p>  void CMy1007010103View::OnGetmonthlypay() </p>

82、<p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>  UpdateData();</p><p>  CDlgQuerySalary work;</p><p>  work.DoModal();<

83、;/p><p>  if(work.m_workstyle!=-1)</p><p><b>  {</b></p><p>  switch(work.m_workstyle)</p><p><b>  {</b></p><p><b>  case 0:<

84、;/b></p><p>  if(MessageBox("你的職業(yè)是總經(jīng)理嗎?","提示窗口",100)==IDYES)</p><p><b>  {</b></p><p>  MessageBox("總經(jīng)理固定月薪是80000","提示窗口");<

85、;/p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 1:</b></p><p>  if(MessageBox("你的職業(yè)是銷售經(jīng)理嗎?","提示窗口",100)=

86、=IDYES)</p><p><b>  {</b></p><p>  this->OnInitialUpdate();</p><p>  ifstream infile("employee1.txt",ios::in);//創(chuàng)建一個(gè)輸入文件流對(duì)象</p><p><b>  

87、try { </b></p><p>  if (!infile)</p><p>  throw FileException();</p><p><b>  }</b></p><p>  catch ( FileException fe )</p><p>  { // exc

88、eption handler</p><p>  AfxMessageBox(fe.what()); //" << fe.what() << '\n';</p><p><b>  exit(0);</b></p><p><b>  }</b></p>&l

89、t;p>  CDlgQueryName ed; //聲明查詢對(duì)話框?qū)ο?lt;/p><p>  if(ed.DoModal()==IDOK)//調(diào)用查詢對(duì)話框</p><p><b>  {</b></p><p>  char line[10][101];</p><p>  BOOL flag=FALSE;<

90、/p><p>  for(int i=0;i<4;i++)</p><p><b>  {</b></p><p>  infile.getline(line[i],100); //從文件讀入人員信息</p><p>  CString c_str,name_str;</p><p>  c_s

91、tr.Format("%s",line[i]); //轉(zhuǎn)換為字符串 </p><p>  name_str=c_str.Left(c_str.Find(','));//提取姓名</p><p>  if(!name_str.Compare(ed.m_strQueryName))//與查詢名比較</p><p>

92、;<b>  {</b></p><p>  flag=TRUE;</p><p>  name_str+="被查詢到,要顯示該人員信息嗎?";</p><p>  if(MessageBox(name_str,"提示對(duì)話框",100)==IDYES)</p><p><b&

93、gt;  {</b></p><p>  CDlginfomation pDlg;//聲明顯示對(duì)話框?qū)ο?lt;/p><p>  pDlg.m_strInfoName = ed.m_strQueryName;</p><p>  pDlg.m_strInfomationSalary = c_str;</p><p>  pDlg.Do

94、Modal();//調(diào)用顯示對(duì)話框</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(flag==FALSE) MessageBox("查無此人!");</

95、p><p><b>  }</b></p><p>  infile.close();</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 2:</b><

96、;/p><p>  if(MessageBox("你的職業(yè)是技術(shù)員嗎?","提示窗口",100)==IDYES)</p><p><b>  {</b></p><p>  this->OnInitialUpdate();</p><p>  ifstream infile(&q

97、uot;employee1.txt",ios::in);//創(chuàng)建一個(gè)輸入文件流對(duì)象</p><p><b>  try { </b></p><p>  if (!infile)</p><p>  throw FileException();</p><p><b>  }</b>&

98、lt;/p><p>  catch ( FileException fe )</p><p>  { // exception handler</p><p>  AfxMessageBox(fe.what()); //" << fe.what() << '\n';</p><p><b&g

99、t;  exit(0);</b></p><p><b>  }</b></p><p>  CDlgQueryName ed; //聲明查詢對(duì)話框?qū)ο?lt;/p><p>  if(ed.DoModal()==IDOK)//調(diào)用查詢對(duì)話框</p><p><b>  {</b></p

100、><p>  char line[10][101];</p><p>  BOOL flag=FALSE;</p><p>  for(int i=0;i<4;i++)</p><p><b>  {</b></p><p>  infile.getline(line[i],100); //從文

101、件讀入人員信息</p><p>  CString c_str,name_str;</p><p>  c_str.Format("%s",line[i]); //轉(zhuǎn)換為字符串 </p><p>  name_str=c_str.Left(c_str.Find(','));//提取姓名</p>

102、<p>  if(!name_str.Compare(ed.m_strQueryName))//與查詢名比較</p><p><b>  {</b></p><p>  flag=TRUE;</p><p>  name_str+="被查詢到,要顯示該人員信息嗎?";</p><p>  i

103、f(MessageBox(name_str,"提示對(duì)話框",100)==IDYES)</p><p><b>  {</b></p><p>  CDlginfomation pDlg;//聲明顯示對(duì)話框?qū)ο?lt;/p><p>  pDlg.m_strInfoName = ed.m_strQueryName;</p>

104、;<p>  pDlg.m_strInfomationSalary = c_str;</p><p>  pDlg.DoModal();//調(diào)用顯示對(duì)話框</p><p><b>  };</b></p><p><b>  break;</b></p><p><b>  

105、}</b></p><p><b>  }</b></p><p>  if(flag==FALSE)MessageBox("查無此人!");</p><p><b>  }</b></p><p>  infile.close();</p><

106、p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  if(MessageBox("你的職業(yè)是銷售員嗎?","提示窗口",100)==IDYES)</p&

107、gt;<p><b>  {</b></p><p>  this->OnInitialUpdate();</p><p>  ifstream infile("employee1.txt",ios::in);//創(chuàng)建一個(gè)輸入文件流對(duì)象</p><p><b>  try { </b&

108、gt;</p><p>  if (!infile)</p><p>  throw FileException();</p><p><b>  }</b></p><p>  catch ( FileException fe )</p><p>  { // exception handler

109、</p><p>  AfxMessageBox(fe.what()); //" << fe.what() << '\n';</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  CDlgQ

110、ueryName ed; //聲明查詢對(duì)話框?qū)ο?lt;/p><p>  if(ed.DoModal()==IDOK)//調(diào)用查詢對(duì)話框</p><p><b>  {</b></p><p>  char line[10][101];</p><p>  BOOL flag=FALSE;</p><p&

111、gt;  for(int i=0;i<4;i++)</p><p><b>  {</b></p><p>  infile.getline(line[i],100); //從文件讀入人員信息</p><p>  CString c_str,name_str;</p><p>  c_str.Format(&quo

112、t;%s",line[i]); //轉(zhuǎn)換為字符串 </p><p>  name_str=c_str.Left(c_str.Find(','));//提取姓名</p><p>  if(!name_str.Compare(ed.m_strQueryName))//與查詢名比較</p><p><b>  {&

113、lt;/b></p><p>  flag=TRUE;</p><p>  name_str+="被查詢到,要顯示該人員信息嗎?";</p><p>  if(MessageBox(name_str,"提示對(duì)話框",100)==IDYES)</p><p><b>  {</b&g

114、t;</p><p>  CDlginfomation pDlg;//聲明顯示對(duì)話框?qū)ο?lt;/p><p>  pDlg.m_strInfoName = ed.m_strQueryName;</p><p>  pDlg.m_strInfomationSalary = c_str;</p><p>  pDlg.DoModal();//調(diào)用顯示

115、對(duì)話框</p><p><b>  };</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(flag==FALSE)

116、MessageBox("查無此人!");</p><p><b>  }</b></p><p>  infile.close();</p><p><b>  }</b></p><p><b>  break;</b></p><p

117、><b>  }</b></p><p><b>  }else</b></p><p><b>  {</b></p><p>  MessageBox("姓名不能為空!");</p><p><b>  }</b></p

118、><p><b>  }</b></p><p>  4,員工信息輸入函數(shù)的代碼顯示:</p><p>  void CMy1007010103View::OnManagerinput() </p><p><b>  {</b></p><p>  // TODO: Add y

119、our command handler code here</p><p>  manager m1;</p><p>  CDlgInput manager;</p><p>  manager.DoModal();</p><p>  if(manager.m_strName!="")</p><p

120、><b>  { </b></p><p>  ofstream infile("employee.txt",ios::out|ios::app) ;</p><p>  m1.SetName((char*)(LPCTSTR) manager.m_strName);</p><p>  m1.Setsex((ch

121、ar*)(LPCTSTR) manager.m_strsex);</p><p>  m1.Sethobit((char*)(LPCTSTR) manager.m_strhobit);</p><p>  m1.Setjob((char*)(LPCTSTR) manager.m_ComboEmployee);</p><p>  infile<<m1.G

122、etName()<<",你的職業(yè):"<<m1.Getjob()<<",性別:"<<m1.Getsex()<<",愛好:"<<m1.Gethobit()</p><p><b>  <<endl;</b></p><p>  i

123、nfile.close();</p><p>  MessageBox("信息存儲(chǔ)完畢!","存儲(chǔ)信息對(duì)話框");</p><p>  flag=true;</p><p><b>  }</b></p><p><b>  }</b></p>

124、<p>  5,信息輸出函數(shù)代碼顯示:</p><p>  void CMy1007010103View::OnManageroutput() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p> 

125、 ifstream infile("employee.txt",ios::in);//創(chuàng)建一個(gè)輸入文件流對(duì)象</p><p><b>  try { </b></p><p>  if (!infile)</p><p>  throw FileException();</p><p><b

126、>  }</b></p><p>  catch ( FileException fe ) { // exception handler</p><p>  MessageBox(fe.what()); //" << fe.what() << '\n';</p><p><b>  exi

127、t(0);</b></p><p><b>  }</b></p><p>  CClientDC dc(this);</p><p>  char line[101];</p><p>  for(int i=0;i< sizeof(infile);i++)</p><p>&

128、lt;b>  {</b></p><p>  infile.getline(line,100);//從文件讀入人員信息</p><p>  CString c_str;</p><p>  c_str.Format("%s",line); //轉(zhuǎn)換為字符串</p><p>  dc.TextOut(12

129、0,80,"人員信息管理系統(tǒng):");</p><p>  dc.TextOut(120,100+30*i,c_str);</p><p><b>  }</b></p><p>  infile.close();</p><p><b>  }</b></p>&l

130、t;p>  ,6,信息刪除函數(shù)代碼:</p><p>  void CMy1007010103View::OnDeleteinfomation() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p> 

131、 this->OnInitialUpdate();</p><p>  ifstream infile("employee.txt",ios::in);//創(chuàng)建一個(gè)輸入文件流對(duì)象</p><p><b>  try { </b></p><p>  if (!infile)</p><p>

132、  throw FileException();</p><p><b>  }</b></p><p>  catch ( FileException fe ) { // exception handler</p><p>  MessageBox(fe.what()); //" << fe.what() <<

133、; '\n';</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  CDlgDel ed; //聲明查詢對(duì)話框?qū)ο?lt;/p><p>  if(ed.DoModal()==IDOK)//調(diào)用查詢對(duì)話框</p>

134、<p><b>  {</b></p><p>  char line[4][101];</p><p><b>  int a[4];</b></p><p>  int flag=0;</p><p>  CClientDC dc(this);</p><p>

135、  for(int i=0;i<4;i++)</p><p><b>  {</b></p><p>  infile.getline(line[i],100); //從文件讀入人員信息</p><p>  CString c_str,name_str;</p><p>  c_str.Format("%

136、s",line[i]); //轉(zhuǎn)換為字符串 </p><p>  name_str=c_str.Left(c_str.Find(','));//提取姓名</p><p>  if(!name_str.Compare(ed.m_Deletedname))//與查詢名比</p><p><b>  {</b

137、></p><p><b>  flag=1;</b></p><p><b>  a[i]=i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  infile.cl

138、ose();</p><p>  if(flag==0) {MessageBox("查詢無此人,請(qǐng)重新輸入!"); return;</p><p><b>  }</b></p><p>  ofstream ofile("employee.txt",ios::out);</p><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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)論