公司員工信息管理系統(tǒng)設計_第1頁
公司員工信息管理系統(tǒng)設計_第2頁
公司員工信息管理系統(tǒng)設計_第3頁
公司員工信息管理系統(tǒng)設計_第4頁
公司員工信息管理系統(tǒng)設計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 面向對象程序設計(C+)課程大作業(yè)設計題目: 公司員工信息管理系統(tǒng)設計 院 系: 計算機科學與信息工程學院 專業(yè)班級: 軟件工程 學號姓名: 指導教師: 王瑞平 2015 年 1月目 錄1 目的與要求11.1 設計目的11.2 基本要求11.3 功能要求12 系統(tǒng)分析32.1 系統(tǒng)需求分析32.2 系統(tǒng)功能分析42.3 系統(tǒng)可行性分析42.3.1 技術可行性分析42.3.2 操作可行性分析4 2.3.3 經濟可行性分析53 系統(tǒng)設計63.1 系統(tǒng)結構圖63.2 系統(tǒng)功能模塊63.3 系統(tǒng)類的設計74 系統(tǒng)實現(xiàn)10 4.1 經理類的實現(xiàn)104.2 技術人員類的實現(xiàn)164.3 主函數(shù)的實現(xiàn)22結

2、束語23參考文獻231 目的與要求1.1 設計目的(1) 要求學生達到熟練掌握C+語言的基本知識和技能; (2) 基本掌握面向對象程序設計的基本思路和方法; (3)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。1.2 基本要求(1)要求利用面向對象的方法以及C+的編程思想來完成系統(tǒng)的設計; (2)要求在設計的過程中,建立清晰的類層次; (3)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; (4)在系統(tǒng)的設計中,至少要用到面向對象的一種機制。 1.3 功能要求(1)添加功能程序能夠任意添加上述四類人員的記錄,可提供選擇界面供用戶選擇所 要添加的人員類別,要求人員的編號要

3、唯一,如果添加了重復編號的記錄時,則提示用戶數(shù)據添加重復并取消添加。(2)查詢功能可根據編號、姓名等信息對已添加的記錄進行查詢。如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息。(3)顯示功能可顯示當前系統(tǒng)中所有記錄。(4)修改功能可根據查詢結果對相應的記錄進行修改,修改時注意編號的唯一性。(5)刪除功能對已添加的人員記錄進行刪除。如果當前系統(tǒng)中沒有相應的人員記錄,則提示“記錄為空!”并返回操作;否則輸入要刪除的人員的編號或姓名,根據所輸入的信息刪除該人員記錄,如果沒有找到該人員信息,則提示相應的記錄不存在。(6)統(tǒng)計功能能根據多種參數(shù)進行人員的統(tǒng)計。例如:統(tǒng)計四類人員數(shù)量以及總

4、數(shù),統(tǒng)計男、女員工的數(shù)量,統(tǒng)計平均工資、最高工資、最低工資等。(7)保存功能將當前系統(tǒng)中各類人員記錄存入文件中。(8)讀取功能將保存在文件中的人員信息讀入到當前系統(tǒng)中,以供用戶使用。在完成以上基本功能的基礎上,可自行進行擴展或完善。2 系統(tǒng)分析隨著經濟的迅速發(fā)展,企業(yè)的規(guī)模越來越大,企業(yè)的管理也越來越復雜,組織機構越來越龐大,組織的劃分也越來越細,對企業(yè)各組織部門的管理以及各部門內部各職務的管理變的十分復雜,需要借助于計算機來進行管理。企業(yè)人員數(shù)量的增多,對員工的管理也是一項繁重的工作。所以,只有合理的對員工進行管理,企業(yè)才能有條不紊的運行。本系統(tǒng)可使管理人員對全局人員結構及崗位配置情況有清晰

5、的了解。在人才選拔上可實現(xiàn)人才的內部挖掘,保證人事的合理配置。 在系統(tǒng)的實施過程中完成了對管理制度和流程的完善和優(yōu)化,提高了整個企業(yè)的人事管理效率,促進人事管理工作向著標準化、規(guī)范化的方向發(fā)展。2.1 系統(tǒng)需求分析本系統(tǒng)操作的信息有存儲基本信息、經理信息、銷售人員信息、銷售經理信息及技術人員信息。1基礎信息的添加功能 程序能夠任意添加經理信息、銷售信息、銷售經理信息和技術人員信息。2修改功能 對已添加的記錄(經理信息、銷售信息、銷售經理信息和技術人員信息)進行修改。3刪除功能 對已添加的記錄(經理信息、銷售信息、銷售經理信息和技術人員信息)進行刪除。 如果當前系統(tǒng)中沒有相應的記錄,則提示“記錄

6、為空!”并返回操作;否則輸入要刪除的編號對該記錄進行刪除,如果沒有找到,則提示相應的記錄不存在。4查詢功能 可根據職位的編號查詢某職位的所有職員信息。 可根據職員的編號查詢某職員的所有信息。 如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息。5保存功能 將當前系統(tǒng)中各類記錄存入文件中。6讀取功能 將保存在文件中的信息讀入到當前系統(tǒng)中,以供用戶使用。2.2 系統(tǒng)功能分析隨著經濟的迅速發(fā)展,企業(yè)的規(guī)模越來越大,企業(yè)的管理也越來越復雜,組織機構越來越龐大,組織的劃分也越來越細,對企業(yè)各組織部門的管理以及各部門內部各職務的管理變的十分復雜,需要借助于計算機來進行管理。企業(yè)人員數(shù)量的增多,

7、對員工的管理也是一項繁重的工作。所以,只有合理的對員工進行管理,企業(yè)才能有條不紊的運行。2.3 系統(tǒng)可行性分析搭建企業(yè)人事管理系統(tǒng)的必要性取決于需求的迫切性和實現(xiàn)的可行性。在決定開發(fā)管理信息系統(tǒng)應用項目之前,首先要做好系統(tǒng)開發(fā)的可行性分析。可行性分析的任務是確定項目開發(fā)是否必要和可行。從以下幾個方面認真進行研究,從而為確定系統(tǒng)開發(fā)項目的決策提供科學依據。2.3.1技術可行性分析技術上的可行性分析所考慮采用的硬件和軟件技術能滿足用戶提出的要求(如計算機的容量、速度等)。此外,因本系統(tǒng)難度不大,所涉及的范圍只限于企業(yè)人事信息管理,所以在技術上已達到開發(fā)該系統(tǒng)的能力。2.3.2操作可行性分析 對于用

8、戶來說,本系統(tǒng)只要求使用者掌握一定的上網經驗,經過仔細設計和測試之后的系統(tǒng)具有操作簡單,方便靈活等優(yōu)點,足可以滿足各種用戶的不同需求,同時也方便了公司的內部管理。管理人員及用戶一定會在短時間內掌握并熟練使用。只要動一動鼠標鍵盤就可以達到想要的效果。2.3.3經濟可行性分析 系統(tǒng)的經濟可行性指的是對組織的經濟狀況和投資能力進行分析,對系統(tǒng)建設、運行和維護費用進行估算,對系統(tǒng)建成后可能取得的社會及經濟效益進行估計。 本模塊簡單易開發(fā),且開發(fā)需要資金少,系統(tǒng)開發(fā)運行后,可以實現(xiàn)企業(yè)員工信息管理的計算機化,節(jié)省了人力、物力,將人從繁重的工作業(yè)務中解脫出來,減少了信息管理中無意的錯誤,節(jié)省了大量的時間,

9、管理效率也大幅度提高,因此,在經濟上是可行的。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經濟上完全可行。3 系統(tǒng)設計3.1 系統(tǒng)結構圖公司人員信息管理系統(tǒng) 技術人員信息添加 技術人員信息查詢 技術人員信息顯示 技術人員信息修改 技術人員信息刪除 技術人員信息統(tǒng)計 技術人員信息保存 技術人員信息讀取技術人員信息管理 銷售經理信息添加 銷售經理信息查詢 銷售經理信息顯示 銷售經理信息修改 銷售經理信息刪除 銷售經理信息統(tǒng)計 銷售經理信息保存 銷售經理信息讀取銷售經理信息管理 銷售人員信息添加 銷售人員信息查詢 銷售人員信息顯示 銷售人員信息修改 銷售人員信息刪除 銷售人員信息統(tǒng)計 銷售人員信息保存

10、 銷售人員信息讀取銷售人員信息管理 經理信息的添加 經理信息的查詢 經理信息的顯示 經理信息的修改 經理信息的刪除 經理信息的統(tǒng)計 經理信息的保存 經理信息的讀取 經理信息管理3.2 系統(tǒng)功能模塊 系統(tǒng)定義了Stuff類、Manager類、Salesman類、SalseManager類這五個類,定義了add()、modify()、del()、read()、save()、look()、count()、show()、等函數(shù)來實現(xiàn)系統(tǒng)所需功能。系統(tǒng)通過調用函數(shù)來實現(xiàn)信息錄入、信息修改、信息刪除、信息查詢和數(shù)據保存等功能。add()函數(shù)用于錄入信息;modify()函數(shù)用來修改信息;del()函數(shù)用來

11、修改信息;look()函數(shù)用來搜索職員信息;read()函數(shù)用于將文件中的數(shù)據讀取到內存中;save()函數(shù)用于將內存中的信息存入文件內;count用于統(tǒng)計職員總數(shù);show()顯示職員信息;主函數(shù)main用于調用這些函數(shù)。 3.3 系統(tǒng)類的設計(1)Stuff類(抽象類)的設計:Stuffvirtual void read()=0;virtual void add()=0; virtual void modify(int)=0;virtual void del(int)=0;virtual void save()=0;Virtual void look()=0;Virtual void co

12、unt()=0;Virtual void show()=0;Virtual void Input()=0;Virtual void Output()=0;Manager float pay; void read(); void add(); void look(); void show(); void modify(int); void del(int); void count(); void save(); void Input()(2)經理類的設計:Salesman float market; float rate; void read(); void add(); void look()

13、; void show(); void modify(int); void del(int); void count(); void save(); void Input()(3)銷售人員類的設計:(4)銷售經理類的設計: SalesManagerfloat pay1,market1,rate1; void read(); void add(); void look(); void show(); void modify(int); void del(int); void count(); void save(); void Input();(5)技術人員類的設計:Technicist flo

14、at hour; void read(); void add(); void look(); void show(); void modify(int); void del(int); void count(); void save(); void Input()(6) 各個類的關系描述:Technicistfloat hour;void read();void add();void look();void show();void modify(int);void del(int);void count();void save();void Input()Stuffvirtual void r

15、ead()=0;virtual void add()=0; virtual void modify(int)=0;virtual void del(int)=0;virtual void save()=0;Virtual void look()=0;Virtual void count()=0;Virtual void show()=0;Virtual void Input()=0;Virtual void Output()=0;Managerfloat pay;void read();void add();void look();void show();Void modify(int);vo

16、id del(int);void count();void save();void Input();void Input()Salesmanfloat market;float rate;void read();void add();void look();void show();void modify(int);void del(int);void count();void save();void Input()SalesManagerfloat pay1,market1,rate1; void read();void add();void look();void show();void m

17、odify(int);void del(int);void count();void save();void Input(); 4 系統(tǒng)實現(xiàn)4.1 經理類的實現(xiàn) class Manager:public Stuff public:void read();void add();void look();void show();void modify(int); void del(int); void count();void save(); void Input() cout<<"請輸入經理的編號:n" cin>>number;cout<<&

18、quot;姓名:n" cin>>name; cout<<"性別:n" cin>>sex; cout<<"所在部門:n" cin>>department; cout<<"級別:n" cin>>rank;cout<<"固定工資:n" cin>>pay; monpay=pay;void Output()cout<<setw(10)<<"經理信息 "<<

19、;setw(10)<<"編號"<<setw(10)<<"姓名"<<setw(10)<<"性別"<<setw(10)<<"所在部門"<<setw(10)<<"級別"<<setw(10)<<"月薪"<<endl; cout<<setw(10)<<"經理信息 "<<setw(10)&l

20、t;<number<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<department<<setw(10)<<rank<<setw(10)<<monpay<<endl;protected: float pay;Manager.cppvoid Manager:read()fstream managerfile("經理信息管理.dat",ios:in|ios:out); managerfile>&g

21、t;m1count_Manager.number>>m1count_M>>m1count_Manager.sex>>m1count_Manager.department>>m1count_Manager.rank>>m1count_Manager.monpay;while(!managerfile.eof()managerfile>>m1count_Manager.number>>m1count_M>>m1count_Manager.sex>>

22、m1count_Manager.department>>m1count_Manager.rank>>m1count_Manager.monpay; count_Manager+;managerfile.close();void Manager:add()m1count_Manager.number=number; strcpy(m1count_M,name); strcpy(m1count_Manager.sex,sex); strcpy(m1count_Manager.department,department); strcpy(m1count_

23、Manager.rank,rank); m1count_Manager.monpay=monpay; m1count_Manager.number=number; count_Manager+;void Manager:look() if(count_Manager=0) cout<<"對不起,沒有相關記錄!"<<endl; return; int choice; cout<<"請選擇查找方式:1、編號查找 2、姓名查找 "<<endl; cin>>choice; while(choice!=1

24、&&choice!=2)cout<<"請輸入正確的選擇:"cin>>choice; switch(choice) case 1:cout<<"請輸入要查找經理的編號:"int number; cin>>number; for(int i=0;i<count_Manager;i+) if(m1i.number=number) m1i.Output();return; cout<<"沒有相關人員!"<<endl; break;case 2:cou

25、t<<"請輸入要查找經理的姓名:" char name100;cin>>name;for(int i=0;i<count_Manager;i+)if(strcmp(,name)=0)m1i.Output(); return;cout<<"沒有相關人員!"<<endl;break;default:cout<<"無此選項,請重試!"<<endl;break;void Manager:show() for(int i=0;i<=count_M

26、anager-1;i+) m1i.Output(); void Manager:modify(int index) m1index-1.number=number; strcpy(,name); strcpy(m1index-1.sex,sex);strcpy(m1index-1.department,department);strcpy(m1index-1.rank,rank); m1index-1.monpay=monpay;void Manager:del(int index)for(int i=index;i<=count_Manager-1;i+)m

27、1i-1.number=m1i.number;strcpy(,); strcpy(m1i-1.sex,m1i.sex);strcpy(m1i-1.department,m1i.department);strcpy(m1i-1.rank,m1i.rank); m1i-1.monpay=m1i.monpay;count_Manager-; void Manager:count() int sum=0;int male=0,female=0;for(int i=0;i<count_Manager;i+)if(!strcmp(m1i.sex,"男&q

28、uot;)male+;if(!strcmp(m1i.sex,"女")female+;sum+;cout<<"總的人數(shù)是:"<<sum<<endl;cout<<"男的人數(shù)是:"<<male<<endl;cout<<"女的人數(shù)是:"<<female<<endl;void Manager:save()ofstream managerfile;managerfile.open("經理信息管理.dat&quo

29、t;);for(int i=0;i<=count_Manager-1;i+) managerfile<<m1i.number<<" "<<<<" "<<m1i.sex<<" "<<m1i.department<<" "<<m1i.rank<<" "<<m1i.monpay<<endl; managerfile.close();程序運

30、行結果:4.2 技術人員類的實現(xiàn)Technicist.hclass Technicist:public Stuffpublic: void read(); void add(); void look(); void show(); void modify(int); void del(int); void count(); void save(); void Input() cout<<"請輸入技術人員的編號:n" cin>>number;cout<<"姓名:n" cin>>name; cout<&l

31、t;"性別:n" cin>>sex; cout<<"所在部門:n" cin>>department; cout<<"級別:n" cin>>rank;cout<<"工作時數(shù):n" cin>>hour;monpay=100*hour;void Output()cout<<setw(10)<<"技術人員信息 "<<setw(10)<<"編號"<&

32、lt;setw(10)<<"姓名"<<setw(10)<<"性別"<<setw(10)<<"所在部門"<<setw(10)<<"級別"<<setw(10)<<"月薪"<<endl;cout<<setw(10)<<"技術人員信息"<<setw(10)<<number<<setw(10)<<

33、name<<setw(10)<<sex<<setw(10)<<department<<setw(10)<<rank<<setw(10)<<monpay<<endl;protected: float hour;Technicist.cppvoid Technicist:read() fstream Technicistfile("技術人員信息管理.dat",ios:in|ios:out); Technicistfile>>t1count_Technicist

34、.number>>t1count_T>>t1count_Technicist.sex>>t1count_Technicist.department>>t1count_Technicist.rank>>t1count_Technicist.monpay;while(!Technicistfile.eof()Technicistfile>>t1count_Technicist.number>>t1count_T>>t1count_Technicis

35、t.sex>>t1count_Technicist.department>>t1count_Technicist.rank>>t1count_Technicist.monpay;count_Technicist+;Technicistfile.close();void Technicist:add()t1count_Technicist.number=number; strcpy(t1count_T,name); strcpy(t1count_Technicist.sex,sex);strcpy(t1count_Technicis

36、t.department,department);strcpy(t1count_Technicist.rank,rank); t1count_Technicist.monpay=monpay; count_Technicist+;void Technicist:look() if(count_Technicist=0) cout<<"對不起,沒有相關記錄!"<<endl; return; int choice; cout<<"請選擇查找方式:1、編號查找 2、姓名查找 "<<endl; cin>>

37、;choice; while(choice!=1&&choice!=2)cout<<"請輸入正確的選擇:"cin>>choice; switch(choice) case 1:cout<<"請輸入要查找技術人員的編號:"int number; cin>>number; for(int i=0;i<count_Technicist;i+) if(t1i.number=number)t1i.Output();return; cout<<"沒有相關人員!"&l

38、t;<endl;break;case 2:cout<<"請輸入要查找技術人員的姓名:" char name100;cin>>name;for(int i=0;i<count_Technicist;i+)if(strcmp(,name)=0)t1i.Output(); return;cout<<"沒有相關人員!"<<endl;break;default:cout<<"無此選項,請重試!"<<endl;break;void Technici

39、st:show() for(int i=0;i<=count_Technicist-1;i+) t1i.Output(); void Technicist:modify(int index) t1index-1.number=number; strcpy(,name); strcpy(t1index-1.sex,sex);strcpy(t1index-1.department,department);strcpy(t1index-1.rank,rank); t1index-1.monpay=monpay;void Technicist:del(int inde

40、x)for(int i=index;i<=count_Technicist-1;i+)t1i-1.number=t1i.number;strcpy(,); strcpy(t1i-1.sex,t1i.sex);strcpy(t1i-1.department,t1i.department);strcpy(t1i-1.rank,t1i.rank); t1i-1.monpay=t1i.monpay;count_Technicist-; void Technicist:count() int sum1=0;int male1=0,female1=0;for(in

41、t i=0;i<count_Technicist;i+)if(!strcmp(t1i.sex,"男")male1+;if(!strcmp(t1i.sex,"女")female1+;sum1+;cout<<"總的人數(shù)是:"<<sum1<<endl;cout<<"男的人數(shù)是:"<<male1<<endl;cout<<"女的人數(shù)是:"<<female1<<endl;void Technic

42、ist:save()ofstream Technicistfile; Technicistfile.open("技術人員信息管理.dat");for(int i=0;i<=count_Technicist-1;i+) Technicistfile<<t1i.number<<" "<<<<" "<<t1i.sex<<" "<<t1i.department<<" "<<t

43、1i.rank<<" "<<t1i.monpay<<endl; Technicistfile.close();程序運行結果圖:4.3 主函數(shù)的實現(xiàn)void main() Stuff *p=NULL; Manager mm; mm.read(); Technicist tt; tt.read(); Salesman se; se.read(); Salesmanager sellm; sellm.read(); int choice=1; while(1) cout<<"*歡迎進入公司人員信息管理系統(tǒng)*"<<endl; cout<<" 1.經理信息管理 "<<endl; cout<<

溫馨提示

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

評論

0/150

提交評論