2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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è)職工的信息包括:員工編號(hào),姓名,性別,年齡,婚姻情況,學(xué)歷,所在部門,所在職務(wù),工作時(shí)長,額定工資。</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ì).中國鐵道出版社,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ì)的中國經(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í)長、婚姻狀況等信息,如圖3所示的界面圖。</p><

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

22、有的職工的信息;輸入數(shù)字“4”就會(huì)提示“請輸入要查詢的年齡范圍”然后輸入要查詢的范圍就會(huì)顯示該年齡段的所有的職工的信息;輸入數(shù)字“4”就會(huì)出現(xiàn)提示“請輸入要查詢的職工的編號(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ì).中國鐵道出版社,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é)歷,請輸入相應(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、請重新輸入:"<<endl; </p><p>  cout<<" [1:初中 2:高中 3:本科 4:碩士 5:博士]"; </p><p>  cin>>Employee::Employeedegree; </p><p><b>  } </b></p>&l

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

54、ee::Employeedepart; </p><p><b>  } </b></p><p>  cout<<"新員工職位, 請輸入相應(yīng)職位的序號(hào): "<<endl; </p><p>  cout<<" [1:臨時(shí)職員 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:臨時(shí)職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長] "; </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<<" 請選擇顯示方式:"<<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<<"請輸入要查詢職工的部門編號(hào): [1:董事會(huì) 2:市場部 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<<"請輸入要查詢職工的學(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<<"請輸入要查詢的年齡范圍: "; </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<<"* 請輸入要查詢的員工編號(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<<"市場部的成員有: >"<<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<<"市場部 "<<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<<"董事長 "<<endl;</p><p><b>  break; </b></p><p><b&g

116、t;  } </b></p><p>  cout<<"工作時(shí)長 >"<<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<<"請輸入您要修改的員工編號(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<<"請輸入該

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é)歷,請輸入相應(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<<"輸入有誤,請重新輸入:"<<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<<"新員工所在部門,請輸入相應(yīng)部門的序號(hào): "<<endl; </p><p>  cout<<" [1:董事會(huì) 2:市場部 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<<"輸入有誤,請重新輸入:"<<endl; </p><p>  cout<<" [1:董事會(huì) 2:市場部 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<<"新員工職位,請輸入相應(yīng)職位的序號(hào):"<<endl; </p>

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

最新文檔

評(píng)論

0/150

提交評(píng)論