版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《面向?qū)ο笳Z言程序設計》課程設計報告書</p><p> 班 級 </p><p> 專 業(yè) 計算機科學與技術 </p><p> 姓 名 </p><p> 學 號
2、 </p><p> 課程名稱 面向?qū)ο笳Z言程序設計</p><p> 指導教師 </p><p><b> 摘要</b></p><p> 隨著高等學校的快速發(fā)展,高校的規(guī)模越來越大,教職工數(shù)量越來越多,從而對高校的管理越來越重要。高校人事管理系統(tǒng)就是一
3、套輔助管理人員的系統(tǒng),他能夠方便、快捷的幫助管理人員管理整個高校的人員,有一個好的高校管理系統(tǒng) ,能夠很大程度上幫助高校管理人事的變更。</p><p> 計算機應用正沿著硬件和軟件兩條主線相互促進,不斷發(fā)展。如果說硬件是計算機的軀體,那么軟件就是計算機的靈魂,軟件和信息服務業(yè)將成為世界第一大產(chǎn)業(yè)。Visual C++ 是一個很強大的可視化軟件開發(fā)工具,它不僅僅是一個C++編譯器,還是一種基于Windows操
4、作系統(tǒng)的集成開發(fā)環(huán)境。Visual C++開發(fā)出來的軟件具有穩(wěn)定性好,可移植性強的特點。</p><p> 設計的主要目的是提高實際操作能力,結合Visual C++開發(fā)環(huán)境進行Windows應用程序的開發(fā),去解決各類的實際問題。</p><p> 在設計中,我們利用Visual C++開發(fā)了高校人事管理系統(tǒng)。設計的功能主要有八項,添加員工信息、刪除員工信息、修改以及查詢員工信息 、顯
5、示員工信息、統(tǒng)計員工信息、以及數(shù)據(jù)的裝入和存盤, 通過文件的操作,更好的實現(xiàn)信息的安全性。功能的實現(xiàn)主要是利用對話框的方式來實現(xiàn)的,利用命令窗口提供有好的交互界面,通過學習以及理解window操作系統(tǒng)的消息處理機制,完成了用戶和對話框的交互。</p><p> 這次設計的實踐性強,對動手能力要求很高,必須在掌握基本理論和基本方法的基礎上,相互溝通相互合作才能解決實際問題。</p><p>
6、; 關鍵詞:高校人事管理系統(tǒng) 添加 查詢 刪除 修改 顯示 統(tǒng)計 裝入 存盤</p><p><b> 目錄</b></p><p> 第一章 開發(fā)環(huán)境和開發(fā)工具1</p><p> 1.1 C++語言簡介1</p><p> 1.2 開發(fā)背景1</p><p> 1.3 開發(fā)
7、環(huán)境1</p><p> 第二章 面向?qū)ο笏枷?</p><p> 2.1 系統(tǒng)需求分析2</p><p> 2.2 系統(tǒng)總體設計2</p><p> 2.2.1 系統(tǒng)設計目標3</p><p> 2.2.2 開發(fā)設計思想3</p><p> 2.2.3 系統(tǒng)功能模塊設
8、計3</p><p> 2.3 面向?qū)ο笏枷朊枋?</p><p> 1、類的層次設計5</p><p><b> 2、功能設計5</b></p><p> 第三章 面向?qū)ο髮崿F(xiàn)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 測試數(shù)據(jù)選擇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> 開發(fā)環(huán)境和開發(fā)工具</b></p><p>&
11、lt;b> C語言簡介</b></p><p> 也可以讓各種組件方便的轉變?yōu)榛赪eb的應用,并且能夠通過Internet被各種系統(tǒng)或是其他開發(fā)語言所開發(fā)的應用調(diào)用。</p><p><b> 1.2 開發(fā)背景</b></p><p> 隨著科學技術的不斷發(fā)展,計算機科學日漸成熟,其強大的功能已為人們所深刻認識,它己
12、進入人類社會的各個領域并發(fā)揮著越來越重要的作用。采用計算機進行信息化管理已成為衡量企業(yè)管理科學化和現(xiàn)代化的重要標志,而人事管理的全面自動化、信息化則是其中重要的組成部分。人事管理的好壞對于企業(yè)的決策者和管理者來說都至關重要,在很大程度上影響著企業(yè)的經(jīng)濟效益和社會效益。因此,本文所研究的人事管理信息系統(tǒng)具有一定的使用價值和現(xiàn)實意義。</p><p><b> 1.3 開發(fā)環(huán)境</b><
13、/p><p> 在Microsoft Visual C++6.0開發(fā)平臺上編寫程序源代碼,修改,增加動能,通過編譯,連接,直到完全無誤,最后執(zhí)行程序,反復輸入新的數(shù)據(jù)進行驗證,并進一步完善。</p><p> 第二章 面向?qū)ο笏枷?lt;/p><p> 2.1 系統(tǒng)需求分析</p><p> 隨著計算機技術的飛速發(fā)展,計算機在高校管理中應用
14、的普及,利用計算機實現(xiàn)高校人事管理勢在必行。對于高校來說,利用計算機支持高校高效率完成人事管理的日常事務,是適應現(xiàn)代高校制度的要求,推動高校人事管理走向科學化、規(guī)范化的必要條件;計算機管理所無法比擬的優(yōu)點檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大的提高人事管理的效率,也是高??茖W化、正規(guī)化的管理與世界接軌的重要條件。本系統(tǒng)結合高校的實際管理制度,經(jīng)過實際的需求分析,采用功能強大的c++作為開發(fā)工
15、具而開發(fā)出的單機版高校人事管理系統(tǒng)。</p><p> 2.2 系統(tǒng)總體設計</p><p><b> 1、問題描述: </b></p><p> 某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工?,F(xiàn)在,需要存儲這些人員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、任職時間、來
16、院時間。</p><p><b> 2、功能要求: </b></p><p> 1) 添加刪除功能:能根據(jù)學院人事的變動情況,添加刪除記錄;</p><p> 2) 查詢功能:能根據(jù)編號和姓名進行查詢;</p><p> 3) 編輯功能(高級):根據(jù)查詢對相應的記錄進行修改,并存儲;</p>
17、<p> 4) 統(tǒng)計功能:能根據(jù)多種參數(shù)進行人員的統(tǒng)計(在職人數(shù)、黨員人數(shù)、女工人數(shù)、高學歷高職稱人數(shù));</p><p> 5) 保存功能:能對輸入的數(shù)據(jù)進行相應的存儲,要求重載插入和提取符以完成數(shù)據(jù)的保存和打開。</p><p> 6) 人員編號在生成人員信息時同時生成,每輸入一個人員信息編號順序加1</p><p> 2.2.1 系統(tǒng)設
18、計目標 </p><p> 根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> (1)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p> ?。?)分析系統(tǒng)中的各個實體及它們之間的關系包括屬性和行為; </p><p> ?。?)根據(jù)問題描述,設計系統(tǒng)的類層次; </p>&
19、lt;p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個成員函數(shù)的定義; </p><p> (6)完成系統(tǒng)的應用模塊; </p><p><b> (7)功能調(diào)試;</b></p><p> (8)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p>
20、<p> 2.2.2 開發(fā)設計思想</p><p> 基于以上系統(tǒng)設計目標,本文在開發(fā)高校人事管理信息系統(tǒng)時遵循了以下開發(fā)設計思想:</p><p> ●采用現(xiàn)有的軟硬件環(huán)境及先進的管理系統(tǒng)開發(fā)方案,從而達到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應用效果的目的。</p><p> ●盡量達到操作過程中的直觀、方便、實用、安全等要求。</p>
21、;<p> ●系統(tǒng)采用C/S體系結構,Clinet(客戶端)負責提供表達邏輯、顯示用戶界面信息、訪問數(shù)據(jù)庫服務器;Server(服務器端)則用于提供數(shù)據(jù)服務。(寫出三層設計思想)</p><p> ●系統(tǒng)采用模塊化程序設計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術維護人員補充、維護。</p><p> ●系統(tǒng)應具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)
22、據(jù)的添加、刪除、修改、查找等操作。</p><p> 2.2.3 系統(tǒng)功能模塊設計</p><p> 本系統(tǒng)分為七個模塊:添加人員、修改人員、刪除人員、查找人員、數(shù)據(jù)裝入,數(shù)據(jù)存盤、顯示數(shù)據(jù)。得到如圖2.2.3-1所示的系統(tǒng)功能模塊圖。</p><p> 圖2.2.3-1系統(tǒng)功能模塊圖</p><p> 注釋:各模塊功能說明</
23、p><p> 添加人員功能 </p><p> 該系統(tǒng)中,高校管理人員應該對員工的基本檔案信息進行記錄儲存,這樣,在確定好高校人員對象后,才能正確的進行一步操作動作,如在職人員(行政人員,教師,一般員工),退休人員,返聘人員和臨時工?,F(xiàn)在,需要存儲這些人員的人事檔案信息:編號,姓名,性別,年齡,職務,職稱,政治面貌,學歷,來院時間。</p><p><
24、b> 修改人員功能 </b></p><p> 高校管理人員可以通過員工的編號進行修改員工的信息。</p><p><b> 刪除人員功能 </b></p><p> 管理人員可使用該系統(tǒng),對高校的人事變動進行相應的調(diào)整,刪除員工信息。</p><p><b> 查找人員功能
25、 </b></p><p> 通過該系統(tǒng),管理人員可以查找員工各項信息,包括按編號查找和按學號查找兩種查找方式。</p><p><b> 顯示人員功能 </b></p><p> 通過該系統(tǒng),高校管理人員可以清晰的查看高校員工的各項信息,如職務、姓名、編號等。</p><p><b>
26、 數(shù)據(jù)裝入功能 </b></p><p> 系統(tǒng)可以在啟動時,導入相應的人員信息,在退出時可以導出變化后的人員信息,并保存到硬盤上。</p><p><b> 數(shù)據(jù)存盤 </b></p><p> 再添加人員資料后,為了保存所輸入的信息,這時需要將數(shù)據(jù)存盤。</p><p> 2.3 面向?qū)ο?/p>
27、思想描述</p><p><b> 1、類的層次設計</b></p><p> 定義兩個類,一個person類,包含在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工。員工信息包括編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、來院時間。定義一個school類,在里面實現(xiàn)數(shù)據(jù)的添加、刪除、修改、查找、顯示和退出</p><
28、p><b> 2、功能設計</b></p><p> (1)添加刪除功能:能根據(jù)人事的變動情況,添加刪除記錄;</p><p> ?。?)查詢功能:能根據(jù)編號和姓名進行查詢;</p><p> ?。?)編輯功能:根據(jù)查詢對相應的記錄進行修改,并存儲;</p><p> ?。?)保存功能:能對輸入的數(shù)據(jù)進行相應的
29、存儲,要求重載插入和提取符以完成數(shù)據(jù)的保存和打開。</p><p><b> 面向?qū)ο髮崿F(xiàn)</b></p><p><b> 3.1 結構</b></p><p> 高校人事管理系統(tǒng)是一個數(shù)據(jù)庫應用系統(tǒng),員工的所有信息都保存在數(shù)據(jù)庫中。</p><p><b> 3.2程序模塊&l
30、t;/b></p><p><b> 1.界面設計</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.各功能模塊實現(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<<"請輸入編號:";</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<<"請輸入要刪除人員的編號:";</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<<"請選擇要修改的內(nèi)容:"<<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> 數(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<<" 警告:沒有數(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 人員和相關數(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<<" 警告:請選擇數(shù)據(jù)裝入!!!!!!!!!!\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> 數(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; //編號 </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> 現(xiàn)在,需要存儲這些人員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、來院時間。</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()//無參構造函數(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[])//有參構造函數(shù)</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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設計---高校學生信息管理系統(tǒng)
- c++課程設計--職工信息管理
- c++課程設計---學生信息管理系統(tǒng)
- c++課程設計--藥品信息管理系統(tǒng)
- c++客戶信息管理系統(tǒng)課程設計
- c++課程設計--超市信息管理系統(tǒng)
- c++課程設計--職工信息管理系統(tǒng)
- c++課程設計——學生信息管理系統(tǒng)課程設計報告
- c++課程設計---公司人員信息管理系統(tǒng)
- c++課程設計報告--學生信息管理系統(tǒng)
- c++課程設計——圖書信息管理系統(tǒng)
- c++課程設計報告---圖書信息管理系統(tǒng)
- 課程設計--c++編寫的學生信息管理系統(tǒng)
- c++課程設計報告---圖書信息管理系統(tǒng)
- 面向?qū)ο骳++課程設計--學生信息管理系統(tǒng)
- c++課程設計--參會人員信息管理程序
- 公司員工信息管理系統(tǒng)c++課程設計
- c++程序設計課程設計---學生信息管理系統(tǒng)
- c++課程設計實驗報告---職工信息管理系統(tǒng)課程設計
- c++課程設計報告---圖書信息管理系統(tǒng)設計
評論
0/150
提交評論