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

下載本文檔

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

文檔簡介

1、<p>  《面向對象語言程序設計》課程設計報告書</p><p>  班 級 </p><p>  專 業 計算機科學與技術 </p><p>  姓 名 </p><p>  學 號

2、 </p><p>  課程名稱 面向對象語言程序設計</p><p>  指導教師 </p><p><b>  摘要</b></p><p>  隨著高等學校的快速發展,高校的規模越來越大,教職工數量越來越多,從而對高校的管理越來越重要。高校人事管理系統就是一

3、套輔助管理人員的系統,他能夠方便、快捷的幫助管理人員管理整個高校的人員,有一個好的高校管理系統 ,能夠很大程度上幫助高校管理人事的變更。</p><p>  計算機應用正沿著硬件和軟件兩條主線相互促進,不斷發展。如果說硬件是計算機的軀體,那么軟件就是計算機的靈魂,軟件和信息服務業將成為世界第一大產業。Visual C++ 是一個很強大的可視化軟件開發工具,它不僅僅是一個C++編譯器,還是一種基于Windows操

4、作系統的集成開發環境。Visual C++開發出來的軟件具有穩定性好,可移植性強的特點。</p><p>  設計的主要目的是提高實際操作能力,結合Visual C++開發環境進行Windows應用程序的開發,去解決各類的實際問題。</p><p>  在設計中,我們利用Visual C++開發了高校人事管理系統。設計的功能主要有八項,添加員工信息、刪除員工信息、修改以及查詢員工信息 、顯

5、示員工信息、統計員工信息、以及數據的裝入和存盤, 通過文件的操作,更好的實現信息的安全性。功能的實現主要是利用對話框的方式來實現的,利用命令窗口提供有好的交互界面,通過學習以及理解window操作系統的消息處理機制,完成了用戶和對話框的交互。</p><p>  這次設計的實踐性強,對動手能力要求很高,必須在掌握基本理論和基本方法的基礎上,相互溝通相互合作才能解決實際問題。</p><p>

6、;  關鍵詞:高校人事管理系統 添加 查詢 刪除 修改 顯示 統計 裝入 存盤</p><p><b>  目錄</b></p><p>  第一章 開發環境和開發工具1</p><p>  1.1 C++語言簡介1</p><p>  1.2 開發背景1</p><p>  1.3 開發

7、環境1</p><p>  第二章 面向對象思想2</p><p>  2.1 系統需求分析2</p><p>  2.2 系統總體設計2</p><p>  2.2.1 系統設計目標3</p><p>  2.2.2 開發設計思想3</p><p>  2.2.3 系統功能模塊設

8、計3</p><p>  2.3 面向對象思想描述5</p><p>  1、類的層次設計5</p><p><b>  2、功能設計5</b></p><p>  第三章 面向對象實現6</p><p><b>  3.1 結構6</b></p>

9、<p><b>  3.2程序模塊6</b></p><p>  3.3 各類之間的關系16</p><p>  3.4 源程序代碼17</p><p>  第四章 測試與分析30</p><p>  4.1 測試數據選擇30</p><p>  4.2 測試結果分析35&l

10、t;/p><p><b>  總 結37</b></p><p><b>  心得體會38</b></p><p><b>  參考文獻39</b></p><p><b>  開發環境和開發工具</b></p><p>&

11、lt;b>  C語言簡介</b></p><p>  也可以讓各種組件方便的轉變為基于Web的應用,并且能夠通過Internet被各種系統或是其他開發語言所開發的應用調用。</p><p><b>  1.2 開發背景</b></p><p>  隨著科學技術的不斷發展,計算機科學日漸成熟,其強大的功能已為人們所深刻認識,它己

12、進入人類社會的各個領域并發揮著越來越重要的作用。采用計算機進行信息化管理已成為衡量企業管理科學化和現代化的重要標志,而人事管理的全面自動化、信息化則是其中重要的組成部分。人事管理的好壞對于企業的決策者和管理者來說都至關重要,在很大程度上影響著企業的經濟效益和社會效益。因此,本文所研究的人事管理信息系統具有一定的使用價值和現實意義。</p><p><b>  1.3 開發環境</b><

13、/p><p>  在Microsoft Visual C++6.0開發平臺上編寫程序源代碼,修改,增加動能,通過編譯,連接,直到完全無誤,最后執行程序,反復輸入新的數據進行驗證,并進一步完善。</p><p>  第二章 面向對象思想</p><p>  2.1 系統需求分析</p><p>  隨著計算機技術的飛速發展,計算機在高校管理中應用

14、的普及,利用計算機實現高校人事管理勢在必行。對于高校來說,利用計算機支持高校高效率完成人事管理的日常事務,是適應現代高校制度的要求,推動高校人事管理走向科學化、規范化的必要條件;計算機管理所無法比擬的優點檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大的提高人事管理的效率,也是高??茖W化、正規化的管理與世界接軌的重要條件。本系統結合高校的實際管理制度,經過實際的需求分析,采用功能強大的c++作為開發工

15、具而開發出的單機版高校人事管理系統。</p><p>  2.2 系統總體設計</p><p><b>  1、問題描述: </b></p><p>  某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工?,F在,需要存儲這些人員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、任職時間、來

16、院時間。</p><p><b>  2、功能要求: </b></p><p>  1) 添加刪除功能:能根據學院人事的變動情況,添加刪除記錄;</p><p>  2) 查詢功能:能根據編號和姓名進行查詢;</p><p>  3) 編輯功能(高級):根據查詢對相應的記錄進行修改,并存儲;</p>

17、<p>  4) 統計功能:能根據多種參數進行人員的統計(在職人數、黨員人數、女工人數、高學歷高職稱人數);</p><p>  5) 保存功能:能對輸入的數據進行相應的存儲,要求重載插入和提取符以完成數據的保存和打開。</p><p>  6) 人員編號在生成人員信息時同時生成,每輸入一個人員信息編號順序加1</p><p>  2.2.1 系統設

18、計目標 </p><p>  根據系統功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)應用系統分析,建立該系統的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系統中的各個實體及它們之間的關系包括屬性和行為; </p><p> ?。?)根據問題描述,設計系統的類層次; </p>&

19、lt;p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個成員函數的定義; </p><p> ?。?)完成系統的應用模塊; </p><p><b> ?。?)功能調試;</b></p><p> ?。?)完成系統總結報告以及系統使用說明書。</p>

20、<p>  2.2.2 開發設計思想</p><p>  基于以上系統設計目標,本文在開發高校人事管理信息系統時遵循了以下開發設計思想:</p><p>  ●采用現有的軟硬件環境及先進的管理系統開發方案,從而達到充分利用現有資源,提高系統開發水平和應用效果的目的。</p><p>  ●盡量達到操作過程中的直觀、方便、實用、安全等要求。</p>

21、;<p>  ●系統采用C/S體系結構,Clinet(客戶端)負責提供表達邏輯、顯示用戶界面信息、訪問數據庫服務器;Server(服務器端)則用于提供數據服務。(寫出三層設計思想)</p><p>  ●系統采用模塊化程序設計方法,既便于系統功能的各種組合和修改,又便于未參與開發的技術維護人員補充、維護。</p><p>  ●系統應具備數據庫維護功能,及時根據用戶需求進行數

22、據的添加、刪除、修改、查找等操作。</p><p>  2.2.3 系統功能模塊設計</p><p>  本系統分為七個模塊:添加人員、修改人員、刪除人員、查找人員、數據裝入,數據存盤、顯示數據。得到如圖2.2.3-1所示的系統功能模塊圖。</p><p>  圖2.2.3-1系統功能模塊圖</p><p>  注釋:各模塊功能說明</

23、p><p>  添加人員功能 </p><p>  該系統中,高校管理人員應該對員工的基本檔案信息進行記錄儲存,這樣,在確定好高校人員對象后,才能正確的進行一步操作動作,如在職人員(行政人員,教師,一般員工),退休人員,返聘人員和臨時工?,F在,需要存儲這些人員的人事檔案信息:編號,姓名,性別,年齡,職務,職稱,政治面貌,學歷,來院時間。</p><p><

24、b>  修改人員功能 </b></p><p>  高校管理人員可以通過員工的編號進行修改員工的信息。</p><p><b>  刪除人員功能 </b></p><p>  管理人員可使用該系統,對高校的人事變動進行相應的調整,刪除員工信息。</p><p><b>  查找人員功能

25、 </b></p><p>  通過該系統,管理人員可以查找員工各項信息,包括按編號查找和按學號查找兩種查找方式。</p><p><b>  顯示人員功能 </b></p><p>  通過該系統,高校管理人員可以清晰的查看高校員工的各項信息,如職務、姓名、編號等。</p><p><b>

26、  數據裝入功能 </b></p><p>  系統可以在啟動時,導入相應的人員信息,在退出時可以導出變化后的人員信息,并保存到硬盤上。</p><p><b>  數據存盤 </b></p><p>  再添加人員資料后,為了保存所輸入的信息,這時需要將數據存盤。</p><p>  2.3 面向對象

27、思想描述</p><p><b>  1、類的層次設計</b></p><p>  定義兩個類,一個person類,包含在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工。員工信息包括編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、來院時間。定義一個school類,在里面實現數據的添加、刪除、修改、查找、顯示和退出</p><

28、p><b>  2、功能設計</b></p><p> ?。?)添加刪除功能:能根據人事的變動情況,添加刪除記錄;</p><p> ?。?)查詢功能:能根據編號和姓名進行查詢;</p><p> ?。?)編輯功能:根據查詢對相應的記錄進行修改,并存儲;</p><p> ?。?)保存功能:能對輸入的數據進行相應的

29、存儲,要求重載插入和提取符以完成數據的保存和打開。</p><p><b>  面向對象實現</b></p><p><b>  3.1 結構</b></p><p>  高校人事管理系統是一個數據庫應用系統,員工的所有信息都保存在數據庫中。</p><p><b>  3.2程序模塊&l

30、t;/b></p><p><b>  1.界面設計</b></p><p>  cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "<<endl;</p><p>  cout<<"

31、 高校人事管理系統"<<endl;</p><p>  cout<<""<<endl;</p><p>  cout<<" 1--增加人員資料"<<endl;</p><p>  cout<<&quo

32、t; 2--刪除人員信息"<<endl;</p><p>  cout<<" 3--修改人員信息"<<endl;</p><p>  cout<<" 4--查詢人員信息"<<endl;&

33、lt;/p><p>  cout<<" 5--數據存盤"<<endl;</p><p>  cout<<" 6--數據裝入"<<endl;</p><p>  cout<<"

34、 7--顯示所有信息"<<endl;</p><p>  cout<<" 8--退出" <<endl; </p><p>  cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ &

35、quot;<<</p><p><b>  2.各功能模塊實現</b></p><p><b>  添加功能</b></p><p>  void add()//添加新信息</p><p><b>  {</b></p><p>  int

36、i,a,b;</p><p>  person *p1=myfirst;</p><p>  if(p1==NULL)</p><p><b>  {</b></p><p>  cout<<"請輸入編號:";</p><p><b>  cin>&

37、gt;i;</b></p><p>  printf(i);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if(p1->getnext

38、()==NULL)//如果p1的后繼指針空,則執行“printf(a)”</p><p><b>  {</b></p><p>  a=p1->getnum()+1;</p><p>  printf(a);</p><p><b>  }</b></p><p>&

39、lt;b>  else</b></p><p><b>  {</b></p><p>  while(p1->getnext()!=NULL)//p1后繼指針不空,執行“printf(b)”</p><p><b>  {</b></p><p>  p1=p1->g

40、etnext();</p><p><b>  }</b></p><p>  b=p1->getnum()+1;</p><p>  printf(b);</p><p><b>  }</b></p><p><b>  }</b></p

41、><p><b> ?。?lt;/b></p><p><b>  刪除功能</b></p><p>  bool removedatnum( )//刪除信息</p><p><b>  {</b></p><p><b>  int bh;</b

42、></p><p>  person *ahead=myfirst;</p><p>  person *follow=ahead;</p><p>  cout<<"請輸入要刪除人員的編號:";</p><p><b>  cin>>bh;</b></p>

43、<p>  if(ahead==NULL)</p><p><b>  {</b></p><p>  cout<<"\t**********************************"<<endl;</p><p>  cout<<"\t\t要刪除的人員列表已

44、為空??!\n";</p><p>  cout<<"\t**********************************"<<endl;</p><p>  return false;</p><p><b>  }</b></p><p><b>  

45、else</b></p><p>  if(ahead->getnum()==bh)</p><p><b>  {</b></p><p>  myfirst=myfirst->getnext();</p><p>  cout<<"\t******************

46、****************"<<endl;</p><p>  cout<<"\t\t編號為"<<bh<<"的成員以被刪除"<<endl;</p><p>  cout<<"\t**********************************&quo

47、t;<<endl;</p><p>  delete ahead;</p><p>  return true;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&l

48、t;/p><p>  ahead=ahead->getnext();</p><p>  while(ahead!=NULL)</p><p><b>  {</b></p><p>  if(ahead->getnum()==bh)</p><p><b>  {</b&

49、gt;</p><p>  follow->setnext(ahead->getnext());</p><p>  cout<<"\t**********************************"<<endl;</p><p>  cout<<"\t\t編號為"<

50、<bh<<"的成員以被刪除\n";</p><p>  cout<<"\t**********************************"<<endl;</p><p>  delete ahead;</p><p>  return true;</p><p

51、><b>  }</b></p><p>  follow=ahead;</p><p>  ahead=ahead->getnext();</p><p><b>  }</b></p><p>  cout<<"\t***********************

52、***********"<<endl;</p><p>  cout<<"\t\t要刪除的成員不存在!"<<endl;</p><p>  cout<<"\t**********************************"<<endl;</p><p>

53、;  return false;</p><p><b>  }</b></p><p><b>  修改功能</b></p><p>  bool upperson()//修改信息</p><p><b>  {</b></p><p><b&g

54、t;  int iid;</b></p><p>  person *ahead=myfirst;</p><p>  person *follow=ahead;</p><p>  cout<<"請輸入要修改人員的編:"</p><p><b>  cin>>iid;<

55、/b></p><p>  if(ahead==NULL)</p><p><b>  {</b></p><p>  cout<<"\t\t無人員信息"<<endl;</p><p>  return false;</p><p><b&g

56、t;  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  while(ahead!=NULL)</p><p><b>  {</b></p><p>  if(ahead-

57、>getnum()==iid)</p><p><b>  {</b></p><p>  printf1(ahead);</p><p>  int nu=-1;</p><p>  for(int i=1;nu!=0;i++)</p><p><b>  {</b>

58、</p><p><b>  int ml;</b></p><p><b>  int mll;</b></p><p>  char ty[30];</p><p>  cout<<"請選擇要修改的內容:"<<endl;</p><

59、p>  cout<<" 1:姓名 2:性別 3:年齡 4:職工類型 5:職務"<<endl;</p><p>  cout<<" 6:職稱 7:學歷 8:政治面貌 9:來院時間 "<<endl;</p><p><b>  do{</b></p>

60、;<p>  cout<<" 選擇(1-10):";</p><p><b>  cin>>ml;</b></p><p>  }while(ml<1||ml>10);</p><p>  switch(ml)</p><p><b> 

61、 {</b></p><p><b>  case 1:{</b></p><p>  cout<<"請輸入姓名:";</p><p><b>  cin>>ty;</b></p><p>  strcpy(follow->getname

62、(),ty);</p><p><b>  };</b></p><p><b>  break;</b></p><p><b>  case 2:{</b></p><p>  cout<<"請輸入性別:";</p><p

63、><b>  cin>>ty;</b></p><p>  strcpy(ahead->getsex(),ty);</p><p><b>  };</b></p><p><b>  break;</b></p><p><b>  case

64、 3:{</b></p><p>  cout<<"請輸入年齡:";</p><p><b>  cin>>mll;</b></p><p>  ahead->getag(mll);</p><p><b>  };</b></p&

65、gt;<p><b>  break;</b></p><p><b>  case 4:{</b></p><p>  cout<<"請輸入職工類型:";</p><p><b>  cin>>ty;</b></p><p

66、>  strcpy(ahead->gettype(),ty);</p><p><b>  }; break;</b></p><p><b>  case 5:{</b></p><p>  cout<<"請輸入職務:";</p><p><b&g

67、t;  cin>>ty;</b></p><p>  strcpy(ahead->getpos(),ty);</p><p><b>  };break;</b></p><p><b>  case 6:{</b></p><p>  cout<<&quo

68、t;請輸入職稱:";</p><p><b>  cin>>ty;</b></p><p>  strcpy(ahead->gettechpos(),ty);</p><p><b>  };break;</b></p><p><b>  case 7:{&l

69、t;/b></p><p>  cout<<"請輸入學歷:";</p><p><b>  cin>>ty;</b></p><p>  strcpy(ahead->getstudy(),ty);</p><p><b>  };break;</b&

70、gt;</p><p><b>  case 8:{</b></p><p>  cout<<"請輸入政治面貌:";</p><p><b>  cin>>ty;</b></p><p>  strcpy(ahead->getparty(),ty);

71、</p><p><b>  };break;</b></p><p><b>  case 9:{</b></p><p>  cout<<"請輸入來院時間:";</p><p><b>  cin>>ty;</b></p&g

72、t;<p>  strcpy(ahead->gettime(),ty);</p><p>  };break; </p><p><b>  }</b></p><p>  cout<<"人員修改完成!!!!!!!!!!!!!!!!!!";</p><p>  re

73、turn true;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  ahead=ahead-

74、>getnext();</p><p>  follow=ahead;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"查無此人!!!!!!!!!!!!!!!!!!!"<<endl;&

75、lt;/p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  查詢功能</b></p><p><b>  1.按編號查詢</b><

76、/p><p>  bool find1() //按編號查找</p><p><b>  {</b></p><p><b>  int id;</b></p><p>  person *ahead=myfirst;</p><p>  person *follow=ahead;

77、</p><p>  cout<<"請輸入編號:"<<endl;</p><p><b>  cin>>id;</b></p><p>  cout<<"\t**********************************"<<endl;&l

78、t;/p><p>  if(ahead==NULL)</p><p><b>  {</b></p><p>  cout<<"\t\t查無人員信息!"<<endl;</p><p>  return false;</p><p><b>  }&

79、lt;/b></p><p><b>  else</b></p><p><b>  {</b></p><p>  while(ahead!=NULL)</p><p><b>  {</b></p><p>  if(ahead->ge

80、tnum()==id)</p><p><b>  {</b></p><p>  printf1(ahead);</p><p>  return true;</p><p><b>  }</b></p><p><b>  else</b><

81、/p><p><b>  {</b></p><p>  follow=ahead;</p><p>  ahead=ahead->getnext();</p><p><b>  }</b></p><p><b>  }</b></p>

82、<p>  cout<<"\t\t查無此人信息:"<<endl;</p><p>  return false;</p><p><b>  }</b></p><p>  cout<<"\t**********************************&qu

83、ot;<<endl;</p><p><b>  }</b></p><p><b>  2.按姓名查詢</b></p><p>  bool find2( )//按姓名查找</p><p><b>  {</b></p><p>  cha

84、r nm[20];</p><p>  person *ahead=myfirst;</p><p>  person *follow=ahead;</p><p>  cout<<"輸入姓名";</p><p><b>  cin>>nm;</b></p>&l

85、t;p>  cout<<"\t**********************************"<<endl;</p><p>  if(ahead==NULL)</p><p><b>  {</b></p><p>  cout<<"\t無人員信息"<

86、;<endl;</p><p>  return false;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  while(ahead!=NULL)&

87、lt;/p><p><b>  {</b></p><p>  if(strcmp(ahead->getname(),nm)==0)</p><p><b>  {</b></p><p>  printf1(ahead);</p><p>  return true;&l

88、t;/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  follow=ahead;</p><p>  ahead=ahead->getnext();</

89、p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"\t\t查無此人:"<<endl;</p><p>  return false;</p><p><b>  }&

90、lt;/b></p><p>  cout<<"\t**********************************"<<endl;</p><p><b>  }</b></p><p><b>  數據存盤功能</b></p><p>  v

91、oid save()//保存數據到文件中</p><p><b>  {</b></p><p>  ofstream fperson;</p><p>  fperson.open("person.txt",ios::out);</p><p>  person *p=myfirst;</p&

92、gt;<p><b>  while(p)</b></p><p>  {fperson<<p->getnum()<<"\t"<<p->gettype()<<"\t"<<p->getname()<<"\t"<<p

93、->getsex()</p><p>  <<"\t"<<p->getage()<<"\t"<<p->gettime()<<"\t"<<p->getpos()<<"\t"<<p->gettechpos()<

94、;/p><p>  <<"\t"<<p->getparty()<<"\t"<<p->getstudy();</p><p>  fperson<<endl;</p><p>  p=p->getnext();</p><p>&l

95、t;b>  }</b></p><p>  fperson.close();</p><p>  cout<<"**********************************"<<endl;</p><p>  cout<<"\t保存數據已經完成"<<en

96、dl;</p><p>  cout<<"**********************************"<<endl;</p><p><b>  }</b></p><p><b>  數據裝入功能</b></p><p>  void load

97、() //數據裝入</p><p><b>  {</b></p><p>  int nnum,nage;</p><p>  char ntype[20],nname[20],nsex[20],ntime[20];</p><p>  char npos[20],ntechpos[20],nparty[20]

98、,nstudy[20];</p><p>  ifstream fperson;</p><p>  fperson.open("person.txt",ios::in);</p><p>  if(!fperson)</p><p><b>  {</b></p><p> 

99、 cout<<" 警告:沒有數據可以裝入!!!!!!!!!!!!!\n";</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  while(true&&!fperson.eof())</p>

100、<p>  {fperson>>nnum>>ntype>>nname>>nsex>>nage>>ntime>>npos>>ntechpos>>nparty>>nstudy;</p><p>  insertatlast(nnum,ntype,nname,nsex,nage,ntim

101、e,npos,ntechpos,nparty,nstudy);</p><p><b>  }</b></p><p>  fperson.close();</p><p>  cout<<"\t**********************************"<<endl;</p>

102、<p>  cout<<"\t 人員和相關數據已經裝入.....\n";</p><p><b>  }</b></p><p><b>  顯示功能</b></p><p>  void printf()</p><p><b>  {&

103、lt;/b></p><p>  person *ahead=myfirst;</p><p>  if(ahead==NULL)</p><p><b>  {</b></p><p>  cout<<" 警告:請選擇數據裝入!!!!!!!!!!\n";&l

104、t;/p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  cout<<"編號 姓名 性別 年齡 職工類型 職務 職稱 學歷 政治面貌 來院時間 \n";</p><p>  while(ahe

105、ad!=NULL) </p><p>  { cout<<setiosflags(ios::left)<<setw(6)<<ahead->getnum()<<setiosflags(ios::left)<<setw(6)<<ahead->getname();cout<<setiosflags(ios::lef

106、t)<<setw(5)<<ahead->getsex()<<setiosflags(ios::left)<<setw(4)<<ahead->getage();cout<<setiosflags(ios::left)<<setw(11)<<ahead->gettype()<<setiosflags(ios::

107、left)<<setw(6)<<ahead->getpos();</p><p>  cout<<setiosflags(ios::left)<<setw(6)<<ahead->gettechpos()<<setiosflags(ios::left)<<setw(6)<<ahead->getstudy

108、();</p><p>  cout<<setiosflags(ios::left)<<setw(12)<<ahead->getparty()<<setiosflags(ios::left)<<setw(12)<<ahead->gettime()<<endl;</p><p>  ahead=a

109、head->getnext();</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.3 各類之間的關系</p><p>  class person</p><p><b>  數據成員:</b>

110、;</p><p>  int no, char type[20], char name[20], char sex[10], int age, char time[20], char pos[20], char techpos[20], char party[20], char study[30] ,person *mynext</p><p><b>  函數:&l

111、t;/b></p><p>  person(int nnum,char ntype[],char nname[],char nsex[],int nage,char ntime[],char npos[],char ntechpos[],char nparty[],char nstudy[])</p><p>  person(int nnum,char ntype[],char

112、nname[],charnsex[],int nage,char ntime[],</p><p>  char npos[],char ntechpos[],char nparty[],charnstudy[],person *next)</p><p>  void setnext(person *next) </p><p>  person *getnext

113、()</p><p>  int getnum() </p><p>  char *getname() </p><p>  char *getsex() </p><p>  char *getpos()</p><p>  char *gettechpos() </p>&

114、lt;p>  char *gettime()</p><p>  char *getparty() </p><p>  char *getstudy()</p><p>  int getage() </p><p>  void getag(int as) </p><p>  ch

115、ar *gettype()</p><p>  class School</p><p><b>  數據成員:</b></p><p>  person *myfirst;</p><p><b>  函數</b></p><p>  School() </

116、p><p>  School(int nnu,char ntyp[],char nnam[],char nse[],intnag,char ntim[],char npo[],char ntechpo[],char npart[],char nstud[])</p><p>  void insertatlast(int nnum,char ntype[],charnname[],char n

117、sex[],int nage,char ntime[]</p><p>  ,char npos[],char ntechpos[],char nparty[],</p><p>  char nstudy[])</p><p>  void printf(int r)</p><p>  void printf1(person *ahead

118、)</p><p>  void printf()</p><p>  void add()</p><p>  bool removedatnum( )</p><p>  bool find1()</p><p>  bool find2( )</p><p>  bool upperso

119、n()</p><p>  void load()</p><p>  void save()</p><p><b>  3.4 源程序代碼</b></p><p>  #include<iostream></p><p>  #include<string></p

120、><p>  #include<fstream></p><p>  #include<iomanip></p><p>  using namespace std;</p><p>  class person</p><p><b>  {</b></p>&

121、lt;p><b>  private:</b></p><p>  int no; //編號 </p><p>  char type[20]; //職工類型</p><p>  char name[20]; //姓名 </p><p>  char

122、sex[10]; //性別</p><p>  int age; //年齡 </p><p>  char time[20]; //來院時間</p><p>  char pos[20]; //職務</p><p>  char techpos[20];

123、 //職稱</p><p>  char party[20]; //黨派</p><p>  char study[30]; //最高學歷</p><p>  person *mynext; //指針語</p><p><b>  public:</b></p>&

124、lt;p>  person(int nnum,char ntype[],char nname[],char nsex[],int nage,char ntime[],char npos[],char ntechpos[],char nparty[],char nstudy[])</p><p><b>  {</b></p><p><b>  no=

125、nnum;</b></p><p>  strcpy(type,ntype);//將ntype的值復制給type</p><p>  strcpy(name,nname);</p><p>  strcpy(sex,nsex);</p><p><b>  age=nage;</b></p>&

126、lt;p>  strcpy(time,ntime);</p><p>  strcpy(pos,npos);</p><p>  strcpy(techpos,ntechpos);</p><p>  strcpy(party,nparty);</p><p>  strcpy(study,nstudy);</p><

127、;p>  mynext=NULL;</p><p><b>  }</b></p><p>  person(int nnum,char ntype[],char nname[],char nsex[],int nage,char ntime[],</p><p>  char npos[],char ntechpos[],char np

128、arty[],char nstudy[],person *next)</p><p>  /*某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工。</p><p>  現在,需要存儲這些人員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、來院時間。</p><p><b>  */ </b&g

129、t;</p><p><b>  {</b></p><p><b>  no=nnum;</b></p><p>  strcpy(type,ntype);</p><p>  strcpy(name,nname);</p><p>  strcpy(sex,nsex);&

130、lt;/p><p><b>  age=nage;</b></p><p>  strcpy(time,ntime);</p><p>  strcpy(pos,npos);</p><p>  strcpy(techpos,ntechpos);</p><p>  strcpy(party,npar

131、ty);</p><p>  strcpy(study,nstudy);</p><p>  mynext=next;</p><p><b>  }</b></p><p>  void setnext(person *next){mynext=next;}</p><p>  perso

132、n *getnext() {return mynext;}</p><p>  int getnum() { return no; }</p><p>  char *getname() {return name; }</p><p>  char *getsex() { return sex; }</p>&l

133、t;p>  char *getpos() { return pos; }</p><p>  char *gettechpos() { return techpos; }</p><p>  char *gettime() { return time; }</p><p>  char *getparty() { return p

134、arty; }</p><p>  char *getstudy(){return study;}</p><p>  int getage() {return age; }</p><p>  void getag(int as) {age=as; }</p><p>  char *gettype() { r

135、eturn type;}</p><p><b>  };</b></p><p>  class School</p><p><b>  {</b></p><p><b>  private:</b></p><p>  person *myfi

136、rst;</p><p>  int firstnum;</p><p><b>  public:</b></p><p>  School()//無參構造函數</p><p><b>  {</b></p><p>  myfirst=NULL;//將指針置空</p

137、><p><b>  }</b></p><p>  School(int nnu,char ntyp[],char nnam[],char nse[],int nag,char ntim[],</p><p>  char npo[],char ntechpo[],char npart[],char nstud[])//有參構造函數</p&

138、gt;<p><b>  {</b></p><p>  myfirst=new person(nnu,ntyp,nnam,nse,nag,ntim,npo,ntechpo,npart,nstud); //為指針對象開辟空間</p><p><b>  }</b></p><p>  //在信息最后添加新的

139、信息</p><p>  void insertatlast(int nnum,char ntype[],char nname[],char nsex[],int nage,char ntime[],</p><p>  char npos[],char ntechpos[],char nparty[],char nstudy[])</p><p><b>

140、;  {</b></p><p>  person *next=myfirst;//定義對象指針并付初值</p><p>  if(next==NULL)</p><p>  myfirst=new person(nnum,ntype,nname,nsex,nage,ntime,npos,ntechpos,nparty,nstudy);</p>

141、;<p><b>  else</b></p><p><b>  {</b></p><p>  while(next->getnext()!=NULL)</p><p>  next=next->getnext();</p><p>  next->setnext

142、(new person(nnum,ntype,nname,nsex,nage,ntime,npos,</p><p>  ntechpos,nparty,nstudy,next->getnext()));</p><p><b>  }</b></p><p><b>  }</b></p><p

143、>  void printf(int r)//獲取信息</p><p><b>  {</b></p><p><b>  int nage;</b></p><p>  char ntype[20],nname[20],nsex[20],ntime[20],npos[20],ntechpos[20],nparty[

144、20],nstudy[20];</p><p>  cout<<"請輸入編號為"<<r<<"的成員的信息"<<endl;</p><p>  cout<<"輸入職工分類碼[行政人員,教師,一般員工,退休人員,返聘人員,臨時工]:"<<endl;</p&g

溫馨提示

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

評論

0/150

提交評論