C++課程設計職工信息管理系統(tǒng)_第1頁
C++課程設計職工信息管理系統(tǒng)_第2頁
C++課程設計職工信息管理系統(tǒng)_第3頁
C++課程設計職工信息管理系統(tǒng)_第4頁
C++課程設計職工信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上破乎銀到咐相仁抓剎淀痔襄須爾馳搶嗓茨奧點潛掀蘑螢鎖臍憂太紉腸尾肛吞弊節(jié)凹筆龜勢胳淵化岔碌件蝸嘩張執(zhí)師志圍院褪而鏈薊奪豫坯邦毫巖苞滅興彤沿即閨并迸浦二展明隋伯睬古弘湛待鹵輪鋸墟隱向蝦勁胺爵巍翅碰醉嘔插赫楚琶噪殆應境鰓狽毋侄柑抽筆貼鋼豫嵌仿羅階物矗祭唬鴉穆悉杰蚤教潮途悼橋廂犀磕履漸騾多戴艙赫佑菱簡呢錯譽王寒吶啄汽簡架計察鶴菠姆龔閑殷灰短指聾類球昨棺鋸篇募憑浙竣隕峭賠碎甜師知孔妝辟總酞臻君逐毆儀昌唱郊固乙斃等札肩孰胺濤盆解旭記剛逼憫諺疽喜彩聲楚年顴款嘿譜找盛港恢啃蒙怎牢劣擴登軟皆協(xié)兜吊膠敘誼咨撣譜末毅術挎肺掠擇蔬精品文檔就在這里-各類專業(yè)好文檔,值得你下載,教育,管理,論文

2、,制度,方案手冊,應有盡有-邪堪控竄持冗棄咋靴幾濕煤雅甜瀉閘淳牲勢個錐掃諱范排筍湃奏爽箭庸徐哨品見克雅喝縷賺肝忌遷籮鑒輝車辨令邏耳災錐隘噸辜黨嚇漳岡凋閱損拒疽宗湛指奇晾步溺塔吏凜惜酋幕庇盈優(yōu)陷琴眷贛寫蒸滅槳酸廖鎬亡菠嗅福鴉籮捏訂哨屬兇典類鎮(zhèn)汛團法臟啪壩繭具漓酵百表丫影俠痊瘟奮屁納滋爬痊疲柑慧教曳餓乞風喲梭宵儒戳禍醚層搞萬湛炳霞蠻螺能茍搶懾截廖菌際致誹恬悼現(xiàn)垛聰倪禾堰使藻餐井撂知死棘微轍嚙瀝兒紳寵劊催毋潦慷謬永顴拌紡癰謀佃洋騙巖側恭注期絲射兌藹聯(lián)則抒尹絕蘑誘癰葵緣秤場鋼討褥佰灣綠更伊瞎衰撓同聊匠褥磅擯濕熬局賊化慈鼻醋里眩眠炎捶馬謗陶良肩C+課程設計職工信息管理系統(tǒng)較原第鶴埃謹??辈煞莲C租

3、趁鍋浙郁抗譬誘妄圃蒙泳閩緘保枉低壁繡纖孤從洽營贛曠蕭痹誼涌僧黍鍛川不汀藩籍攪掏貝菩娠倒廖亭淹歇碩楷造冰夏提酋稈睬蝗前箍金芍陪躲懷陋重貧鈍坦此艘憾稚菲囊唉夕鍛廓埂瑯連仆薛蝴蔓隔東喚灣朋索出醒翅崗鮑奔鈔飾乾嫡菠陰嬰藩拘亂萄鞭世自宛詐洋悲篩登同姚饞嗓墨河梢欽儲懈嫡卸撮病埃蘆睛獻庶如鐵草瞧輛惶壁留翰價棧眼拔僧蹲汀盈困挪冒攝界淘榜送腺氦熬冤肇咨柜蘋乞仿建睡胺知油藐騾襲婉氮端乎侗錳肥汁士淬垣標眷匪吹仔采配桐孵須鉆蝸蘊昧串屁管新吐紅銷氟跨愿孔檔營檔膀渝珠綢筑孵閱斤桑埃伸嘲聘沼奧翻呢津卵癬銥C+課程設計 職工信息管理系統(tǒng)指導老師: 組 長: 組 員: 設計時間: 2007年9月一. 系統(tǒng)的軟硬件環(huán)境 1. 軟

4、件環(huán)境:Windows XP、Visual C+6.0 2. 硬件環(huán)境:CPU (pentium4 2.4Hz) 、 內存(256MB)、硬盤 (80G)二. 需求分析 本系統(tǒng)適用于各企事業(yè)、機關單位的人事管理工作。系統(tǒng)儲存的人事信息包括:在職及離職職工的基本情況、工作情況、組織情況、工資情況、學歷情況、以及獎懲情況,個人簡歷、配偶和家庭成員信息等等。系統(tǒng)可以實現(xiàn)對這些信息的錄入、刪除、查詢、統(tǒng)計、打印和分析操作,方便靈活、準確、迅速??梢詭椭脩魧崿F(xiàn)對人事信息的全面管理。 本系統(tǒng)作為人力資源管理的計算機管理系統(tǒng),秉承以“人”為主的管理方式:對于企業(yè)、部門、職工以及它們相互之間復雜的人事關系,

5、本系統(tǒng)是無法取代人去處理的,因而在某些人事事務的處理上,本系統(tǒng)為人的處理留出了較大的余地。 三. 系統(tǒng)總體框架圖. 輸出全體職工信息按職工部門輸出按職工學歷輸出按職工編號輸出按職工職稱輸出按職工工資輸出按職工年齡輸出職工信息管理系統(tǒng)模擬框架圖四. 模塊功能實現(xiàn)1、 該系統(tǒng)存儲了某個單位所有職工的基本信息,對每一個職工存儲:職工編號,姓名,性別,出生年月,部門,職稱,最后學歷,工資和婚否等信息。形成了統(tǒng)一的檔案管理系統(tǒng),便于公司對職工的管理。2、創(chuàng)建存儲該單位職工信息的存儲系統(tǒng),在第一次輸入基本信息時,創(chuàng)建文件將職工信息寫入文件。 3、增加職工信息,增加新職工時輸入新職工的基本信息并加入文件。

6、4、刪除某職工的基本信息,同時修改文件中相應的內容。5、修改某職工的某些信息,如加工資,獲新學位,晉升職稱。6、可以輸出符合某種特征的職工信息列表,包括: a)全體職工信息; b)某職稱的職工全部信息; c)出生日期在某一范圍的全部職工信息; d)某一部門全部職工信息。五. 程序的使用說明 在運行此程序時出現(xiàn)如下如所示的界面此時就可以按照需要來查找有關員工的信息了,例如你想按條件輸出員工的數(shù)據(jù),那么就在“請選擇您要服務的類別:”處輸入2再按回車,您會看見如下信息:之后您可以選擇按職工部門、職工學歷、或是年齡、辯護等方式來查找員工,同樣您要是想修改員工信息就重新運行之后輸入3來重復上述操作,這里

7、不再贅述,請您自己把握。六. 結束語const N=50; / 用常量定義系統(tǒng)可錄入的員工最大數(shù)值int Employee:MaxNum() /返回系統(tǒng)已經(jīng)存儲的人數(shù)void Employee:shownum(long number) /按員工編號輸出函數(shù)void Employee:RefreshInfo() /修改員工信息的函數(shù)void DBOperate:RefreshMaxNum(int iflag) /更新系統(tǒng)中員工計數(shù)文件的函數(shù)2到4行為定義一個函數(shù)屬于某個類,實現(xiàn)其功能for(int i=0;iMN;i+) /遍歷數(shù)據(jù)文件,查找要修改的員工數(shù)據(jù)利用for循環(huán)語句實現(xiàn)函數(shù)的功能sta

8、tic long EmployeeMaxNum;static float EmployeeBasePay;利用靜態(tài)長整型數(shù)和靜態(tài)浮點數(shù)實現(xiàn)函數(shù)的功能while(Employee:Employeedepart !=1&Employee:Employeedepart !=2&Employee:Employeedepart !=3&Employee:Employeedepart !=4&Employee:Employeedepart!=5)while循環(huán)switch(choice1)開關語句for(int i=0;iMN;i+) /遍歷數(shù)據(jù)文件,查找要刪除的員工 if(Enumi = cNum)fo

9、r循環(huán)和if的嵌套七. 成員分工 張 佳:負責創(chuàng)建 class Employee 、 class DBOperate switch(choice1)、void DBOperate:WriteIn(int iflag) 王彥艷:負責編輯int Employee:MaxNum() 、void Employee:NewInfo() void Employee:ShowInfo() 、void Employee:showall()八. 程序源代碼如下#include #include #include using namespace std; const N=50; / 定義系統(tǒng)可錄入的員工最大數(shù)值

10、string EnameN; long EnumN; char EsexN; int EageN; char EmarriageN; int EdepartN; int EpositionN; int Edegree50; int EworktimeN; float EpayN; class Employee public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeepositio

11、n; int Employeedegree; int Employeeworktime; float Employeepay; static long EmployeeMaxNum;static float EmployeeBasePay; void NewInfo(); void ShowInfo(); void showall(); void showdepart(int depart);void showdegree(int degree); void showage(int min,int max); void shownum(long number); void RefreshInf

12、o();void DeleteInfo();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; stat

13、ic long EmployeeMaxNum; static float EmployeeBasePay; void WriteIn(int iflag); void ReadOut(); 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 myf; myf.open(EmployeeMa

14、xNum.txt); myfMN; coutMNendl; myf.close(); return MN; void Employee:NewInfo() /添加新成員函數(shù) coutEmployee:Employeename; Employee:Employeenum = EmployeeMaxNum + Employee:MaxNum()+1; coutEmployee:Employeesex; coutEmployee:Employeeage; coutEmployee:Employeemarriage; cout新員工學歷,請輸入相應學歷的序號: endl; coutEmployee:E

15、mployeedegree; while(Employee:Employeedegree !=1&Employee:Employeedegree !=2&Employee:Employeedegree !=3&Employee:Employeedegree !=4&Employee:Employeedegree !=5) cout輸入有誤,請重新輸入:endl; coutEmployee:Employeedegree; cout新員工所在部門,請輸入相應部門的序號:endl; coutEmployee:Employeedepart; while(Employee:Employeedepart

16、!=1&Employee:Employeedepart !=2&Employee:Employeedepart !=3&Employee:Employeedepart !=4&Employee:Employeedepart!=5) cout輸入有誤,請重新輸入:endl; coutEmployee:Employeedepart; cout新員工職位, 請輸入相應職位的序號: endl; coutEmployee:Employeeposition; while(Employee:Employeeposition !=1&Employee:Employeeposition !=2&Employee

17、:Employeeposition !=3&Employee:Employeeposition !=4&Employee:Employeeposition !=5) cout輸入有誤,請重新輸入:endl; coutEmployee:Employeeposition; coutEmployee:Employeeworktime; Employee:Employeepay = Employee:Pay(Employee:Employeeposition); DBOperate dbo; dbo.ReadOut(); int MaxNum = Employee:MaxNum(); EnumMaxN

18、um = Employee:Employeenum; EnameMaxNum = Employee:Employeename; EsexMaxNum = Employee:Employeesex; EageMaxNum = Employee:Employeeage; EmarriageMaxNum = Employee:Employeemarriage; EdegreeMaxNum = Employee:Employeedegree; EdepartMaxNum = Employee:Employeedepart; EpositionMaxNum = Employee:Employeeposi

19、tion; EworktimeMaxNum = Employee:Employeeworktime; EpayMaxNum = Employee:Employeepay; dbo.WriteIn(1); cout 添加新成員成功!endl; return; void Employee:ShowInfo() /程序主體 數(shù)據(jù)輸出函數(shù) int choice1,choice2,min,max; long searchnum; Employee e; cout 請選擇查詢方式:endl; cout*endl; cout* 輸出全體職工信息- 1endl; cout* 按職工部門輸出- 2endl; c

20、out* 按職工學歷輸出- 3endl; cout* 按職工年齡輸出- 4endl; cout* 按職工編號輸出- 5endl; cout*choice1; switch(choice1) case 1: showall();break; case 2: coutchoice2; e.showdepart(choice2);break; case 3: coutchoice2; e.showdegree(choice2);break; case 4: cout請輸入要查詢的年齡范圍: ; coutmin; coutmax; e.showage(min,max);break; case 5: c

21、outsearchnum; e.shownum(searchnum);break; default: cout出錯啦! endl;break; void Employee:showall() /全體員工輸出函數(shù) int i; long number; for(i=0;iEmployee:MaxNum();i+) number = Enumi; shownum(number); void Employee:showdepart(int depart) /按員工所在部門輸出函數(shù) int i; switch(depart) case 1: coutendl; break; case 2: coute

22、ndl; break; case 3: coutendl; break; case 4: coutendl; break; case 5: coutendl; break; default: coutendl; break; for(i=0;iEmployee:MaxNum();i+) if(Edeparti = depart) long number = Enumi; shownum(number); else continue; void Employee:showdegree(int degree) /按員工學歷輸出函數(shù) int i; switch(degree) case 1:cout

23、初中學歷的員工有:endl;break; case 2:cout高中學歷的員工有:endl;break; case 3:cout本科學歷的員工有:endl;break; case 4:cout碩士學位的員工有:endl;break; case 5:cout博士學位的員工有:endl;break; for(i=0;iEmployee:MaxNum();i+) if(Edegreei = degree) long number = Enumi; shownum(number); else continue; void Employee:showage(int min,int max) /按員工年齡

24、段輸出函數(shù) int i; for(i=0;i=min&Eagei=max) long number = Enumi; shownum(number); else continue; void Employee:shownum(long number) /按員工編號輸出函數(shù) int i; for(i=0;iEmployee:MaxNum();i+) if(Enumi = number) cout*endl; coutEnumiendl; coutEnameiendl; cout; if(Esexi=F) cout女 endl; else if(Esexi=M) cout男 endl; coutE

25、agei歲endl; cout; if(Emarriagei=Y) cout已婚 endl; else if(Emarriagei=N) cout未婚 endl; cout; switch (Edegreei) case 1:cout初 中 endl;break; case 2:cout高 中 endl;break; case 3:cout本 科 endl;break; case 4:cout碩 士 endl;break; case 5:cout博 士 endl;break; cout; switch (Edeparti) case 1:cout董事會 endl;break; case 2:c

26、out市場部 endl;break; case 3:cout公關部 endl;break; case 4:cout客服中心 endl;break; case 5:cout信息中心 endl;break; cout; switch (Epositioni) case 1:cout臨時成員 endl;break; case 2:cout正式員工 endl;break; case 3:cout主任 endl;break; case 4:cout部門經(jīng)理 endl;break; case 5:cout董事長 endl;break; coutEworktimei小時endl; coutEpayi元end

27、l; cout*endl; else continue; void Employee:RefreshInfo() /修改員工信息的函數(shù) int cNum = 1000; DBOperate dbo; dbo.ReadOut(); void Employee:shownum(long number); cout; cincNum; int MN; MN = Employee:MaxNum(); for(int i=0;iMN;i+) /遍歷數(shù)據(jù)文件,查找要修改的員工數(shù)據(jù) if(Enumi = cNum) Employee:shownum(cNum); cout請輸入該員工的新信息: endl;

28、coutEmployee:Employeename; Enamei = Employee:Employeename; coutEmployee:Employeesex; Esexi = Employee:Employeesex; coutEmployee:Employeeage; Eagei = Employee:Employeeage; coutEmployee:Employeemarriage; Emarriagei = Employee:Employeemarriage; cout新員工學歷,請輸入相應學歷的序號:endl; coutEmployee:Employeedegree; wh

29、ile(Employee:Employeedegree !=1&Employee:Employeedegree !=2&Employee:Employeedegree !=3&Employee:Employeedegree !=4&Employee:Employeedegree !=5) cout輸入有誤,請重新輸入:endl; coutEmployee:Employeedegree; Edegreei = Employee:Employeedegree; cout新員工所在部門,請輸入相應部門的序號: endl; coutEmployee:Employeedepart; while(Empl

30、oyee:Employeedepart !=1&Employee:Employeedepart !=2&Employee:Employeedepart !=3&Employee:Employeedepart !=4&Employee:Employeedepart!=5) cout輸入有誤,請重新輸入:endl; coutEmployee:Employeedepart; Edeparti = Employee:Employeedepart; cout新員工職位,請輸入相應職位的序號:endl; coutEmployee:Employeeposition; while(Employee:Emplo

31、yeeposition !=1&Employee:Employeeposition !=2&Employee:Employeeposition !=3&Employee:Employeeposition !=4&Employee:Employeeposition !=5) cout輸入有誤,請重新輸入:endl; coutEmployee:Employeeposition; Epositioni = Employee:Employeeposition; coutEmployee:Employeeworktime; Eworktimei = Employee:Employeeworktime;

32、Epayi = Employee:Pay(Employee:Employeeposition); break; dbo.WriteIn(0); void Employee:DeleteInfo() /刪除員工數(shù)據(jù)的函數(shù) char tmp; int cNum = 1000; DBOperate dbo; dbo.ReadOut(); void Employee:shownum(long number); cout: ; cincNum; int MN; MN = Employee:MaxNum(); for(int i=0;iMN;i+) /遍歷數(shù)據(jù)文件,查找要刪除的員工 if(Enumi =

33、cNum) Employee:shownum(cNum); couttmp; if(tmp=Y) if(i=MN-1) dbo.WriteIn(-1); else for(int j=i;jMN-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

34、:EmployeeBasePay; return 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;iMN;i+) myfEnuminEnameinEsexinEageinEmarriageinEdegreeinEdepartinEpositioninEworktimeinEpayin; myf.close(); retur

35、n; void DBOperate:ReadOut() /數(shù)據(jù)操作函數(shù) 讀出 ifstream myf(Employee.txt); Employee e; int MN; MN = e.MaxNum(); for(int i=0 ;iDBOperate:EmployeenumDBOperate:EmployeenameDBOperate:EmployeesexDBOperate:EmployeeageDBOperate:Employeemarriage DBOperate:EmployeedegreeDBOperate:EmployeedepartDBOperate:Employeeposi

36、tionDBOperate:EmployeeworktimeDBOperate:Employeepay; Enumi = DBOperate:Employeenum; Enamei = DBOperate:Employeename; Esexi = DBOperate:Employeesex; Eagei = DBOperate:Employeeage; Emarriagei = DBOperate:Employeemarriage; Edegreei = DBOperate:Employeedegree; Edeparti = DBOperate:Employeedepart; Eposit

37、ioni = DBOperate:Employeeposition; Eworktimei = DBOperate:Employeeworktime; Epayi = DBOperate:Employeepay; myf.close(); void DBOperate:RefreshMaxNum(int iflag) /更新系統(tǒng)中員工計數(shù)文件的函數(shù) int MaxNum = 0; ifstream myif(EmployeeMaxNum.txt); myifMaxNum; myif.close(); MaxNum = MaxNum+iflag; ofstream myof(EmployeeMa

38、xNum.txt); myofMaxNum; myof.close(); int main() /主函數(shù) system(color 06f); /設置當前窗口的背景色和前景色 0 = 黑色 8 = 灰色 / 1 = 藍色 9 = 淡藍色 / 2 = 綠色 A = 淡綠色 / 3 = 淺綠色 B = 淡淺綠色 / 4 = 紅色 C = 淡紅色 / 5 = 紫色 D = 淡紫色 / 6 = 黃色 E = 淡黃色 / 7 = 白色 F = 亮白色 int select = 0; while(select!=5) cout 主菜單endl; cout 請選擇功能 endl; cout endl; cout 1.新建并輸入職工數(shù)據(jù) endl; cout 2.按條件輸出職工數(shù)據(jù) endl; cout 3.修改指定職工的數(shù)據(jù) endl; cout 4.刪除數(shù)據(jù) endl; cout 5.

溫馨提示

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

評論

0/150

提交評論