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

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p>  ****************************</p><p>  課 程 面向?qū)ο笳n程設(shè)計</p><p>  姓 名 </p><p><b>  院 (系) </b></p>

2、;<p><b>  專業(yè)年級 </b></p><p>  學(xué) 號 </p><p><b>  指導(dǎo)教師 </b></p><p>  日 期 </p><p><b>  目 錄</b></p><

3、;p>  1 需求與功能分析1</p><p><b>  2 系統(tǒng)框架圖2</b></p><p>  3 類的設(shè)計與分析2</p><p>  4 非成員函數(shù)的設(shè)計與分析4</p><p>  5 特色算法分析4</p><p>  6 存在的問題及對策8</p>

4、<p>  7 用戶手冊及測試結(jié)果8</p><p>  7.1 用戶手冊8</p><p>  7.2 測試結(jié)果8</p><p><b>  8 心得體會11</b></p><p>  9 附:程序源代碼11</p><p><b>  1 需求與功能分析&

5、lt;/b></p><p>  在信息技術(shù)高速發(fā)展的今天,傳統(tǒng)的數(shù)據(jù)統(tǒng)計方式在處理龐大繁雜的信息量時顯得力不從心,于是,人們對于運用計算機來輔助和管理工作的需求正在逐步提高。</p><p>  隨著各個企業(yè)業(yè)務(wù)的逐步擴展,企業(yè)的員工人數(shù)也在迅速增加,由于管理人員水平有限,導(dǎo)致某些員工紀(jì)錄管理并不完善,特別是繁雜的員工工資管理紀(jì)錄,不易查詢、修改,極易導(dǎo)致錯誤,而落后的員工管理方法

6、隨著社會的日益競爭,必將被淘汰。</p><p>  由計算機來管理龐大而繁雜的企業(yè)員工紀(jì)錄是非常合適的,不僅查詢和修改方便,并且效率高,速度快,完全能夠滿足現(xiàn)代化企業(yè)管理的需要,同時也更利于實現(xiàn)全面辦公自動化。因此開發(fā)一套企業(yè)員工工資管理系統(tǒng)軟件勢在必行。</p><p>  企業(yè)員工工資管理系統(tǒng)是企業(yè)管理系統(tǒng)中的一個重要組成部分,它為企業(yè)合理的員工調(diào)配與編制,以及有關(guān)問題的決策能夠提供

7、各種必要的基礎(chǔ)數(shù)據(jù),是公司管理現(xiàn)代化的一個重要方面。利用微機對龐雜而繁鎖的員工工資系統(tǒng)實現(xiàn)自動化管理,是計算機公司信息管理系統(tǒng)的重要內(nèi)容。我在陳勇老師指導(dǎo)下開發(fā)了《企業(yè)員工工資管理系統(tǒng)》。</p><p>  《企業(yè)員工工資管理系統(tǒng)》旨在為商業(yè)人士及在社會團體、機構(gòu)中負責(zé)管理關(guān)系的人士提供一個功能全面、使用方便的工資管理系統(tǒng),以替代傳統(tǒng)的手工管理工資紀(jì)錄,同時利用先進信息技術(shù)為用戶提供一些更為方便實用的功能。 &

8、lt;/p><p>  本系統(tǒng)實現(xiàn)五種基本功能:輸入員工工資信息、刪除員工工資信息、修改員工工資信息、查找員工工資信息、列出所有員工工資信息。所以該工資管理系統(tǒng)可以分為5個模塊,分別為輸入模塊、刪除模塊、修改模塊、查找模塊、列表模塊,每個模塊都有其對應(yīng)的功能以及其設(shè)計。</p><p><b> ?。?)輸入模塊</b></p><p>  輸入模

9、塊的功能是創(chuàng)建存儲職工工資信息的存儲系統(tǒng)以及添加某職工的工資信息。為實現(xiàn)輸入的功能,有兩個方面的任務(wù):定義結(jié)構(gòu)體以及建立鏈表。</p><p><b> ?。?)刪除模塊</b></p><p>  刪除模塊的功能是刪除某職工的工資信息。</p><p><b>  (3)修改模塊</b></p><p

10、>  修改模塊的功能是修改某職工的部分工資信息。</p><p><b> ?。?)查找模塊</b></p><p>  查找模塊的功能就是輸出指定編號職工的工資信息。</p><p><b> ?。?)列表模塊</b></p><p>  列表模塊的功能是輸出當(dāng)月全體職工的工資信息。<

11、/p><p><b>  2 系統(tǒng)框架圖</b></p><p><b>  圖1 系統(tǒng)框架圖</b></p><p><b>  3 類的設(shè)計與分析</b></p><p>  class Worker</p><p><b>  {</b

12、></p><p>  protected:</p><p>  Worker_pay * head; //鏈表的頭結(jié)點指針</p><p><b>  public:</b></p><p>  Worker(){head=NULL;} //構(gòu)造函數(shù)</p&

13、gt;<p>  void Display(Worker_pay *); //輸出函數(shù) </p><p>  Worker_pay * Find(int); //查找函數(shù)</p><p>  int ListCount(); //統(tǒng)計員工人數(shù)函數(shù) </p>&l

14、t;p>  void AddItem(int,string,int,string,string,string,float,float); //創(chuàng)建鏈表并鏈表的插入</p><p>  void RemoveItem(int); //刪除函數(shù)</p><p>  void ReplaceItem(int); //修改函數(shù)</p>

15、<p>  void ListL(); //遍歷函數(shù) </p><p>  void Search(int); //查找并輸出某個員工信息函數(shù)</p><p>  void Real_wage(float,float); //計算函數(shù)</p><

16、;p>  void Recordinfo(int,string,int,string,string,string,float,float,float,float); //存儲函數(shù)</p><p><b>  };</b></p><p>  表1 Worker類說明表</p><p>  4 非成員函數(shù)的設(shè)計與分析</p>

17、<p>  表2 非成員函數(shù)說明表</p><p><b>  5 特色算法分析</b></p><p>  Worker類中的成員函數(shù)void AddItem(int,···float,float)</p><p>  (1)功能:創(chuàng)建存儲職工工資信息的存儲系統(tǒng)以及添加某職工的工資信息。</p&g

18、t;<p>  算法思路:先定義一個結(jié)構(gòu)體Worker_pay,通過從表尾插入的方法來建立鏈表。首先要先設(shè)立一個頭指針(head)來存放鏈表的首地址,然后,不斷用new運算符生成一個新的結(jié)點,將這個結(jié)點鏈入已有的鏈表尾部;如果鏈表中還沒有結(jié)點,則這個新結(jié)點將是首結(jié)點,否則,將新結(jié)點的地址賦給原有鏈表的尾結(jié)點的next指針。</p><p><b> ?。?)流程圖:</b>&l

19、t;/p><p><b>  圖2 流程圖</b></p><p><b> ?。?)代碼:</b></p><p>  void Worker::AddItem(int num1,string name1,int age1,string sex1,string department1,string title1,float

20、wage1,float allowance1)</p><p><b>  {</b></p><p><b>  if(!head)</b></p><p><b>  {</b></p><p>  head=new Worker_pay;</p><p

21、>  head->num=num1;</p><p>  head->name=name1;</p><p>  head->age=age1;</p><p>  head->sex=sex1;</p><p>  head->department=department1;</p><

22、p>  head->title=title1;</p><p>  head->wage=wage1;</p><p>  head->allowance=allowance1;</p><p>  head->next=NULL;</p><p><b>  return;</b><

23、/p><p><b>  }</b></p><p>  Worker_pay * t=head;</p><p>  while(t&&t->num!=num1)</p><p>  t=t->next;</p><p><b>  if(t)</b>

24、;</p><p><b>  {</b></p><p>  cout<<"操作失??;員工編號為"<<num1<<"的信息已經(jīng)存在!!!"<<endl;</p><p><b>  return;</b></p><

25、;p><b>  }</b></p><p>  Worker_pay * p=head;</p><p>  while(p->next)</p><p>  p=p->next;</p><p>  Worker_pay * p1=new Worker_pay;</p><p&g

26、t;  p1->num=num1;</p><p>  p1->name=name1;</p><p>  p1->age=age1;</p><p>  p1->sex=sex1;</p><p>  p1->department=department1;</p><p>  p1-&g

27、t;title=title1;</p><p>  p1->wage=wage1;</p><p>  p1->allowance=allowance1;</p><p>  p1->next=NULL;</p><p>  p->next=p1;</p><p><b>  retu

28、rn;</b></p><p><b>  }</b></p><p>  6 存在的問題及對策</p><p>  (1)設(shè)計初期,先完成初步構(gòu)思,寫出主函數(shù)。然后對主函數(shù)所涉及的各個模塊進行編程,將各個模塊利用指針和鏈表聯(lián)系起來。在環(huán)境中進行調(diào)試,應(yīng)一邊編譯,一邊調(diào)試,并且要一個模塊一個模塊的調(diào)試。直至此模塊完全沒有錯誤時,在進

29、入下一模塊的調(diào)試。不能直接輸入全部的代碼一次性調(diào),這樣錯誤會很多,并且不易找出和修改。在完成程序的編譯鏈接后,要用多組數(shù)據(jù)進行審查,確保做到系統(tǒng)無誤。</p><p>  設(shè)計過程中,不應(yīng)忽視環(huán)境提示的警告,有時程序運行不正確與警告也有很大的關(guān)系。這次設(shè)計中遇到很多問題都是提示類型不匹配,這時就要認真檢查前面的代碼,及時改正并且認真仔細,杜絕此類錯再次發(fā)生。</p><p>  編寫代碼時

30、應(yīng)該少用全局變量,全局變量在編寫試看似定義次數(shù)少,很方便。但全局變量出錯幾率較大,且不易修改,每次修改時都要全面考慮,所以應(yīng)避免用到。</p><p>  程序調(diào)試中碰到的錯誤可以使自己學(xué)到知識。養(yǎng)成良好的編程習(xí)慣,可以節(jié)省很多時間,避免很多不必要的錯誤。</p><p> ?。?)在編輯完整個程序后,進行調(diào)試階段總是會數(shù)顯head無定義。</p><p>  解決

31、辦法:再類的定義是忘記聲明指針Worker_pay *head;。</p><p>  7 用戶手冊及測試結(jié)果</p><p><b>  7.1 用戶手冊</b></p><p>  運行程序時,界面剛開始出現(xiàn)一個主菜單及提示信息,用戶通過在鍵盤上輸入來選擇某個功能。當(dāng)用戶選擇了某個功能,系統(tǒng)將跳轉(zhuǎn)到所選擇的功能界面,用戶將可以根據(jù)提示信息來

32、使用該功能,當(dāng)用戶通過鍵盤輸入編號為-1時,系統(tǒng)將返回主界面。</p><p><b>  7.2 測試結(jié)果</b></p><p><b>  圖3 系統(tǒng)主界面</b></p><p>  圖4 輸入員工信息測試圖</p><p>  圖5 刪除員工信息測試圖</p><p&g

33、t;  圖6 修改員工信息測試圖</p><p>  圖7 查找員工信息測試圖</p><p>  圖8 輸出全體員工信息測試圖</p><p>  圖9 退出系統(tǒng)測試圖</p><p><b>  8 心得體會</b></p><p>  經(jīng)過兩周的C++課程設(shè)計,我對C++語言設(shè)計有了一個更深

34、、更全面的了解,尤其體會到了C++面向?qū)ο蟛僮鲗喕绦虻闹匾饔?。下面是我的幾點體會:</p><p>  ①剛拿到課題時,我一臉的茫然,看到如此龐大的工程,不知如何下手。這個工資管理系統(tǒng)中職工子信息竟然包含15條,以前從來沒有遇到過如此多的變量。和同學(xué)討論很久好,我發(fā)現(xiàn)其實可以化繁為簡的,信息中15條不一定全都要,因為其中本身就有重復(fù)的,例如津貼和補貼。并且可以有一個pay的數(shù)組來處理數(shù)據(jù)。所以做任何事情都必

35、須要開動腦筋,積極思考,有時還要學(xué)會化繁為簡。</p><p> ?、谠诰幊虝r條理清晰是至關(guān)重要的。主函數(shù),函數(shù),成員函數(shù)之間的層次關(guān)系,調(diào)用關(guān)系一定要有一個全面的把握,尤其要體會類的封裝性。另外很重要的一點就是一定要對鏈表的五種操作熟練的掌握。</p><p> ?、墼诰幾g,鏈接,調(diào)試的過程中一定要有耐心。因為一個程序中會有很多小的錯誤,甚至有的問題要幾個小時才能解決。遇到問題,一定要全

36、面分析,有時候還要向同學(xué)請教??偟脕碚f,編程時極需要耐心的。</p><p>  總之,C++課程設(shè)計為我們提供了一個綜合應(yīng)用所學(xué)知識,解決實際問題的平臺,增強了我們實踐動手的能力和工程實踐能力,并且鍛煉和培養(yǎng)了我們的自學(xué)能力,讓我們對C++有了一個更全面的了解。</p><p><b>  9 附:程序源代碼</b></p><p>  /*

37、****************************************************/</p><p>  #include<iostream></p><p>  #include<string></p><p>  #include<fstream></p><p>  #inclu

38、de<iomanip></p><p>  using namespace std;</p><p>  /*****************************************************/</p><p>  /*定義一個員工信息的結(jié)構(gòu)體Worker_pay*/</p><p>  struct Wor

39、ker_pay</p><p><b>  {</b></p><p>  int num; //員工編號</p><p>  string name; //員工姓名</p><p>  int age; //年齡</p><p&g

40、t;  string sex; //性別</p><p>  string department; //部門</p><p>  string title; //職務(wù)</p><p>  float wage; //工資</p><p>  float allowance;

41、 //津貼</p><p>  float tax; //個人所得稅</p><p>  float real_wage; //實發(fā)數(shù)</p><p>  Worker_pay * next; //鏈表結(jié)點的指針域</p><p><b>  };</b></p>&

42、lt;p>  /*****************************************************/</p><p>  /*定義一個員工類Worker*/</p><p>  class Worker</p><p><b>  {</b></p><p>  protected:<

43、/p><p>  Worker_pay * head; //鏈表的頭結(jié)點指針</p><p><b>  public:</b></p><p>  Worker(){head=NULL;} //構(gòu)造函數(shù)</p><p>  void Display(Worker_pa

44、y *); //輸出函數(shù) </p><p>  Worker_pay * Find(int); //查找函數(shù)</p><p>  int ListCount(); //統(tǒng)計員工人數(shù)函數(shù) </p><p>  void AddItem(int,string,int,s

45、tring,string,string,float,float); //創(chuàng)建鏈表并鏈表的插入</p><p>  void RemoveItem(int); //刪除函數(shù)</p><p>  void ReplaceItem(int); //修改函數(shù)</p><p>  void ListL();

46、 //遍歷函數(shù) </p><p>  void Search(int); //查找并輸出某個員工信息函數(shù)</p><p>  void Real_wage(float,float); //計算函數(shù)</p><p>  void Recordinfo(int,string,

47、int,string,string,string,float,float,float,float); //存儲函數(shù)</p><p><b>  };</b></p><p>  /*****************************************************/</p><p>  //功能:用于統(tǒng)計員工人數(shù)</

48、p><p>  int Worker::ListCount()</p><p><b>  {</b></p><p>  if(!head) </p><p><b>  return 0;</b></p><p>  Worker_pay * p=head;</p>

49、;<p><b>  int n=0;</b></p><p><b>  while(p)</b></p><p><b>  {</b></p><p><b>  n++;</b></p><p>  p=p->next;<

50、/p><p><b>  }</b></p><p><b>  return n;</b></p><p><b>  }</b></p><p>  /*****************************************************/</p>

51、;<p>  //功能:在鏈表中查找員工的編號</p><p>  Worker_pay * Worker::Find(int num)</p><p><b>  {</b></p><p>  if(ListCount==0)</p><p><b>  {</b></p&g

52、t;<p>  cout<<"列表為空,請先輸入數(shù)據(jù)!!!"<<endl;</p><p>  return NULL;</p><p><b>  }</b></p><p>  Worker_pay * p=head;</p><p><b>  w

53、hile(p)</b></p><p><b>  {</b></p><p>  if(p->num==num) </p><p><b>  break;</b></p><p>  p=p->next;</p><p><b>  }&

54、lt;/b></p><p><b>  if(!p)</b></p><p><b>  {</b></p><p>  cout<<"錯誤,找不到該信息!!!"<<endl;</p><p>  return NULL;</p>&

55、lt;p><b>  }</b></p><p><b>  return p;</b></p><p><b>  }</b></p><p>  /*****************************************************/</p><p&

56、gt;  //功能:創(chuàng)建鏈表及鏈表的插入</p><p>  void Worker::AddItem(int num1,string name1,int age1,string sex1,string department1,string title1,float wage1,float allowance1)</p><p><b>  {</b></p&g

57、t;<p><b>  if(!head)</b></p><p><b>  {</b></p><p>  head=new Worker_pay;</p><p>  head->num=num1;</p><p>  head->name=name1;</p&

58、gt;<p>  head->age=age1;</p><p>  head->sex=sex1;</p><p>  head->department=department1;</p><p>  head->title=title1;</p><p>  head->wage=wage1;&l

59、t;/p><p>  head->allowance=allowance1;</p><p>  head->next=NULL;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  Worker_pay *

60、 t=head;</p><p>  while(t&&t->num!=num1)</p><p>  t=t->next;</p><p><b>  if(t)</b></p><p><b>  {</b></p><p>  cout<

61、;<"操作失??;員工編號為"<<num1<<"的信息已經(jīng)存在!!!"<<endl;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  Worker_pay * p=head;<

62、;/p><p>  while(p->next)</p><p>  p=p->next;</p><p>  Worker_pay * p1=new Worker_pay;</p><p>  p1->num=num1;</p><p>  p1->name=name1;</p>&

63、lt;p>  p1->age=age1;</p><p>  p1->sex=sex1;</p><p>  p1->department=department1;</p><p>  p1->title=title1;</p><p>  p1->wage=wage1;</p><p&

64、gt;  p1->allowance=allowance1;</p><p>  p1->next=NULL;</p><p>  p->next=p1;</p><p><b>  return;</b></p><p><b>  }</b></p><p&

65、gt;  /*****************************************************/</p><p>  //功能:從鏈表中刪除一個結(jié)點</p><p>  void Worker::RemoveItem(int num)</p><p><b>  {</b></p><p>  W

66、orker_pay * t=Find(num);</p><p><b>  if(!t)</b></p><p><b>  return;</b></p><p>  Worker_pay * p=head;</p><p>  if(head=t)</p><p>&l

67、t;b>  {</b></p><p>  head=head->next;</p><p><b>  delete p;</b></p><p>  cout<<"成功刪除員工編號為"<<num<<"的信息!"<<endl;<

68、;/p><p><b>  return;</b></p><p><b>  }</b></p><p>  while(p->next!=t)</p><p>  p=p->next;</p><p>  Worker_pay * p1=p->next;&l

69、t;/p><p>  p->next=p1->next;</p><p>  delete p1;</p><p>  cout<<"成功刪除員工編號為"<<num<<"的信息!"<<endl;</p><p><b>  return;

70、</b></p><p><b>  }</b></p><p>  /*****************************************************/</p><p>  //功能:修改員工信息</p><p>  void Worker::ReplaceItem(int num

71、)</p><p><b>  {</b></p><p>  Worker_pay * p=Find(num);</p><p><b>  if(!p)</b></p><p><b>  return;</b></p><p>  cout<

72、<"請重新輸入相應(yīng)信息"<<endl;</p><p>  cout<<"員工編號:";</p><p>  cin>>p->num;</p><p>  cout<<"員工姓名:";</p><p>  cin>&g

73、t;p->name;</p><p>  cout<<"年齡:";</p><p>  cin>>p->age;</p><p>  cout<<"性別:";</p><p>  cin>>p->sex;</p><p

74、>  cout<<"部門:";</p><p>  cin>>p->department;</p><p>  cout<<"職務(wù):";</p><p>  cin>>p->title;</p><p>  cout<<&qu

75、ot;工資(元):";</p><p>  cin>>p->wage;</p><p>  cout<<"津貼(元):";</p><p>  cin>>p->allowance;</p><p><b>  return;</b></p

76、><p><b>  }</b></p><p>  /*****************************************************/</p><p>  //功能:輸出員工信息</p><p>  void Worker::Display(Worker_pay * p)</p>

77、<p><b>  {</b></p><p>  cout<<p->num<<setw(8)<<p->name<<setw(8)<<p->age<<setw(8)<<p->sex<<setw(8)<<p->department<<s

78、etw(8)</p><p>  <<p->title<<setw(8)<<p->wage<<setw(8)<<p->allowance<<setw(8)<<p->tax<<setw(8)<<p->real_wage<<endl;</p><p&

79、gt;<b>  return;</b></p><p><b>  }</b></p><p>  /*****************************************************/</p><p><b>  //功能:遍歷鏈表</b></p><p

80、>  void Worker::ListL()</p><p><b>  {</b></p><p>  float sum=0;</p><p>  float aver=0;</p><p><b>  int n=0;</b></p><p>  if(List

81、Count==0)</p><p><b>  {</b></p><p>  cout<<"當(dāng)前列表為空,請先輸入數(shù)據(jù)!"<<endl;</p><p><b>  return;</b></p><p><b>  }</b>&l

82、t;/p><p>  Worker_pay * p=head;</p><p>  cout<<"**********************************員工信息**************************************"<<endl;</p><p>  cout<<"共有

83、"<<ListCount()<<"個員工信息"<<endl;</p><p>  cout<<"員工編號 員工姓名 年齡 性別 部門 職務(wù) 工資 津貼 個稅 實發(fā)數(shù)"<<endl;</p><p><b>  while(p)&l

84、t;/b></p><p><b>  {</b></p><p>  Display(p);</p><p><b>  n++;</b></p><p>  sum+=p->wage;</p><p>  p=p->next;</p>&l

85、t;p><b>  }</b></p><p>  aver=sum/n;</p><p>  cout<<"員工平均薪水:"<<aver<<endl;</p><p><b>  return;</b></p><p><b>

86、;  }</b></p><p>  /*****************************************************/</p><p>  //功能:查找并輸出指定員工信息</p><p>  void Worker::Search(int num)</p><p><b>  {</

87、b></p><p>  cout<<"Search......"<<endl;</p><p>  Worker_pay * p=Find(num);</p><p><b>  if(p)</b></p><p><b>  {</b></

88、p><p>  cout<<"員工編號為"<<num<<"的員工工資信息:"<<endl;</p><p>  cout<<"員工編號 員工姓名 年齡 性別 部門 職務(wù) 工資 津貼 個稅 實發(fā)數(shù)"<<endl;</p

89、><p>  Display(p);</p><p><b>  }</b></p><p>  cout<<endl;</p><p><b>  return;</b></p><p><b>  }</b></p><p

90、>  /*****************************************************/</p><p>  //功能:程序內(nèi)部函數(shù)計算的信息例如個人所得稅,實發(fā)數(shù)</p><p>  void Worker::Real_wage(float tax,float real_wage)</p><p><b>  {<

91、/b></p><p>  if(ListCount()==0)</p><p><b>  {</b></p><p>  cout<<"當(dāng)前列表為空,請先輸入數(shù)據(jù)!"<<endl;</p><p><b>  return;</b></p&

92、gt;<p><b>  }</b></p><p>  Worker_pay * p=head;</p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  if(p->wage<=2000)&l

93、t;/p><p><b>  p->tax=0;</b></p><p>  else if(p->wage>2000&&p->wage<=2500)</p><p>  p->tax=p->wage*0.05;</p><p>  else if(p->wag

94、e>2500&&p->wage<=4000)</p><p>  p->tax=p->wage*0.1-25;</p><p>  else if(p->wage>4000&&p->wage<=7000)</p><p>  p->tax=p->wage*0.15-12

95、5;</p><p>  else if(p->wage>7000&&p->wage<=22000)</p><p>  p->tax=p->wage*0.2-375;</p><p>  else if(p->wage>22000&&p->wage<=42000)</

96、p><p>  p->tax=p->wage*0.25-1375;</p><p>  else if(p->wage>42000&&p->wage<=62000)</p><p>  p->tax=p->wage*0.3-3375;</p><p>  else if(p->

97、wage>62000&&p->wage<=82000)</p><p>  p->tax=p->wage*0.35-6375;</p><p>  else if(p->wage>82000&&p->wage<=102000)</p><p>  p->tax=p->w

98、age*0.4-10375;</p><p>  else p->tax=p->wage*0.45-15375;</p><p>  p->real_wage=p->wage+p->allowance-p->tax;</p><p>  p=p->next;</p><p><b>  }&

99、lt;/b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  /*****************************************************/</p><p>  //功能:存儲員工信息</p&

100、gt;<p>  void Worker::Recordinfo(int num1,string name1,int age1,string sex1,string department1,string title1,float wage1,float allowance1,float tax1,float real_wage1)</p><p><b>  { </b>&

101、lt;/p><p>  ofstream file1("info1.txt",ios::app);</p><p>  file1<<"員工編號:"<<num1<<" 員工姓名:"<<name1<<" 年齡:"<<age1<<&qu

102、ot; 性別:"<<sex1<<" 部門:"<<department1<<" 職務(wù):"<<title1</p><p>  <<" 工資(元):"<<wage1<<" 津貼(元):"<<allowance1<&l

103、t;" 個人所得稅(元):"<<tax1<<" 實發(fā)數(shù)(元):"<<real_wage1<<endl;</p><p>  file1.close();</p><p><b>  } </b></p><p>  /********************

104、*********************************/</p><p>  /*定義一個對象Worker1*/</p><p>  Worker Worker1; </p><p>  /*****************************************************/ </p><p>  /*主

105、菜單函數(shù)*/ </p><p>  int Menu() </p><p><b>  {</b></p><p>  cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

106、~\t"<<endl;</p><p>  cout<<"\t\t~ 企業(yè)員工工資管理系統(tǒng) \t~"<<endl;</p><p>  cout<<"\t\t~ *******主菜單******* \t~"<<en

107、dl;</p><p>  int n=1,select=-1;</p><p>  cout<<"\t\t~ "<<n++<<".輸入員工信息 \t\t~"<<endl;</p><p>  cout<<"\t\t~

108、 "<<n++<<".刪除指定員工編號信息\t\t~"<<endl;</p><p>  cout<<"\t\t~ "<<n++<<".修改指定員工編號信息\t\t~"<<endl;</p><p>  

109、cout<<"\t\t~ "<<n++<<".查找指定員工編號信息\t\t~"<<endl;</p><p>  cout<<"\t\t~ "<<n++<<".輸出全體員工信息\t\t\t~"<<

110、endl;</p><p>  cout<<"\t\t~ 0.退出\t\t\t\t~"<<endl;</p><p>  cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\t\t"<<endl;</p&g

111、t;<p>  cout<<"[請選擇0—5(輸入相應(yīng)數(shù)字)]:";</p><p>  cin>>select;</p><p>  return select;</p><p><b>  }</b></p><p>  /******************

112、***********************************/</p><p><b>  //功能:退出程序</b></p><p>  char Exit() </p><p><b>  {</b></p><p><b>  char

113、s;</b></p><p>  cout<<"確定要退出程序嗎?[Y/N]:";</p><p><b>  cin>>s;</b></p><p><b>  return s;</b></p><p><b>  }</b

114、></p><p>  /*****************************************************/</p><p>  //功能:輸入員工信息</p><p>  void Input(int * num,string * name,int * age,string * sex,string * department,str

115、ing * title,float * wage,float * allowance) </p><p><b>  {</b></p><p>  cout<<"現(xiàn)在輸入員工信息!"<<endl;</p><p>  cout<<"員工編號:";

116、</p><p>  cin>>* num;</p><p>  if(* num==-1)return;</p><p>  cout<<"員工姓名:";</p><p>  cin>>* name;</p><p>  cout<<"年齡

117、:";</p><p>  cin>>* age;</p><p>  cout<<"性別:";</p><p>  cin>>* sex;</p><p>  cout<<"部門:";</p><p>  cin>

118、>* department;</p><p>  cout<<"職務(wù):";</p><p>  cin>>* title;</p><p>  cout<<"工資(元):";</p><p>  cin>>* wage;</p><

119、;p>  cout<<"津貼(元):";</p><p>  cin>>* allowance;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  /*******************

120、**********************************/</p><p>  //功能:把員工信息插入到鏈表中</p><p>  void AddNew() </p><p><b>  {</b></p><p>  int num=0;</p>&l

121、t;p>  string name;</p><p>  int age=0;</p><p>  string sex;</p><p>  string department;</p><p>  string title;</p><p>  float wage=0;</p><p&g

122、t;  float allowance=0;</p><p>  float tax=0;</p><p>  float real_wage=0;</p><p>  cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p>  Input(&num,&n

123、ame,&age,&sex,&department,&title,&wage,&allowance);</p><p>  while(num!=-1)</p><p><b>  {</b></p><p>  Worker1.AddItem(num,name,age,sex,departmen

124、t,title,wage,allowance);</p><p>  Worker1.Real_wage(tax,real_wage);</p><p>  Worker1.Recordinfo(num,name,age,sex,department,title,wage,allowance,tax,real_wage);</p><p>  Input(&

125、num,&name,&age,&sex,&department,&title,&wage,&allowance);</p><p><b>  }</b></p><p>  cout<<"員工工資信息已成功存儲!!!"<<endl;</p><p&

126、gt;<b>  return;</b></p><p><b>  }</b></p><p>  /*****************************************************/</p><p>  //功能:查找指定員工編號信息</p><p>  void Do

127、Find() </p><p><b>  {</b></p><p><b>  int num;</b></p><p>  cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p><b>

128、;  do{</b></p><p>  cout<<"請輸入要查找的員工的編號:";</p><p><b>  cin>>num;</b></p><p>  if(num==-1)continue;</p><p>  Worker1.Search(num);

129、</p><p>  }while(num!=-1);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  /*****************************************************/</p>

130、<p>  //功能:刪除指定員工編號信息</p><p>  void DoDelete() </p><p><b>  {</b></p><p>  cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p&g

131、t;<b>  int num;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  cout<<"請輸入要刪除的員工的編號:";</p><p><b>  cin>&g

132、t;num;</b></p><p>  if(num==-1)continue;</p><p>  Worker1.RemoveItem(num);</p><p>  cout<<"已成功刪除該員工信息!!!"<<endl;</p><p>  }while(num!=-1);&l

133、t;/p><p><b>  return;</b></p><p><b>  }</b></p><p>  /*****************************************************/</p><p>  //功能:修改指定員工編號信息</p>&l

134、t;p>  void DoMotify() </p><p><b>  {</b></p><p>  cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p><b>  int num;</b></p>&

135、lt;p><b>  do</b></p><p><b>  {</b></p><p>  cout<<"請輸入要修改的員工的編號:";</p><p><b>  cin>>num;</b></p><p>  if(nu

136、m==-1)continue;</p><p>  Worker1.ReplaceItem(num);</p><p>  }while(num!=-1);</p><p>  cout<<"已成功修改該員工信息!!!"<<endl;</p><p><b>  return;</b

137、></p><p><b>  }</b></p><p>  /*****************************************************/</p><p>  //功能:輸出全體員工信息</p><p>  void List() </p>

138、<p><b>  {</b></p><p>  Worker1.ListL();</p><p><b>  }</b></p><p>  /*****************************************************/</p><p><b&

139、gt;  /*主函數(shù)*/</b></p><p>  int main() </p><p><b>  {</b></p><p>  int select;</p><p><b>  char s;</b></p><p>

140、;<b>  while(1)</b></p><p><b>  {</b></p><p>  select=Menu();</p><p>  switch(select)</p><p><b>  {</b></p><p><b>

141、  case 0:</b></p><p><b>  s=Exit();</b></p><p>  if(s=='y'||s=='Y')return 0;</p><p><b>  break;</b></p><p><b>  case

142、 1:</b></p><p><b>  AddNew();</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  DoDelete();</p><p><

143、b>  break;</b></p><p><b>  case 3:</b></p><p>  DoMotify();</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p

144、><b>  DoFind();</b></p><p><b>  break;</b></p><p><b>  case 5:</b></p><p><b>  List();</b></p><p><b>  break;&l

145、t;/b></p><p><b>  default:</b></p><p>  cout<<"無效輸入!"<<endl;</p><p><b>  }</b></p><p><b>  }</b></p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論