版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)---高校學(xué)生信息管理系統(tǒng)
- c++課程設(shè)計(jì)--職工信息管理
- c++課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- c++課程設(shè)計(jì)--藥品信息管理系統(tǒng)
- c++客戶信息管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--超市信息管理系統(tǒng)
- c++課程設(shè)計(jì)--職工信息管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)---公司人員信息管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- c++課程設(shè)計(jì)——圖書(shū)信息管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---圖書(shū)信息管理系統(tǒng)
- 課程設(shè)計(jì)--c++編寫的學(xué)生信息管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---圖書(shū)信息管理系統(tǒng)
- 面向?qū)ο骳++課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- c++課程設(shè)計(jì)--參會(huì)人員信息管理程序
- 公司員工信息管理系統(tǒng)c++課程設(shè)計(jì)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- c++課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---職工信息管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告---圖書(shū)信息管理系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論