c++程序設計課程設計---職工管理系統(tǒng)說明書_第1頁
已閱讀1頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  C++程序設計課程設計說明書</p><p><b>  職工管理系統(tǒng)</b></p><p>  《C++程序設計》課程設計任務書</p><p>  設計題目:職工信息管理系統(tǒng)</p><p>  一、已知技術參數(shù)或設計前提</p><p>  1、該系統(tǒng)目前能容下50名

2、員工信息。</p><p>  2、每個職工的信息包括:員工編號,姓名,性別,年齡,婚姻情況,學歷,所在部門,所在職務,工作時長,額定工資。</p><p>  3、員工編號是唯一的。</p><p><b>  二、設計內(nèi)容及要求</b></p><p>  1、實現(xiàn)職工信息的數(shù)據(jù)錄入。</p><

3、p>  2、能夠根據(jù)職工的編號,實現(xiàn)對該職工信息的修改。</p><p>  3、實現(xiàn)按職工的編號,所在部門,學歷,年齡進行職工信息的查詢。</p><p>  4、實現(xiàn)按職工編號刪除指定的職工信息。</p><p>  5、能夠以列表方式輸出所有職工信息。</p><p>  6、實現(xiàn)按照需求擴充系統(tǒng)員工數(shù)的容量。</p>

4、<p>  7、通過文件存儲職工信息。</p><p>  8、實現(xiàn)按照年齡段、部門、年齡等輸出職工信息。</p><p>  9、用類實現(xiàn)以上功能。</p><p>  三、課程設計工作計劃</p><p>  1、了解課程設計大綱的要求,確定題目,成立設計小組。(10月13—10月16)</p><p&g

5、t;  2、上網(wǎng)查閱資料,確定程序所包含的內(nèi)容,進行問題分析,制定方案。(10月17—10月25)</p><p>  3、確定成員分工,根據(jù)方案編寫程序并進行調(diào)試(10月25—10月30)</p><p>  4、撰寫設計說明書,完成設計(11月1—11月10)</p><p>  5、對說明書及程序中存在的不足進行修改。(11月10—11月19)</p&g

6、t;<p>  6、提交設計內(nèi)容,答辯(11月20—11月25)</p><p>  四、相關教材及參考書目</p><p>  [1] 陳文宇,張松梅編著.C++語言教程.電子科技大學出版社,2004</p><p>  [2] 張耀仁著,徹底研究.C++程序設計.中國鐵道出版社,2006</p><p>  [3] Cay

7、Horstmann著.C++核心思想.電子工業(yè)大學出版社,2004</p><p>  [4] 譚正浩著.C++面向對象程序設計.清華大學出版社,2006</p><p>  [5] (美)埃爾克著.C++編程思想.機械工業(yè)出版社,2005</p><p><b>  指導教師簽字:</b></p><p><b&

8、gt;  職工管理系統(tǒng)</b></p><p><b>  一、需求分析</b></p><p>  步入21世紀的中國經(jīng)濟越來越發(fā)達,務工人員越來越多,這就直接導致對員工的管理越來越難,本程序的設計是為了幫組工廠、公司的人員進行智能化的管理。</p><p>  隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統(tǒng)的實施在技術

9、上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統(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)共有五個功能模塊,錄入職工信息功能模塊、查詢職工信息功能模塊、刪除職工信息功能模塊、顯示功能模塊、刪除職工信息模塊和修改職工信息功能模塊。其中查詢信息模塊有分按職工所在部門查詢、按職工學歷查詢、按職工年齡查詢和、職工編號查詢和輸出全體員工信息。</p>

11、;<p>  圖1 系統(tǒng)功能模塊圖</p><p><b>  四、程序設計分析</b></p><p><b>  1 、類結構</b></p><p>  (1)、職工類Employee</p><p>  該類的對象是公司里的每一個員工,是該系統(tǒng)當中最主要的數(shù)據(jù)。</p&g

12、t;<p>  數(shù)據(jù)成員:姓名(Ename[N]) 、職工編號(Enum[N])、性別(Esex[N])、年齡(Eage[N])、婚姻狀況(Emarriage[N])、學歷(Edegree[N])、工作部門(Edepart[N])、職工職位(Eposition[N])、工時(Etime[N])、工薪(Epay[N])。</p><p>  成員函數(shù):void NewInfo();新信息錄入函數(shù)(采集

13、職工信息),其中運用了while語句來判斷輸入數(shù)據(jù)的合法性。void ShowInfo();信息顯示函數(shù)(顯示所有職工的信息或按要求顯示職工信息),其中運用了switch語句if語句和for循環(huán)語句來實現(xiàn)。void RefreshInfo();修改員工信息的函數(shù)(修改職工信息),其中運用了for循環(huán)語句,if判斷語句和while語句來實現(xiàn)的。voidDeleteInfo();刪除員工數(shù)據(jù)的函數(shù)(刪除職工信息),其中運用了for循環(huán)語句先

14、查找到要刪除的職工信息,再運用if判斷語句對查找到的職工信息進行處理。</p><p> ?。?)、職工數(shù)據(jù)類DBOperate</p><p>  該類的對象為系統(tǒng)數(shù)據(jù)文件,完成對員工信息的保存和讀取。</p><p>  數(shù)據(jù)成員:姓名(Ename[N])、職工編號(Enum[N])、性別(Esex[N])、年齡(Eage[N])、婚姻狀況(Emarriage[

15、N])、學歷(Edegree[N])、工作部(Edepart[N])、職工職位(Eposition[N])、工時、工薪(Epay[N])。</p><p>  成員函數(shù):void WriteIn(int iflag); 數(shù)據(jù)寫入函數(shù),其中運用了for循環(huán)語句來實現(xiàn)。void ReadOut();數(shù)據(jù)讀出函數(shù),其中運用了for循環(huán)語句來實現(xiàn)。</p><p><b>  2 、模塊

16、設計分析</b></p><p><b>  (1)、主函數(shù):</b></p><p>  創(chuàng)建職工類對象e和職工數(shù)據(jù)類對象dbo。</p><p>  (2)、錄入職工數(shù)據(jù):</p><p>  對職工的信息進行采集,調(diào)用void NewInfo();函數(shù)采集職工信息 ,然后將數(shù)據(jù)存入職工數(shù)據(jù)類(DBOpe

17、rate)的對象dbo中,其中運用到了while語句來判斷輸入數(shù)據(jù)的合法性。</p><p>  (3)、查詢職工數(shù)據(jù):</p><p>  調(diào)用職工數(shù)據(jù)類(DBOperate)的成員函數(shù)(void ReadOut();)打開一個名為"Employee"的txt的文本文檔,然后調(diào)用職工類(Employee)的成員函數(shù)(void ShowInfo();)進行查找或者顯示全

18、部職工信息,其中運用了for循環(huán)語句查找所需職工的信息。</p><p>  (4)、修改職工數(shù)據(jù)</p><p>  調(diào)用職工類(Employee)的成員函數(shù)(void RefreshInfo()),輸入職工的編號進行查找,然后進行修改,其中運用了for循環(huán)語句來查找所要修改的職工信息。 </p><p>  (5)、刪除職工數(shù)據(jù):</p><

19、p>  調(diào)用職工類(Employee)的成員函數(shù)(void DeleteInfo()),輸入職工的編號刪除,其中運用了for循環(huán)語句來查找所要修改的職工信息。 </p><p><b>  五、使用說明</b></p><p><b>  1、系統(tǒng)的啟動</b></p><p>  首先,置入光盤,打開光盤,雙擊“職

20、工管理系統(tǒng).exe”文件,出現(xiàn)職工管理系統(tǒng)主界面,如圖2所示,出現(xiàn)系統(tǒng)主界面圖,說明啟動成功。</p><p>  圖2 職工管理系統(tǒng)主界面圖</p><p><b>  2、錄入功能</b></p><p>  根據(jù)提示分別錄入職工的姓名、年齡、學歷、性別、所在部門、工作時長、婚姻狀況等信息,如圖3所示的界面圖。</p><

21、;p>  圖3 錄入功能界面圖</p><p><b>  3、查詢和統(tǒng)計功能</b></p><p>  輸入數(shù)字“1”就會顯示全部職工的信息;輸入數(shù)字“2”就會出現(xiàn)提示“請輸入要查詢的職工所在的部門編號”然后輸入部門編號就會顯示該部門所有職工的信息;輸入數(shù)字“3”就會出現(xiàn)提示“請輸入要查詢的職工的學歷的編號”然后輸入每個學歷所對應的編號就會顯示擁有該學歷的所

22、有的職工的信息;輸入數(shù)字“4”就會提示“請輸入要查詢的年齡范圍”然后輸入要查詢的范圍就會顯示該年齡段的所有的職工的信息;輸入數(shù)字“4”就會出現(xiàn)提示“請輸入要查詢的職工的編號”然后輸入編號就會出現(xiàn)該職工的信息,如圖4所示。</p><p>  圖4 查詢和統(tǒng)計功能界面圖</p><p><b>  4、修改功能</b></p><p>  輸入要

23、修改的職工的編號,就可以開始修改該職工的信息,修改完后會顯示修改成功。如圖5所示。</p><p>  圖5 修改功能界面圖</p><p>  5、刪除職工信息功能模塊</p><p>  如圖6所示,輸入職工的編號,就會提示是否刪除該職工的信息,如果要刪除就輸入Y,如不需要刪除就輸入N,刪除后就會提示刪除成功。</p><p>  圖6

24、刪除功能界面圖</p><p><b>  六、結束語</b></p><p>  經(jīng)過幾天艱辛的努力和不懈的奮斗我們這個小組終于把這個程序調(diào)試出來了,由于我們的基礎知識不夠好所以在編譯和調(diào)試的過程中我們遇到了很多的問題,但是我們從來沒有想過放棄,我們彼此鼓勵,去圖書館查閱資料,去詢問老師,然后再編譯在調(diào)試再修改……。</p><p>  這個

25、程序的成功之處在于它的功能齊全,它不但能錄入、修改、刪除,還在于擁有靈活的查詢功能,能通過輸入職工號查詢、輸入所在部門查詢、輸入學歷查詢、輸入年齡查詢等等。</p><p>  通過這次的程序設計我發(fā)現(xiàn)了我們小組的成員對指針、字符數(shù)組、類和文件操作掌握的不是很好,因此我們這個小組在程序設計的時候對指針的運用很少,這也就成了這個程序最大的不足之處,需要改進。這個程序還有一個不足的地方就是在類的時候那塊沒有設置私有成

26、員,這樣便導致任何函數(shù)都能訪問類的成員,這個地方同樣需要改進。</p><p><b>  七、參考文獻</b></p><p>  [1] 陳文宇,張松梅編著.C++語言教程.電子科技大學出版社,2004</p><p>  [2] 張耀仁著.徹底研究C++程序設計.中國鐵道出版社,2006</p><p>  [3]

27、 Cay Horstmann著.C++核心思想.電子工業(yè)大學出版社,2004</p><p>  [4] 譚正浩著.C++面向對象程序設計.清華大學出版社,2006</p><p>  [5] (美)埃爾克著.C++編程思想.機械工業(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]; //編號</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]; //學歷</p><p>  int Eworktime[N]; //工作時</p><p>  float Epay[N]; //工薪</p><p>  class Employee //定義職工的

32、一個類</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); //顯示員工的學歷函數(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)存儲的人數(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<<"新員工編號:"<<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<<"新員工學歷,請輸入相應學歷的序號: "<<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、請重新輸入:"<<endl; </p><p>  cout<<" [1:初中 2:高中 3:本科 4:碩士 5:博士]"; </p><p>  cin>>Employee::Employeedegree; </p><p><b>  } </b></p>&l

51、t;p>  cout<<"新員工所在部門,請輸入相應部門的序號:"<<endl; </p><p>  cout<<" [1:董事會 2:市場部 3:公關部 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<<"輸入有誤,請重新輸入:"<<endl; </p><p>  cout<<" [1:董事會 2:市場部 3:公關部 4:客服中心 5:信息中心] "; </p><p>  cin>>Employ

54、ee::Employeedepart; </p><p><b>  } </b></p><p>  cout<<"新員工職位, 請輸入相應職位的序號: "<<endl; </p><p>  cout<<" [1:臨時職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長]

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<<"輸入有誤,請重新輸入:"<<endl; </p><p>  cout<&

57、lt;" [1:臨時職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長] "; </p><p>  cin>>Employee::Employeeposition; </p><p><b>  } </b></p><p>  cout<<"新員工的工作時(不需要輸入單位): &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<<" 請選擇顯示方式:"<<endl; </p><p>  cout<<"***************************"<<endl; </p><p>  cout<<"

65、;* 職工信息全輸出-------- 1*"<<endl; </p><p>  cout<<"* 按職工部門輸出-------- 2*"<<endl; </p><p>  cout<<"* 按職工學歷輸出-------- 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<<"請輸入要查詢職工的部門編號: [1:董事會 2:市場部 3:公關部 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<<"請輸入要查詢職工的學歷編號: [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<<"請輸入要查詢的年齡范圍: "; </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<<"出錯啦! "<<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<<"* 請輸入要查詢的員工編號 *"<<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<<"董事會的成員有: >"<<endl; </p><p><b>  break; </b></p><p><

80、b>  case 2:</b></p><p>  cout<<"市場部的成員有: >"<<endl; </p><p><b>  break; </b></p><p><b>  case 3: </b></p><p>  

81、cout<<"公關部的成員有: >"<<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<<"輸入錯誤!>"<<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) //按員工學歷輸出函數(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<<"初中學歷的員工有:"<<endl;</p><p><b>  break; </b></p><

88、;p><b>  case 2:</b></p><p>  cout<<"高中學歷的員工有:"<<endl;</p><p><b>  break; </b></p><p><b>  case 3:</b></p><p&g

89、t;  cout<<"本科學歷的員工有:"<<endl;</p><p><b>  break; </b></p><p><b>  case 4:</b></p><p>  cout<<"碩士學位的員工有:"<<endl;<

90、;/p><p><b>  break; </b></p><p><b>  case 5:</b></p><p>  cout<<"博士學位的員工有:"<<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) //按員工編號輸出函數(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<<"員工編號 >"<<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<<"學 歷 >"; </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、;"董事會 "<<endl;</p><p><b>  break; </b></p><p><b>  case 2:</b></p><p>  cout<<"市場部 "<<endl;</p><p><b&g

109、t;  break; </b></p><p><b>  case 3:</b></p><p>  cout<<"公關部 "<<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<<"所任職務 >"; </p><p>  switch (Eposition[i]) <

112、/p><p><b>  { </b></p><p><b>  case 1:</b></p><p>  cout<<"臨時成員 "<<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<<"董事長 "<<endl;</p><p><b>  break; </b></p><p><b&g

116、t;  } </b></p><p>  cout<<"工作時長 >"<<Eworktime[i]<<"小時"<<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<<"請輸入您要修改的員工編號: >"; </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<<"請輸入該

122、員工的新信息: "<<endl; </p><p>  cout<<"新員工姓名: "; //錄入員工的新的數(shù)據(jù),員工號保持不變 </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<<"新員工學歷,請輸入相應學歷的序號:"<<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<<"輸入有誤,請重新輸入:"<<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<<"新員工所在部門,請輸入相應部門的序號: "<<endl; </p><p>  cout<<" [1:董事會 2:市場部 3:公關部 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<<"輸入有誤,請重新輸入:"<<endl; </p><p>  cout<<" [1:董事會 2:市場部 3:公關部 4:客服中心 5:信息中心] "; </p><p>  cin>>E

132、mployee::Employeedepart; </p><p><b>  } </b></p><p>  Edepart[i] = Employee::Employeedepart; </p><p>  cout<<"新員工職位,請輸入相應職位的序號:"<<endl; </p>

133、<p>  cout<<" [1:臨時職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長] "; </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<<"輸入有誤,請重新輸入:"<

135、<endl; </p><p>  cout<<" [1:臨時職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長] "; </p><p>  cin>>Employee::Employeeposition; </p><p><b>  } </b></p><p&g

136、t;  Eposition[i] = Employee::Employeeposition; </p><p>  cout<<"新員工的工作時 (不需要輸入單位): "; </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<<"請輸入您要刪除的員工編號>: "; </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ù)文件,查找要刪除的員工 </p><p><b>  { &

141、lt;/b></p><p>  if(Enum[i] == cNum) </p><p>  Employee::shownum(cNum); </p><p><b>  } </b></p><p>  cout<<"確認要刪除該員工信息?(Y為確認 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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論