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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、. 結(jié)束語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ù)的功能static long Empl

8、oyeeMaxNum;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)開關(guān)語句for(int i=0;iMN;i+) /遍歷數(shù)據(jù)文件,查找要刪除的員工 if(Enumi = cNum)for循環(huán)和if的嵌套七. 成

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

10、; 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 Employeeposition; int Employ

11、eedegree; 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 RefreshInfo();void Dele

12、teInfo();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; static long Emplo

13、yeeMaxNum; 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(EmployeeMaxNum.txt); my

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

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

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

17、tion !=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(); EnumMaxNum = Employee

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

19、meMaxNum = 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; cout* 按職工學(xué)歷輸出-

20、 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: coutsearchnum;

21、 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: coutendl; break; c

22、ase 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) /按員工學(xué)歷輸出函數(shù) int i; switch(degree) case 1:cout初中學(xué)歷的員工有:endl

23、;break; case 2:cout高中學(xué)歷的員工有:endl;break; case 3:cout本科學(xué)歷的員工有:endl;break; case 4:cout碩士學(xué)位的員工有:endl;break; case 5:cout博士學(xué)位的員工有: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) /按員工年齡段輸出函數(shù) int i;

24、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; coutEagei歲endl; co

25、ut; 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:cout市場部 endl;b

26、reak; case 3:cout公關(guān)部 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元endl; cout*endl;

27、 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; coutEmployee:

28、Employeename; Enamei = Employee:Employeename; coutEmployee:Employeesex; Esexi = Employee:Employeesex; coutEmployee:Employeeage; Eagei = Employee:Employeeage; coutEmployee:Employeemarriage; Emarriagei = Employee:Employeemarriage; cout新員工學(xué)歷,請輸入相應(yīng)學(xué)歷的序號:endl; coutEmployee:Employeedegree; while(Employee:

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

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

31、=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; Epayi = Emplo

32、yee: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 = cNum) Employe

33、e: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:EmployeeBase

34、Pay; 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(); return; void DBOpe

35、rate: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:EmployeepositionDBOperate

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

37、ate: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(EmployeeMaxNum.txt); my

38、ofMaxNum; myof.close(); int main() /主函數(shù) system(color 06f); /設(shè)置當(dāng)前窗口的背景色和前景色 0 = 黑色 8 = 灰色 / 1 = 藍(lán)色 9 = 淡藍(lán)色 / 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; c

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論