職工管理系統(tǒng)說明書_第1頁
職工管理系統(tǒng)說明書_第2頁
職工管理系統(tǒng)說明書_第3頁
職工管理系統(tǒng)說明書_第4頁
職工管理系統(tǒng)說明書_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C+程序設(shè)計課程設(shè)計說明書職工管理系統(tǒng)指導(dǎo)教師:張銀霞設(shè) 計 者: 許廳 范秋城 崔永雷專業(yè)班級:自動化091設(shè)計時間:2010年10月-11月C+程序設(shè)計課程設(shè)計任務(wù)書專業(yè)班級:自動化091設(shè)計題目:職工信息管理系統(tǒng)一、已知技術(shù)參數(shù)或設(shè)計前提1、該系統(tǒng)目前能容下50名員工信息。2、每個職工的信息包括:員工編號,姓名,性別,年齡,婚姻情況,學(xué)歷,所在部門,所在職務(wù),工作時長,額定工資。3、員工編號是唯一的。二、設(shè)計內(nèi)容及要求1、實現(xiàn)職工信息的數(shù)據(jù)錄入。2、能夠根據(jù)職工的編號,實現(xiàn)對該職工信息的修改。3、實現(xiàn)按職工的編號,所在部門,學(xué)歷,年齡進行職工信息的查詢。4、實現(xiàn)按職工編號刪除指定的職工信

2、息。5、能夠以列表方式輸出所有職工信息。6、實現(xiàn)按照需求擴充系統(tǒng)員工數(shù)的容量。7、通過文件存儲職工信息。8、實現(xiàn)按照年齡段、部門、年齡等輸出職工信息。9、用類實現(xiàn)以上功能。三、課程設(shè)計工作計劃1、了解課程設(shè)計大綱的要求,確定題目,成立設(shè)計小組。(10月1310月16)2、上網(wǎng)查閱資料,確定程序所包含的內(nèi)容,進行問題分析,制定方案。(10月1710月25)3、確定成員分工,根據(jù)方案編寫程序并進行調(diào)試(10月2510月30)4、撰寫設(shè)計說明書,完成設(shè)計(11月111月10)5、對說明書及程序中存在的不足進行修改。(11月1011月19)6、提交設(shè)計內(nèi)容,答辯(11月2011月25)四、相關(guān)教材及參

3、考書目1 陳文宇,張松梅編著.C+語言教程.電子科技大學(xué)出版社,20042 張耀仁著,徹底研究.C+程序設(shè)計.中國鐵道出版社,20063 Cay Horstmann著.C+核心思想.電子工業(yè)大學(xué)出版社,20044 譚正浩著.C+面向?qū)ο蟪绦蛟O(shè)計.清華大學(xué)出版社,20065 (美)埃爾克著.C+編程思想.機械工業(yè)出版社,2005指導(dǎo)教師簽字: 系主任 簽字: 2010年 月 日 職工管理系統(tǒng)一、需求分析步入21世紀的中國經(jīng)濟越來越發(fā)達,務(wù)工人員越來越多,這就直接導(dǎo)致對員工的管理越來越難,本程序的設(shè)計是為了幫組工廠、公司的人員進行智能化的管理。隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系

4、統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應(yīng)的管理信息系統(tǒng)。二、系統(tǒng)的軟硬件環(huán)境1、硬件環(huán)境 CPU 2.0GHz 內(nèi)存 2GB 硬盤 320GB2、軟件環(huán)境 Windows XP visual C+ 6.0三、系統(tǒng)功能模塊如圖1所示,職工管理系統(tǒng)共有五個功能模塊,錄入職工信息功能模塊、查詢職工信息功能模塊、刪除職工信息功能模塊、顯示功能模塊、刪除職工信息模塊和修改職工信息功能模塊。其中查詢信息模塊有分按職工所在部門查詢、按職工學(xué)歷查詢、按職工年齡查詢和、職工編號查詢和輸出全體員工信息

5、。職工管理系統(tǒng)刪除信息錄入信息查詢信息修改信息顯示信息全體信息部門查詢學(xué)歷查詢年齡查詢編號查詢圖1 系統(tǒng)功能模塊圖四、程序設(shè)計分析1 、類結(jié)構(gòu)(1)、職工類Employee 該類的對象是公司里的每一個員工,是該系統(tǒng)當中最主要的數(shù)據(jù)。數(shù)據(jù)成員:姓名(EnameN) 、職工編號(EnumN)、性別(EsexN)、年齡(EageN)、婚姻狀況(EmarriageN)、學(xué)歷(EdegreeN)、工作部門(EdepartN)、職工職位(EpositionN)、工時(EtimeN)、工薪(EpayN)。成員函數(shù):void NewInfo();新信息錄入函數(shù)(采集職工信息),其中運用了while語句來判斷輸

6、入數(shù)據(jù)的合法性。void ShowInfo();信息顯示函數(shù)(顯示所有職工的信息或按要求顯示職工信息),其中運用了switch語句if語句和for循環(huán)語句來實現(xiàn)。void RefreshInfo();修改員工信息的函數(shù)(修改職工信息),其中運用了for循環(huán)語句,if判斷語句和while語句來實現(xiàn)的。voidDeleteInfo();刪除員工數(shù)據(jù)的函數(shù)(刪除職工信息),其中運用了for循環(huán)語句先查找到要刪除的職工信息,再運用if判斷語句對查找到的職工信息進行處理。(2)、職工數(shù)據(jù)類DBOperate 該類的對象為系統(tǒng)數(shù)據(jù)文件,完成對員工信息的保存和讀取。數(shù)據(jù)成員:姓名(EnameN)、職工編號(

7、EnumN)、性別(EsexN)、年齡(EageN)、婚姻狀況(EmarriageN)、學(xué)歷(EdegreeN)、工作部(EdepartN)、職工職位(EpositionN)、工時、工薪(EpayN)。成員函數(shù):void WriteIn(int iflag); 數(shù)據(jù)寫入函數(shù),其中運用了for循環(huán)語句來實現(xiàn)。void ReadOut();數(shù)據(jù)讀出函數(shù),其中運用了for循環(huán)語句來實現(xiàn)。2 、模塊設(shè)計分析(1)、主函數(shù):創(chuàng)建職工類對象e和職工數(shù)據(jù)類對象dbo。(2)、錄入職工數(shù)據(jù):對職工的信息進行采集,調(diào)用void NewInfo();函數(shù)采集職工信息 ,然后將數(shù)據(jù)存入職工數(shù)據(jù)類(DBOperate

8、)的對象dbo中,其中運用到了while語句來判斷輸入數(shù)據(jù)的合法性。(3)、查詢職工數(shù)據(jù):調(diào)用職工數(shù)據(jù)類(DBOperate)的成員函數(shù)(void ReadOut();)打開一個名為"Employee"的txt的文本文檔,然后調(diào)用職工類(Employee)的成員函數(shù)(void ShowInfo();)進行查找或者顯示全部職工信息,其中運用了for循環(huán)語句查找所需職工的信息。(4)、修改職工數(shù)據(jù)調(diào)用職工類(Employee)的成員函數(shù)(void RefreshInfo()),輸入職工的編號進行查找,然后進行修改,其中運用了for循環(huán)語句來查找所要修改的職工信息。 (5)、刪除

9、職工數(shù)據(jù):調(diào)用職工類(Employee)的成員函數(shù)(void DeleteInfo()),輸入職工的編號刪除,其中運用了for循環(huán)語句來查找所要修改的職工信息。 五、使用說明1、系統(tǒng)的啟動首先,置入光盤,打開光盤,雙擊“職工管理系統(tǒng).exe”文件,出現(xiàn)職工管理系統(tǒng)主界面,如圖2所示,出現(xiàn)系統(tǒng)主界面圖,說明啟動成功。圖2 職工管理系統(tǒng)主界面圖2、錄入功能根據(jù)提示分別錄入職工的姓名、年齡、學(xué)歷、性別、所在部門、工作時長、婚姻狀況等信息,如圖3所示的界面圖。圖3 錄入功能界面圖3、查詢和統(tǒng)計功能輸入數(shù)字“1”就會顯示全部職工的信息;輸入數(shù)字“2”就會出現(xiàn)提示“請輸入要查詢的職工所在的部門編號”然后輸

10、入部門編號就會顯示該部門所有職工的信息;輸入數(shù)字“3”就會出現(xiàn)提示“請輸入要查詢的職工的學(xué)歷的編號”然后輸入每個學(xué)歷所對應(yīng)的編號就會顯示擁有該學(xué)歷的所有的職工的信息;輸入數(shù)字“4”就會提示“請輸入要查詢的年齡范圍”然后輸入要查詢的范圍就會顯示該年齡段的所有的職工的信息;輸入數(shù)字“4”就會出現(xiàn)提示“請輸入要查詢的職工的編號”然后輸入編號就會出現(xiàn)該職工的信息,如圖4所示。圖4 查詢和統(tǒng)計功能界面圖4、修改功能輸入要修改的職工的編號,就可以開始修改該職工的信息,修改完后會顯示修改成功。如圖5所示。圖5 修改功能界面圖5、刪除職工信息功能模塊如圖6所示,輸入職工的編號,就會提示是否刪除該職工的信息,如

11、果要刪除就輸入Y,如不需要刪除就輸入N,刪除后就會提示刪除成功。圖6 刪除功能界面圖六、結(jié)束語經(jīng)過幾天艱辛的努力和不懈的奮斗我們這個小組終于把這個程序調(diào)試出來了,由于我們的基礎(chǔ)知識不夠好所以在編譯和調(diào)試的過程中我們遇到了很多的問題,但是我們從來沒有想過放棄,我們彼此鼓勵,去圖書館查閱資料,去詢問老師,然后再編譯在調(diào)試再修改。這個程序的成功之處在于它的功能齊全,它不但能錄入、修改、刪除,還在于擁有靈活的查詢功能,能通過輸入職工號查詢、輸入所在部門查詢、輸入學(xué)歷查詢、輸入年齡查詢等等。通過這次的程序設(shè)計我發(fā)現(xiàn)了我們小組的成員對指針、字符數(shù)組、類和文件操作掌握的不是很好,因此我們這個小組在程序設(shè)計的

12、時候?qū)χ羔樀倪\用很少,這也就成了這個程序最大的不足之處,需要改進。這個程序還有一個不足的地方就是在類的時候那塊沒有設(shè)置私有成員,這樣便導(dǎo)致任何函數(shù)都能訪問類的成員,這個地方同樣需要改進。七、參考文獻1 陳文宇,張松梅編著.C+語言教程.電子科技大學(xué)出版社,20042 張耀仁著.徹底研究C+程序設(shè)計.中國鐵道出版社,20063 Cay Horstmann著.C+核心思想.電子工業(yè)大學(xué)出版社,20044 譚正浩著.C+面向?qū)ο蟪绦蛟O(shè)計.清華大學(xué)出版社,20065 (美)埃爾克著.C+編程思想.機械工業(yè)出版社,2005八、組員分工許 廳:編寫職工類主函數(shù)和職工信息查詢功能模塊,編寫職工信息錄入功能模

13、塊范秋城:編寫職工信息修改功能模塊崔永雷:編寫職工信息刪除功能模塊九、源程序代碼#include<iostream> #include<string> #include<fstream> using namespace std; const N=50; / 定義系統(tǒng)可錄入的員工最大數(shù)值 string EnameN; / 名字long EnumN; /編號char EsexN; /性別int EageN; /年齡char EmarriageN; /婚否int EdepartN; /部門int EpositionN; /職位int Edegree50; /學(xué)歷i

14、nt EworktimeN; /工作時float EpayN; /工薪class Employee /定義職工的一個類public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeeposition; int Employeedegree; int Employeeworktime; float Employeepay; static long EmployeeMaxNum; /最大職工

15、數(shù)static float EmployeeBasePay; /基本工薪void NewInfo(); /新信息輸入函數(shù)void ShowInfo(); /新信息顯示函數(shù)void showall(); /void Employee:checkout();void showdepart(int depart); /顯示員工的部門所在函數(shù)void showdegree(int degree); /顯示員工的學(xué)歷函數(shù)void showage(int min,int max); void shownum(long number); void RefreshInfo(); /更新員工信息函數(shù)void D

16、eleteInfo(); /刪除員工信息函數(shù)float Pay(int Employeegrade); static int MaxNum(); ; class DBOperate /類 public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeeposition; int Employeedegree; int Employeeworktime; float Employeepay

17、; static long EmployeeMaxNum; static float EmployeeBasePay; void WriteIn(int iflag); /類的輸入成員函數(shù)void ReadOut(); /輸出成員函數(shù)void RefreshMaxNum(int iflag); /i=1 or -1 or 0 ; long Employee:EmployeeMaxNum = 1000; float Employee:EmployeeBasePay = 1500; int Employee:MaxNum() /返回系統(tǒng)已經(jīng)存儲的人數(shù) int MN = 0; ifstream my

18、f; myf.open("EmployeeMaxNum.txt"); myf>>MN; myf.close(); return MN; void Employee:NewInfo() /添加新成員函數(shù) cout<<"新員工姓名: " cin>>Employee:Employeename; cout<<"新員工編號:"<<endl;cin>>Employee:Employeenum;cout<<"新員工性別 (F為女性,M為男性): "

19、; cin>>Employee:Employeesex; cout<<"新員工年齡: " cin>>Employee:Employeeage; cout<<"新員工婚姻狀況(Y為已婚,N為未婚): " cin>>Employee:Employeemarriage; cout<<"新員工學(xué)歷,請輸入相應(yīng)學(xué)歷的序號: "<<endl; cout<<" 1:初中 2:高中 3:本科 4:碩士 5:博士 " cin>>

20、;Employee:Employeedegree; while(Employee:Employeedegree !=1&&Employee:Employeedegree !=2&&Employee:Employeedegree !=3&&Employee:Employeedegree !=4&&Employee:Employeedegree !=5) cout<<"輸入有誤,請重新輸入:"<<endl; cout<<" 1:初中 2:高中 3:本科 4:碩士 5:博

21、士" cin>>Employee:Employeedegree; cout<<"新員工所在部門,請輸入相應(yīng)部門的序號:"<<endl; cout<<" 1:董事會 2:市場部 3:公關(guān)部 4:客服中心 5:信息中心 " cin>>Employee:Employeedepart; while(Employee:Employeedepart !=1&&Employee:Employeedepart !=2&&Employee:Employeedepart !

22、=3&&Employee:Employeedepart !=4&&Employee:Employeedepart!=5) cout<<"輸入有誤,請重新輸入:"<<endl; cout<<" 1:董事會 2:市場部 3:公關(guān)部 4:客服中心 5:信息中心 " cin>>Employee:Employeedepart; cout<<"新員工職位, 請輸入相應(yīng)職位的序號: "<<endl; cout<<" 1:臨時

23、職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長 " cin>>Employee:Employeeposition; while(Employee:Employeeposition !=1&&Employee:Employeeposition !=2&&Employee:Employeeposition !=3&&Employee:Employeeposition !=4&&Employee:Employeeposition !=5) cout<<"輸入有誤,請重新輸入:&quo

24、t;<<endl; cout<<" 1:臨時職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長 " cin>>Employee:Employeeposition; cout<<"新員工的工作時(不需要輸入單位): " cin>>Employee:Employeeworktime; Employee:Employeepay = Employee:Pay(Employee:Employeeposition); DBOperate dbo; dbo.ReadOut(); int MaxNum =

25、 Employee:MaxNum(); EnumMaxNum = Employee:Employeenum; EnameMaxNum = Employee:Employeename; EsexMaxNum = Employee:Employeesex; EageMaxNum = Employee:Employeeage; EmarriageMaxNum = Employee:Employeemarriage; EdegreeMaxNum = Employee:Employeedegree; EdepartMaxNum = Employee:Employeedepart; EpositionMa

26、xNum = Employee:Employeeposition; EworktimeMaxNum = Employee:Employeeworktime; EpayMaxNum = Employee:Employeepay; dbo.WriteIn(1); cout<<" 添加新成員成功!"<<endl; return; void Employee:ShowInfo() /程序主體 數(shù)據(jù)輸出函數(shù) int choice1,choice2,min,max; Employee e; cout<<" 請選擇顯示方式:"<

27、;<endl; cout<<"*"<<endl; cout<<"* 職工信息全輸出- 1*"<<endl; cout<<"* 按職工部門輸出- 2*"<<endl; cout<<"* 按職工學(xué)歷輸出- 3*"<<endl; cout<<"* 按職工年齡輸出- 4*"<<endl; cout<<"*"<<endl; cin>

28、>choice1; switch(choice1) case 1: showall();break; case 2: cout<<"請輸入要查詢職工的部門編號: 1:董事會 2:市場部 3:公關(guān)部 4:客服中心 5:信息中心 " ; cin>>choice2; e.showdepart(choice2);break; case 3:cout<<"請輸入要查詢職工的學(xué)歷編號: 1:初中 2:高中 3:本科 4:碩士 5:博士 " cin>>choice2; e.showdegree(choice2);b

29、reak; case 4: cout<<"請輸入要查詢的年齡范圍: " cout<<"最小值: " cin>>min; cout<<"最大值: " cin>>max; e.showage(min,max);break; default: cout<<"出錯啦! "<<endl;break; void Employee:checkout()long searchnum;Employee e;cout<<"*&qu

30、ot;<<endl; cout<<"* 請輸入要查詢的員工編號 *"<<endl; cout<<"*"<<endl; cin>>searchnum; e.shownum(searchnum); void Employee:showall() /全體員工輸出函數(shù) int i; long number; for(i=0;i<Employee:MaxNum();i+) number = Enumi; shownum(number); void Employee:showdepart(

31、int depart) /按員工所在部門輸出函數(shù) int i; switch(depart) case 1: cout<<"董事會的成員有: >"<<endl; break; case 2:cout<<"市場部的成員有: >"<<endl; break; case 3: cout<<"公關(guān)部的成員有: >"<<endl; break; case 4:cout<<"客服中心成員有: >"<<endl

32、; break; case 5: cout<<"信息中心成員有: >"<<endl;break; default: cout<<"輸入錯誤!>"<<endl; break; for(i=0;i<Employee:MaxNum();i+) if(Edeparti = depart) long number = Enumi; shownum(number); else continue; void Employee:showdegree(int degree) /按員工學(xué)歷輸出函數(shù) int i

33、; switch(degree) case 1:cout<<"初中學(xué)歷的員工有:"<<endl;break; case 2:cout<<"高中學(xué)歷的員工有:"<<endl;break; case 3:cout<<"本科學(xué)歷的員工有:"<<endl;break; case 4:cout<<"碩士學(xué)位的員工有:"<<endl;break; case 5:cout<<"博士學(xué)位的員工有:"<

34、;<endl;break; for(i=0;i<Employee:MaxNum();i+) if(Edegreei = degree) long number = Enumi; shownum(number); else continue; void Employee:showage(int min,int max) /按員工年齡段輸出函數(shù) int i; for(i=0;i<Employee:MaxNum();i+) if(Eagei>=min&&Eagei<=max) long number = Enumi; shownum(number); e

35、lse continue; void Employee:shownum(long number) /按員工編號輸出函數(shù) int i; for(i=0;i<Employee:MaxNum();i+) if(Enumi = number) cout<<"*"<<endl; cout<<"員工編號 >"<<Enumi<<endl; cout<<"姓 名 >"<<Enamei<<endl; cout<<"性

36、別 >" if(Esexi='F') cout<<"女 "<<endl; else if(Esexi='M') cout<<"男 "<<endl; cout<<"年 齡 >"<<Eagei<<"歲"<<endl; cout<<"婚姻情況 >" if(Emarriagei='Y') cout<<"

37、;已婚 "<<endl; else if(Emarriagei='N') cout<<"未婚 "<<endl; cout<<"學(xué) 歷 >" switch (Edegreei) case 1:cout<<"初 中 "<<endl;break; case 2:cout<<"高 中 "<<endl;break; case 3:cout<<"本 科 "<<

38、;endl;break; case 4:cout<<"碩 士 "<<endl;break; case 5:cout<<"博 士 "<<endl;break; cout<<"所在部門 >" switch (Edeparti) case 1:cout<<"董事會 "<<endl;break; case 2:cout<<"市場部 "<<endl;break; case 3:cout<

39、<"公關(guān)部 "<<endl;break; case 4:cout<<"客服中心 "<<endl;break; case 5:cout<<"信息中心 "<<endl;break; cout<<"所任職務(wù) >" switch (Epositioni) case 1:cout<<"臨時成員 "<<endl;break; case 2:cout<<"正式員工 "&l

40、t;<endl;break; case 3:cout<<"主任 "<<endl;break; case 4:cout<<"部門經(jīng)理 "<<endl;break; case 5:cout<<"董事長 "<<endl;break; cout<<"工作時長 >"<<Eworktimei<<"小時"<<endl; cout<<"額定工資 >&qu

41、ot;<<Epayi<<"元"<<endl; cout<<"*"<<endl; else continue; void Employee:RefreshInfo() /修改員工信息的函數(shù) int cNum = 50; DBOperate dbo; dbo.ReadOut(); void Employee:shownum(long number); cout<<"請輸入您要修改的員工編號: >" cin>>cNum; int MN; MN = Em

42、ployee:MaxNum(); for(int i=0;i<MN;i+) /遍歷數(shù)據(jù)文件,查找要修改的員工數(shù)據(jù) if(Enumi = cNum) Employee:shownum(cNum); cout<<"請輸入該員工的新信息: "<<endl; cout<<"新員工姓名: " /錄入員工的新的數(shù)據(jù),員工號保持不變 cin>>Employee:Employeename; Enamei = Employee:Employeename; cout<<"新員工性別: F為女性,M為

43、男性: " cin>>Employee:Employeesex; Esexi = Employee:Employeesex; cout<<"新員工年齡: " cin>>Employee:Employeeage; Eagei = Employee:Employeeage; cout<<"新員工婚姻狀況(Y為已婚,N為未婚): " cin>>Employee:Employeemarriage; Emarriagei = Employee:Employeemarriage; cout<

44、<"新員工學(xué)歷,請輸入相應(yīng)學(xué)歷的序號:"<<endl; cout<<" 1:初中 2:高中 3:本科 4:碩士 5:博士 " cin>>Employee:Employeedegree; while(Employee:Employeedegree !=1&&Employee:Employeedegree !=2&&Employee:Employeedegree !=3&&Employee:Employeedegree !=4&&Employee:Emp

45、loyeedegree !=5) cout<<"輸入有誤,請重新輸入:"<<endl; cout<<" 1:初中 2:高中 3:本科 4:碩士 5:博士 " cin>>Employee:Employeedegree; Edegreei = Employee:Employeedegree; cout<<"新員工所在部門,請輸入相應(yīng)部門的序號: "<<endl; cout<<" 1:董事會 2:市場部 3:公關(guān)部 4:客服中心 5:信息中心 &q

46、uot; cin>>Employee:Employeedepart; while(Employee:Employeedepart !=1&&Employee:Employeedepart !=2&&Employee:Employeedepart !=3&&Employee:Employeedepart !=4&&Employee:Employeedepart!=5) cout<<"輸入有誤,請重新輸入:"<<endl; cout<<" 1:董事會 2:市

47、場部 3:公關(guān)部 4:客服中心 5:信息中心 " cin>>Employee:Employeedepart; Edeparti = Employee:Employeedepart; cout<<"新員工職位,請輸入相應(yīng)職位的序號:"<<endl; cout<<" 1:臨時職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長 " cin>>Employee:Employeeposition; while(Employee:Employeeposition !=1&&E

48、mployee:Employeeposition !=2&&Employee:Employeeposition !=3&&Employee:Employeeposition !=4&&Employee:Employeeposition !=5) cout<<"輸入有誤,請重新輸入:"<<endl; cout<<" 1:臨時職員 2: 正式職員 3:主任 4:部門經(jīng)理 5:董事長 " cin>>Employee:Employeeposition; Epositi

49、oni = Employee:Employeeposition; cout<<"新員工的工作時 (不需要輸入單位): " cin>>Employee:Employeeworktime; Eworktimei = Employee:Employeeworktime; Epayi = Employee:Pay(Employee:Employeeposition); break; dbo.WriteIn(0); void Employee:DeleteInfo() /刪除員工數(shù)據(jù)的函數(shù) char tmp; int cNum = 50; DBOperate

50、dbo; dbo.ReadOut(); cout<<"請輸入您要刪除的員工編號>: " cin>>cNum; int MN; MN = Employee:MaxNum(); for(int i=0;i<MN;i+) /遍歷數(shù)據(jù)文件,查找要刪除的員工 if(Enumi = cNum) Employee:shownum(cNum); cout<<"確認要刪除該員工信息?(Y為確認 N為放棄): " cin>>tmp; if(tmp='Y'|tmp='y') if(i=

51、MN-1) dbo.WriteIn(-1); else for(int j=i;j<MN-1;j+) Enumj = Enumj+1; dbo.WriteIn(-1); cout<<" 刪除操作成功 ! "<<endl; float Employee:Pay(int Employeeposition) /根據(jù)員工職位計算工資的函數(shù) float tmpPay; tmpPay = Employee:EmployeeBasePay + Employee:Employeeposition * Employee:EmployeeBasePay; retu

52、rn tmpPay; void DBOperate:WriteIn(int iflag) /數(shù)據(jù)操作函數(shù) 寫入 DBOperate:RefreshMaxNum(iflag); ofstream myf("Employee.txt"); Employee e; int MN; MN = e.MaxNum(); for(int i=0;i<MN;i+) myf<<Enumi<<'n'<<Enamei<<'n'<<Esexi<<'n'<<Eag

53、ei<<'n'<<Emarriagei<<'n'<<Edegreei<<'n'<<Edeparti<<'n'<<Epositioni<<'n'<<Eworktimei<<'n'<<Epayi<<'n' myf.close(); return; void DBOperate:ReadOut() /數(shù)據(jù)操作函數(shù) 讀出 ifstream myf("Employee.txt"); Employee e; int MN; MN = e.MaxNum(); for(int i=0 ;i<MN;i+) myf>>DBOperate:Employeenum>>DBOperate:Employeename>>DBOperate:Employeesex>>DBOperate:Employeeage

溫馨提示

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

最新文檔

評論

0/150

提交評論