2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩41頁(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>  《面向?qū)ο笳Z(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告書(shū)</p><p>  班 級(jí) </p><p>  專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  姓 名 </p><p>  學(xué) 號(hào)

2、 </p><p>  課程名稱 面向?qū)ο笳Z(yǔ)言程序設(shè)計(jì)</p><p>  指導(dǎo)教師 </p><p><b>  摘要</b></p><p>  隨著高等學(xué)校的快速發(fā)展,高校的規(guī)模越來(lái)越大,教職工數(shù)量越來(lái)越多,從而對(duì)高校的管理越來(lái)越重要。高校人事管理系統(tǒng)就是一

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

4、作系統(tǒng)的集成開(kāi)發(fā)環(huán)境。Visual C++開(kāi)發(fā)出來(lái)的軟件具有穩(wěn)定性好,可移植性強(qiáng)的特點(diǎn)。</p><p>  設(shè)計(jì)的主要目的是提高實(shí)際操作能力,結(jié)合Visual C++開(kāi)發(fā)環(huán)境進(jìn)行Windows應(yīng)用程序的開(kāi)發(fā),去解決各類的實(shí)際問(wèn)題。</p><p>  在設(shè)計(jì)中,我們利用Visual C++開(kāi)發(fā)了高校人事管理系統(tǒng)。設(shè)計(jì)的功能主要有八項(xiàng),添加員工信息、刪除員工信息、修改以及查詢員工信息 、顯

5、示員工信息、統(tǒng)計(jì)員工信息、以及數(shù)據(jù)的裝入和存盤, 通過(guò)文件的操作,更好的實(shí)現(xiàn)信息的安全性。功能的實(shí)現(xiàn)主要是利用對(duì)話框的方式來(lái)實(shí)現(xiàn)的,利用命令窗口提供有好的交互界面,通過(guò)學(xué)習(xí)以及理解window操作系統(tǒng)的消息處理機(jī)制,完成了用戶和對(duì)話框的交互。</p><p>  這次設(shè)計(jì)的實(shí)踐性強(qiáng),對(duì)動(dòng)手能力要求很高,必須在掌握基本理論和基本方法的基礎(chǔ)上,相互溝通相互合作才能解決實(shí)際問(wèn)題。</p><p>

6、;  關(guān)鍵詞:高校人事管理系統(tǒng) 添加 查詢 刪除 修改 顯示 統(tǒng)計(jì) 裝入 存盤</p><p><b>  目錄</b></p><p>  第一章 開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具1</p><p>  1.1 C++語(yǔ)言簡(jiǎn)介1</p><p>  1.2 開(kāi)發(fā)背景1</p><p>  1.3 開(kāi)發(fā)

7、環(huán)境1</p><p>  第二章 面向?qū)ο笏枷?</p><p>  2.1 系統(tǒng)需求分析2</p><p>  2.2 系統(tǒng)總體設(shè)計(jì)2</p><p>  2.2.1 系統(tǒng)設(shè)計(jì)目標(biāo)3</p><p>  2.2.2 開(kāi)發(fā)設(shè)計(jì)思想3</p><p>  2.2.3 系統(tǒng)功能模塊設(shè)

8、計(jì)3</p><p>  2.3 面向?qū)ο笏枷朊枋?</p><p>  1、類的層次設(shè)計(jì)5</p><p><b>  2、功能設(shè)計(jì)5</b></p><p>  第三章 面向?qū)ο髮?shí)現(xiàn)6</p><p><b>  3.1 結(jié)構(gòu)6</b></p>

9、<p><b>  3.2程序模塊6</b></p><p>  3.3 各類之間的關(guān)系16</p><p>  3.4 源程序代碼17</p><p>  第四章 測(cè)試與分析30</p><p>  4.1 測(cè)試數(shù)據(jù)選擇30</p><p>  4.2 測(cè)試結(jié)果分析35&l

10、t;/p><p><b>  總 結(jié)37</b></p><p><b>  心得體會(huì)38</b></p><p><b>  參考文獻(xiàn)39</b></p><p><b>  開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具</b></p><p>&

11、lt;b>  C語(yǔ)言簡(jiǎn)介</b></p><p>  也可以讓各種組件方便的轉(zhuǎn)變?yōu)榛赪eb的應(yīng)用,并且能夠通過(guò)Internet被各種系統(tǒng)或是其他開(kāi)發(fā)語(yǔ)言所開(kāi)發(fā)的應(yīng)用調(diào)用。</p><p><b>  1.2 開(kāi)發(fā)背景</b></p><p>  隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們所深刻認(rèn)識(shí),它己

12、進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。采用計(jì)算機(jī)進(jìn)行信息化管理已成為衡量企業(yè)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,而人事管理的全面自動(dòng)化、信息化則是其中重要的組成部分。人事管理的好壞對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟(jì)效益和社會(huì)效益。因此,本文所研究的人事管理信息系統(tǒng)具有一定的使用價(jià)值和現(xiàn)實(shí)意義。</p><p><b>  1.3 開(kāi)發(fā)環(huán)境</b><

13、/p><p>  在Microsoft Visual C++6.0開(kāi)發(fā)平臺(tái)上編寫程序源代碼,修改,增加動(dòng)能,通過(guò)編譯,連接,直到完全無(wú)誤,最后執(zhí)行程序,反復(fù)輸入新的數(shù)據(jù)進(jìn)行驗(yàn)證,并進(jìn)一步完善。</p><p>  第二章 面向?qū)ο笏枷?lt;/p><p>  2.1 系統(tǒng)需求分析</p><p>  隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在高校管理中應(yīng)用

14、的普及,利用計(jì)算機(jī)實(shí)現(xiàn)高校人事管理勢(shì)在必行。對(duì)于高校來(lái)說(shuō),利用計(jì)算機(jī)支持高校高效率完成人事管理的日常事務(wù),是適應(yīng)現(xiàn)代高校制度的要求,推動(dòng)高校人事管理走向科學(xué)化、規(guī)范化的必要條件;計(jì)算機(jī)管理所無(wú)法比擬的優(yōu)點(diǎn)檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大的提高人事管理的效率,也是高??茖W(xué)化、正規(guī)化的管理與世界接軌的重要條件。本系統(tǒng)結(jié)合高校的實(shí)際管理制度,經(jīng)過(guò)實(shí)際的需求分析,采用功能強(qiáng)大的c++作為開(kāi)發(fā)工

15、具而開(kāi)發(fā)出的單機(jī)版高校人事管理系統(tǒng)。</p><p>  2.2 系統(tǒng)總體設(shè)計(jì)</p><p><b>  1、問(wèn)題描述: </b></p><p>  某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時(shí)工?,F(xiàn)在,需要存儲(chǔ)這些人員的人事檔案信息:編號(hào)、姓名、性別、年齡、職務(wù)、職稱、政治面貌、最高學(xué)歷、任職時(shí)間、來(lái)

16、院時(shí)間。</p><p><b>  2、功能要求: </b></p><p>  1) 添加刪除功能:能根據(jù)學(xué)院人事的變動(dòng)情況,添加刪除記錄;</p><p>  2) 查詢功能:能根據(jù)編號(hào)和姓名進(jìn)行查詢;</p><p>  3) 編輯功能(高級(jí)):根據(jù)查詢對(duì)相應(yīng)的記錄進(jìn)行修改,并存儲(chǔ);</p>

17、<p>  4) 統(tǒng)計(jì)功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì)(在職人數(shù)、黨員人數(shù)、女工人數(shù)、高學(xué)歷高職稱人數(shù));</p><p>  5) 保存功能:能對(duì)輸入的數(shù)據(jù)進(jìn)行相應(yīng)的存儲(chǔ),要求重載插入和提取符以完成數(shù)據(jù)的保存和打開(kāi)。</p><p>  6) 人員編號(hào)在生成人員信息時(shí)同時(shí)生成,每輸入一個(gè)人員信息編號(hào)順序加1</p><p>  2.2.1 系統(tǒng)設(shè)

18、計(jì)目標(biāo) </p><p>  根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> ?。?)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p>  (3)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; </p>&

19、lt;p> ?。?)完成類層次中各個(gè)類的描述(包括屬性和方法); </p><p>  (5)完成類中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b> ?。?)功能調(diào)試;</b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</p>

20、<p>  2.2.2 開(kāi)發(fā)設(shè)計(jì)思想</p><p>  基于以上系統(tǒng)設(shè)計(jì)目標(biāo),本文在開(kāi)發(fā)高校人事管理信息系統(tǒng)時(shí)遵循了以下開(kāi)發(fā)設(shè)計(jì)思想:</p><p>  ●采用現(xiàn)有的軟硬件環(huán)境及先進(jìn)的管理系統(tǒng)開(kāi)發(fā)方案,從而達(dá)到充分利用現(xiàn)有資源,提高系統(tǒng)開(kāi)發(fā)水平和應(yīng)用效果的目的。</p><p>  ●盡量達(dá)到操作過(guò)程中的直觀、方便、實(shí)用、安全等要求。</p>

21、;<p>  ●系統(tǒng)采用C/S體系結(jié)構(gòu),Clinet(客戶端)負(fù)責(zé)提供表達(dá)邏輯、顯示用戶界面信息、訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器;Server(服務(wù)器端)則用于提供數(shù)據(jù)服務(wù)。(寫出三層設(shè)計(jì)思想)</p><p>  ●系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開(kāi)發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù)。</p><p>  ●系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)

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

23、p><p>  添加人員功能 </p><p>  該系統(tǒng)中,高校管理人員應(yīng)該對(duì)員工的基本檔案信息進(jìn)行記錄儲(chǔ)存,這樣,在確定好高校人員對(duì)象后,才能正確的進(jìn)行一步操作動(dòng)作,如在職人員(行政人員,教師,一般員工),退休人員,返聘人員和臨時(shí)工。現(xiàn)在,需要存儲(chǔ)這些人員的人事檔案信息:編號(hào),姓名,性別,年齡,職務(wù),職稱,政治面貌,學(xué)歷,來(lái)院時(shí)間。</p><p><

24、b>  修改人員功能 </b></p><p>  高校管理人員可以通過(guò)員工的編號(hào)進(jìn)行修改員工的信息。</p><p><b>  刪除人員功能 </b></p><p>  管理人員可使用該系統(tǒng),對(duì)高校的人事變動(dòng)進(jìn)行相應(yīng)的調(diào)整,刪除員工信息。</p><p><b>  查找人員功能

25、 </b></p><p>  通過(guò)該系統(tǒng),管理人員可以查找員工各項(xiàng)信息,包括按編號(hào)查找和按學(xué)號(hào)查找兩種查找方式。</p><p><b>  顯示人員功能 </b></p><p>  通過(guò)該系統(tǒng),高校管理人員可以清晰的查看高校員工的各項(xiàng)信息,如職務(wù)、姓名、編號(hào)等。</p><p><b>

26、  數(shù)據(jù)裝入功能 </b></p><p>  系統(tǒng)可以在啟動(dòng)時(shí),導(dǎo)入相應(yīng)的人員信息,在退出時(shí)可以導(dǎo)出變化后的人員信息,并保存到硬盤上。</p><p><b>  數(shù)據(jù)存盤 </b></p><p>  再添加人員資料后,為了保存所輸入的信息,這時(shí)需要將數(shù)據(jù)存盤。</p><p>  2.3 面向?qū)ο?/p>

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

28、p><b>  2、功能設(shè)計(jì)</b></p><p> ?。?)添加刪除功能:能根據(jù)人事的變動(dòng)情況,添加刪除記錄;</p><p>  (2)查詢功能:能根據(jù)編號(hào)和姓名進(jìn)行查詢;</p><p> ?。?)編輯功能:根據(jù)查詢對(duì)相應(yīng)的記錄進(jìn)行修改,并存儲(chǔ);</p><p> ?。?)保存功能:能對(duì)輸入的數(shù)據(jù)進(jìn)行相應(yīng)的

29、存儲(chǔ),要求重載插入和提取符以完成數(shù)據(jù)的保存和打開(kāi)。</p><p><b>  面向?qū)ο髮?shí)現(xiàn)</b></p><p><b>  3.1 結(jié)構(gòu)</b></p><p>  高校人事管理系統(tǒng)是一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),員工的所有信息都保存在數(shù)據(jù)庫(kù)中。</p><p><b>  3.2程序模塊&l

30、t;/b></p><p><b>  1.界面設(shè)計(jì)</b></p><p>  cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "<<endl;</p><p>  cout<<"

31、 高校人事管理系統(tǒng)"<<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--查詢?nèi)藛T信息"<<endl;&

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

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

35、quot;<<</p><p><b>  2.各功能模塊實(shí)現(xiàn)</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<<"請(qǐng)輸入編號(hào):";</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的后繼指針空,則執(zhí)行“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后繼指針不空,執(zhí)行“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>  }</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<<"請(qǐng)輸入要?jiǎng)h除人員的編號(hào):";</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要?jiǎng)h除的人員列表已

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編號(hào)為"<<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編號(hào)為"<

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要?jiǎng)h除的成員不存在!"<<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<<"請(qǐng)輸入要修改人員的編:"</p><p><b>  cin>>iid;<

55、/b></p><p>  if(ahead==NULL)</p><p><b>  {</b></p><p>  cout<<"\t\t無(wú)人員信息"<<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<<"請(qǐng)選擇要修改的內(nèi)容:"<<endl;</p><

59、p>  cout<<" 1:姓名 2:性別 3:年齡 4:職工類型 5:職務(wù)"<<endl;</p><p>  cout<<" 6:職稱 7:學(xué)歷 8:政治面貌 9:來(lái)院時(shí)間 "<<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<<"請(qǐng)輸入姓名:";</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<<"請(qǐng)輸入性別:";</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<<"請(qǐng)輸入年齡:";</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<<"請(qǐng)輸入職工類型:";</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<<"請(qǐng)輸入職務(wù):";</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;請(qǐng)輸入職稱:";</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<<"請(qǐng)輸入學(xué)歷:";</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<<"請(qǐng)輸入政治面貌:";</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<<"請(qǐng)輸入來(lái)院時(shí)間:";</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<<"查無(wú)此人!!!!!!!!!!!!!!!!!!!"<<endl;&

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

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

77、</p><p>  cout<<"請(qǐng)輸入編號(hào):"<<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查無(wú)人員信息!"<<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查無(wú)此人信息:"<<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無(wú)人員信息"<

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查無(wú)此人:"<<endl;</p><p>  return false;</p><p><b>  }&

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

91、oid save()//保存數(shù)據(jù)到文件中</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保存數(shù)據(jù)已經(jīng)完成"<<en

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

97、() //數(shù)據(jù)裝入</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<<" 警告:沒(méi)有數(shù)據(jù)可以裝入!!!!!!!!!!!!!\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 人員和相關(guān)數(shù)據(jù)已經(jīng)裝入.....\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<<" 警告:請(qǐng)選擇數(shù)據(jù)裝入!!!!!!!!!!\n";&l

104、t;/p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  cout<<"編號(hào) 姓名 性別 年齡 職工類型 職務(wù) 職稱 學(xué)歷 政治面貌 來(lái)院時(shí)間 \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 各類之間的關(guān)系</p><p>  class person</p><p><b>  數(shù)據(jù)成員:</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>  函數(shù):&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>  數(shù)據(jù)成員:</b></p><p>  person *myfirst;</p><p><b>  函數(shù)</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; //編號(hào) </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]; //來(lái)院時(shí)間</p><p>  char pos[20]; //職務(wù)</p><p>  char techpos[20];

123、 //職稱</p><p>  char party[20]; //黨派</p><p>  char study[30]; //最高學(xué)歷</p><p>  person *mynext; //指針語(yǔ)</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的值復(fù)制給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>  /*某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時(shí)工。</p><p>  現(xiàn)在,需要存儲(chǔ)這些人員的人事檔案信息:編號(hào)、姓名、性別、年齡、職務(wù)、職稱、政治面貌、最高學(xué)歷、來(lái)院時(shí)間。</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()//無(wú)參構(gòu)造函數(shù)</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[])//有參構(gòu)造函數(shù)</p&

138、gt;<p><b>  {</b></p><p>  myfirst=new person(nnu,ntyp,nnam,nse,nag,ntim,npo,ntechpo,npart,nstud); //為指針對(duì)象開(kāi)辟空間</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;//定義對(duì)象指針并付初值</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<<"請(qǐng)輸入編號(hào)為"<<r<<"的成員的信息"<<endl;</p><p>  cout<<"輸入職工分類碼[行政人員,教師,一般員工,退休人員,返聘人員,臨時(shí)工]:"<<endl;</p&g

溫馨提示

  • 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)論