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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  C++面向?qū)ο蠹夹g(shù)課程設(shè)計(jì)報(bào)告</p><p><b>  公</b></p><p><b>  司</b></p><p><b>  人</b></p><p><b>  員</b></p><p>&

2、lt;b>  管</b></p><p><b>  理</b></p><p><b>  系</b></p><p><b>  統(tǒng)</b></p><p>  面向?qū)ο蠹夹g(shù)與C++課程設(shè)計(jì)任務(wù)書(shū)</p><p><b>

3、  目 錄</b></p><p><b>  系統(tǒng)功能要求</b></p><p>  系統(tǒng)功能分析和設(shè)計(jì)思路、系統(tǒng)功能模塊</p><p><b>  系統(tǒng)流程圖</b></p><p>  調(diào)試過(guò)程及系統(tǒng)使用說(shuō)明 </p><p><b>  程

4、序代碼 </b></p><p><b>  總結(jié)、心得與體會(huì) </b></p><p><b>  一.系統(tǒng)功能要求</b></p><p>  某小型公司,主要有四類人員:經(jīng)理、一般工人、銷售員以及銷售經(jīng)理。現(xiàn)在、需要建立一個(gè)小型的公司人員管理系統(tǒng),能夠以文件方式存儲(chǔ)這些人員的各類信息并能按照其編號(hào)查詢輸出

5、所輸入的所有信息,還要按照公司的要求計(jì)算出每名員工一個(gè)月的工資。</p><p><b>  要求:</b></p><p>  可以錄入并保存四類人員的信息</p><p>  可以按照職工的類別以及姓名查詢并顯示四類人員的信息</p><p>  可以按照規(guī)定的方法計(jì)算每名員工每月所得的工資</p>&

6、lt;p>  月薪計(jì)算方法:   經(jīng)理拿固定工資8000   兼職技術(shù)人員按每小時(shí)100元領(lǐng)取月薪   兼職推銷月的月薪按該推銷員當(dāng)月銷售額的4%提成;   銷售經(jīng)理既拿固定月薪也領(lǐng)取銷售提成,固定月薪為5000元,銷售提成為所管 轄部門當(dāng)月銷售總額的5%  </p>

7、<p><b>  可以退出本系統(tǒng)</b></p><p>  二.系統(tǒng)功能分析和設(shè)計(jì)思路、系統(tǒng)功能模塊</p><p>  我們使用面向?qū)ο蟪绦蛟O(shè)計(jì)方法的思路進(jìn)行分析,得出了整個(gè)系統(tǒng)應(yīng)該涉及兩個(gè)基類的信息和操作,首先是公司雇員這一個(gè)大基類,其它諸如經(jīng)理等的類應(yīng)該由此類派生;再有、為了方便實(shí)現(xiàn)各類信息以文件方式的儲(chǔ)存以及實(shí)現(xiàn)各種功能和界面,我們決定再創(chuàng)建一個(gè)

8、系統(tǒng)類。所以我們接下來(lái)所要做的一切工作都要圍繞這兩個(gè)類(公司雇員類 employee以及系統(tǒng)類 system)來(lái)展開(kāi)。</p><p> ?。?)公司雇員類 employee:可以說(shuō)這是本系統(tǒng)的一個(gè)“總基類”,我們按照預(yù)期的設(shè)計(jì)及要求由它(公司雇員類 employee)派生出了經(jīng)理類 manager、一般工人類 worker、銷售員類 sale以及銷售經(jīng)理類 sale_manager。由于考慮到各個(gè)小的分類之間在

9、形式下差不多,為了不出現(xiàn)“二義性”的問(wèn)題,我們主要在各個(gè)類之間采取定義虛基類以及純虛函數(shù)的思路進(jìn)行調(diào)用。另外、由于我們對(duì)鏈表的運(yùn)用以及鏈表的掌握還不是很熟練,再加上為了使各個(gè)類方便與系統(tǒng)類 system進(jìn)行直接連接,我們遂決定采用對(duì)象數(shù)組存放文件中讀入或讀出的各類公司人員信息。但是我們發(fā)現(xiàn)這樣做有一個(gè)缺陷:因?yàn)闊o(wú)法事先確定各類人員及各類人員的各種信息,所以無(wú)法確定對(duì)象數(shù)組的大小。這里我們討論后決定事先確定一個(gè)較大的數(shù)組空間來(lái)決定這個(gè)問(wèn)題

10、,當(dāng)然,解決這個(gè)問(wèn)題的最好方法還是采用異質(zhì)鏈表來(lái)存放從文件中讀取的信息。</p><p> ?。?)系統(tǒng)類 system:由于這個(gè)系統(tǒng)涉及到了文件的應(yīng)用,所以系統(tǒng)類 system是必不可少的。我們對(duì)問(wèn)題分析、討論以后決定,系統(tǒng)類 system的主要成員函數(shù)要包括:提供輸入各類數(shù)據(jù)的 inform、確認(rèn)各類輸入成功的 success、添加各類信息的 in_information、用于各類查詢的 search、計(jì)算并

11、顯示總工資的 out_total_salary以及用于各個(gè)選項(xiàng)之間輸出界面的 interface。</p><p>  (3)由于考慮到這應(yīng)該是一個(gè)完整的管理系統(tǒng),加上我們希望這個(gè)系統(tǒng)的界面能夠做到清晰、明了,我們經(jīng)討論后決定采用一個(gè)總操作界面,三個(gè)分操作界面。</p><p>  總操作界面應(yīng)該包括 (分別對(duì)應(yīng) 1.輸入信息 2.查詢信息并顯示 3.計(jì)算總工資并顯示 4.退出)</

12、p><p>  輸入信息界面中又因該包括 1.經(jīng)理類 2.工人類 3.銷售員類 4.銀行經(jīng)理類 5.退出。</p><p>  查詢信息并顯示界面中又應(yīng)該包括 1.經(jīng)理類 2.工人類 3.銷售員類 4.銀行經(jīng)理類 5.退出。</p><p>  計(jì)算總工資并顯示界面中又應(yīng)該包括 1.經(jīng)理類 2.工人類 3.銷售員類 4.銀行經(jīng)理類 5.退出。</p>&l

13、t;p><b>  三.系統(tǒng)流程圖</b></p><p>  四.調(diào)試過(guò)程及系統(tǒng)使用說(shuō)明</p><p>  對(duì)此程序進(jìn)行調(diào)試需要一個(gè)功能、一個(gè)功能地逐個(gè)調(diào)試,如遇到出現(xiàn)與先前期望的結(jié)果不符的話需要使用C++自帶的程序調(diào)試工具逐一進(jìn)行改正。在這當(dāng)中需注意的是由于幾個(gè)關(guān)于工資的計(jì)算變量我們?cè)O(shè)定成了float型,所以在組建過(guò)程中會(huì)出現(xiàn)如下警告:“warning C

14、4244: '=' : conversion from 'double' to 'float', possible loss of data”,我們一開(kāi)始也挺納悶的,因?yàn)槲覀儾](méi)有設(shè)置任何double型變量,怎么會(huì)在警告中出現(xiàn)“從double型轉(zhuǎn)變?yōu)閒loat型很可能引起數(shù)據(jù)丟失”的警告呢?后來(lái)請(qǐng)教老師后發(fā)現(xiàn),警告是由于這個(gè)C++系統(tǒng)把一般的小數(shù)都按double類型數(shù)據(jù)處理,而我們?cè)诙x的

15、時(shí)候是用的float類型,所以系統(tǒng)認(rèn)為有數(shù)據(jù)丟失。</p><p><b>  進(jìn)入主菜單后</b></p><p>  選1-1為輸入經(jīng)理類的記錄;1-2為輸入工人類的記錄;1-3為輸入銷售員類的記錄;1-4為輸入銷售經(jīng)理類的記錄;1-5為退出此界面并返回到主界面。</p><p>  選2-1為查找經(jīng)理類的記錄;2-2為查找工人類的記錄;2

16、-3為查找銷售員類的記錄;2-4為查找銷售經(jīng)理類的記錄;2-5為退出此界面并返回到主界面。以上操作的詳細(xì)流程請(qǐng)參照流程圖3。</p><p>  選3-1為計(jì)算經(jīng)理類的總工資;3-2為計(jì)算工人類的總工資;3-3為計(jì)算銷售員類的總工資;3-4為計(jì)算銷售經(jīng)理類的總工資;3-5為退出此界面并返回到主界面。以上操作的詳細(xì)流程請(qǐng)參照流程圖4。</p><p>  選4會(huì)輸出“謝謝您使用本系統(tǒng),次再見(jiàn)

17、!”并退出程序。</p><p><b>  五.程序代碼</b></p><p>  #include<iostream.h></p><p>  #include<string.h></p><p>  class employee</p><p><b> 

18、 {</b></p><p>  protected:</p><p>  char *name; </p><p>  int grade; </p><p>  float accump

19、ay; </p><p>  static int employeeNo; </p><p><b>  public: </b></p><p>  employee();

20、 </p><p>  ~employee(); </p><p>  virtual void pay()=0; </p><p>  virtual void promote(int increment=0);

21、 </p><p>  virtual void displaystatus()=0; </p><p><b>  };</b></p><p>  class technician:public employee</p><p><b>  {</b><

22、/p><p><b>  private:</b></p><p>  float hourlyrate; </p><p>  int workhours; </p><p><b>  public:<

23、/b></p><p>  technician(); </p><p>  void promote(int); </p><p>  void pay(); </p><p>

24、  void displaystatus(); </p><p><b>  };</b></p><p>  class manager:virtual public employee</p><p><b>  {</b></p><p> 

25、 protected:</p><p>  float monthlypay; </p><p><b>  public:</b></p><p>  manager(); </p><p&g

26、t;  void promote(int); </p><p>  void pay(); </p><p>  void displaystatus(); </p><p>

27、<b>  };</b></p><p>  class salesman:virtual public employee</p><p><b>  {</b></p><p>  protected:</p><p>  float commrate;

28、 </p><p>  float sales; </p><p>  public: </p><p>  salesman(); </p><p>  void promote(int);

29、 </p><p>  void pay(); </p><p>  void displaystatus(); </p><p><b>  };</b></p><p>  class salesma

30、nager:public manager,public salesman</p><p><b>  {</b></p><p><b>  public:</b></p><p>  salesmanager();</p><p>  void promote(int);</p>&

31、lt;p>  void pay();</p><p>  void displaystatus();</p><p><b>  };</b></p><p>  int employee::employeeNo=00;</p><p>  employee::employee()</p><p

32、><b>  {</b></p><p>  char namestr[50];</p><p>  cout<<"請(qǐng)輸入一個(gè)雇員的姓名:";</p><p>  cin>>namestr;</p><p>  name=new char[strlen(namestr)+

33、1];</p><p>  strcpy(name,namestr);</p><p>  employeeNo++;</p><p><b>  grade=1;</b></p><p>  accumpay=0.0;</p><p><b>  }</b></p&g

34、t;<p>  employee::~employee()</p><p><b>  {</b></p><p>  delete[]name;</p><p><b>  }</b></p><p>  void employee::promote(int increment)&l

35、t;/p><p><b>  {</b></p><p>  grade+=increment;</p><p><b>  }</b></p><p>  technician::technician()</p><p><b>  {</b></p

36、><p>  hourlyrate=100;</p><p><b>  }</b></p><p>  void technician::promote(int)</p><p><b>  {</b></p><p>  employee::promote(2);</p

37、><p><b>  }</b></p><p>  void technician::pay()</p><p>  {cout<<"請(qǐng)輸入"<<name<<"本月的工作時(shí)數(shù):";</p><p>  cin>>workhours;&l

38、t;/p><p>  accumpay=hourlyrate*workhours;</p><p>  cout<<"兼職技術(shù)人員"<<name<<"編號(hào)"<<employeeNo<<"本月工資"<<accumpay<<endl;</p>

39、<p><b>  }</b></p><p>  void technician::displaystatus()</p><p><b>  {</b></p><p>  cout<< "兼職技術(shù)人員"<<name<<"編號(hào)"&l

40、t;<employeeNo<<"級(jí)別為"<<grade<<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b>  }</b></p><p>  salesman::salesman()</p><p><

41、b>  {</b></p><p>  commrate=0.04;</p><p><b>  }</b></p><p>  void salesman::promote(int)</p><p><b>  {</b></p><p>  employ

42、ee::promote(0);</p><p><b>  }</b></p><p>  void salesman::pay()</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入"<<name<<"

43、本月的銷售額:";</p><p>  cin>>sales;</p><p>  accumpay=sales*commrate;</p><p>  cout<<"兼職推銷員"<<name<<"編號(hào)"<<employeeNo<<"本

44、月工資"<<accumpay<<endl;</p><p><b>  }</b></p><p>  void salesman::displaystatus()</p><p><b>  {</b></p><p>  cout<<"兼職

45、推銷員"<<name<<"編號(hào)"<<employeeNo<<"級(jí)別為"<<grade<<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b>  }</b></p><p>  

46、manager::manager()</p><p><b>  {</b></p><p>  monthlypay=8000;</p><p><b>  }</b></p><p>  void manager::promote(int)</p><p><b&g

47、t;  {</b></p><p>  employee::promote(3);</p><p><b>  }</b></p><p>  void manager::pay()</p><p><b>  {</b></p><p>  accumpay=m

48、onthlypay;</p><p>  cout<<"經(jīng)理"<<name<<"編號(hào)"<<employeeNo<<"本月工資"<<accumpay<<endl;</p><p><b>  }</b></p>&

49、lt;p>  void manager::displaystatus()</p><p><b>  {</b></p><p>  cout<<"經(jīng)理"<<name<<"編號(hào)"<<employeeNo<<"級(jí)別為"<<grade&

50、lt;<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b>  }</b></p><p>  salesmanager::salesmanager()</p><p><b>  {</b></p><p>  mont

51、hlypay=5000;</p><p>  commrate=0.05;</p><p><b>  }</b></p><p>  void salesmanager::promote(int)</p><p><b>  {</b></p><p>  employee

52、::promote(2);</p><p><b>  }</b></p><p>  void salesmanager::pay()</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入"<<employee::name&l

53、t;<"所管轄部門本月的銷售總額";</p><p>  cin>>sales;</p><p>  accumpay=monthlypay+commrate*sales;</p><p>  cout<<"銷售經(jīng)理"<<name<<"編號(hào)"<&l

54、t;employeeNo<<"本月工資"<<accumpay<<endl;</p><p><b>  }</b></p><p>  void salesmanager::displaystatus()</p><p><b>  {</b></p>

55、<p>  cout<<"銷售經(jīng)理"<<name<<"編號(hào)"<<employeeNo<<"級(jí)別為"<<grade<<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b>  }<

56、;/b></p><p>  int main()</p><p>  {cout<<" ******************************************* "<<endl; </p><p>  cout<<"

57、 公 司 人 事 管 理 系 統(tǒng) "<<endl; </p><p>  cout<<" ******************************************* "<<endl;<

58、/p><p>  cout<<""<<endl;</p><p>  cout<<""<<endl;</p><p>  cout<<""<<endl;</p><p>  biaohao: cout<<

59、"*************************************************************************"<<endl; </p><p>  cout<<"* 1.經(jīng)理 *"

60、<<endl;</p><p>  cout<<"* 2.兼職技術(shù)人員 *"<<endl; </p><p>  cout<<"* 3.銷售經(jīng)理

61、 *"<<endl;</p><p>  cout<<"* 4.兼職銷售員 *"<<endl;</p><p>  cout<<

62、;"* 5.退出 *"<<endl;</p><p>  cout<<"*************************************************************************"<

63、;<endl; </p><p>  cout<<"請(qǐng)選擇功能:"<<endl;</p><p><b>  int a;</b></p><p><b>  cin>> a;</b></p><p><b>  switch(

64、a)</b></p><p>  {case 5:break;</p><p>  case 1:{ manager m1;</p><p>  employee* a;</p><p><b>  a=&m1;</b></p><p>  a->promote();&l

65、t;/p><p><b>  a->pay();</b></p><p>  a->displaystatus();}goto biaohao; </p><p><b>  break;</b></p><p>  case 2:{technician t1;</p>&l

66、t;p>  employee* b;</p><p><b>  b=&t1;</b></p><p>  b->promote();</p><p><b>  b->pay();</b></p><p>  b->displaystatus();}goto bia

67、ohao;break;</p><p>  case 3:{salesmanager sm1;</p><p>  employee* c;</p><p><b>  c=&sm1;</b></p><p>  c->promote();</p><p><b>  c-

68、>pay();</b></p><p>  c->displaystatus();}goto biaohao;break;</p><p>  case 4:{salesman s1;</p><p>  employee* d;</p><p><b>  d=&s1;</b></

69、p><p>  d->promote();</p><p><b>  d->pay();</b></p><p>  d->displaystatus();}goto biaohao;break;</p><p>  default:cout<<"您輸入有誤,請(qǐng)重試!"&l

70、t;<endl;goto biaohao;break;</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  六.總結(jié)、心得與體會(huì)</p><p>

71、;  通過(guò)這次課題設(shè)計(jì),我覺(jué)得做好一個(gè)程序,靈活運(yùn)用是關(guān)鍵。把基礎(chǔ)學(xué)好不一定能把程序編好,但基礎(chǔ)知識(shí)不好,一定編不出好程序。做大規(guī)模的程序不只是一個(gè)人努力就行了,一定要有團(tuán)隊(duì)合作能力。編程最主要是思路清晰,只要你把思路理順了,就有利于你在編程的過(guò)程中少走彎路。 </p><p>  運(yùn)行正確的程序并不一定是好程序,編程員時(shí)刻要牢記的一條就是自己寫(xiě)的程序不僅是給自己看的,也要讓別人能輕易地看懂。我們?cè)诜謮K設(shè)計(jì)時(shí)就因

72、為都太“以自我為中心“了,直接導(dǎo)致最后把程序匯總的時(shí)候才發(fā)現(xiàn)”錯(cuò)誤“一大堆!當(dāng)然、這也使我們更加體會(huì)到了程序可讀性的重要之所在。</p><p>  要想學(xué)好C++我覺(jué)得除了在課堂上認(rèn)真學(xué)習(xí)之外也要做好以下幾點(diǎn):</p><p>  1.認(rèn)真對(duì)待每一個(gè)程序的編寫(xiě) 2.做好對(duì)每一個(gè)所編程序的總結(jié) 3.寫(xiě)程序盡量要規(guī)范、嚴(yán)謹(jǐn),效率盡量要高 4.養(yǎng)成自我測(cè)試的習(xí)慣 5.多看一些別人編的程序,把好

73、的思路和方法記下來(lái),以備不時(shí)之需 6.要有恃之以恒的精神以及嚴(yán)謹(jǐn)?shù)目茖W(xué)研究作風(fēng) </p><p>  在這短短的一個(gè)星期的努力奮斗中、在姜老師的辛勤指導(dǎo)下。我們終于把本次課題設(shè)計(jì)順利完成?;叵肫鹫n題設(shè)計(jì)過(guò)程中面對(duì)程序錯(cuò)誤一大堆的失望與成功完成程序中每一個(gè)模塊的喜悅時(shí),我真正的體會(huì)到了:1.團(tuán)隊(duì)合作的好壞直接影響到了做好一件工作的質(zhì)量與效率;2.細(xì)節(jié)決定成??;3.學(xué)術(shù)不管是哪一門,只要你用心去對(duì)待它,它也會(huì)用心地來(lái)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論