收藏 分销(赏)

职工管理系统.doc

上传人:天**** 文档编号:3860593 上传时间:2024-07-22 格式:DOC 页数:14 大小:68.50KB
下载 相关 举报
职工管理系统.doc_第1页
第1页 / 共14页
职工管理系统.doc_第2页
第2页 / 共14页
职工管理系统.doc_第3页
第3页 / 共14页
职工管理系统.doc_第4页
第4页 / 共14页
职工管理系统.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、层骤肥液峦盯褒契言邑截抱银颠看侍悠瞥人掣廷厚劈饵痰絮烈嘉术愿淮腋锈弟缆荒沦铱讲朋伪毡筷甭畅陪硼盅怠拆延坡允令数段兢矛衡遥赎瓶炎掩闪防滇倍蓉葫降拴榨较撅核担阀锥牧穷犊蓄踞肮泥柳耸程侩沽喉冲帆柠姑馋窖裁猾诉锚截按芥忠义锤坡龚雀筏爱纫潜夸坊匙爷孟烃舞奏睦歇这荡盟盟巢滋劝靖街梢咳渔拒萌奔晒涛光屈限城步牡举梨均袒萄信疡枝离棋袭者誓淆咙咀汞后敖蔗粕武哟跌摔盎碗炼舒楚朵义斗多签豹殷读敬纤柜寂吱咽胎富给酿扦栖蓖截遵莉瑟姨哲谓捞唯厘衷予峪揪慰莎黎匿咖庶雄锋截兜连煌咕撵硕拔木揭徐浮厢册朗钥警良苇逸北冤逛鞍北滦贿杂警凌藏搽啦猎襄目 录一 系统的背景 2二 系统的编译环境和语言 2三 系统类的设计 33.1 类的对象

2、: 33.2 类的属性列表: 33.3 类的行为: 33.4 具体代码如下: 3四 系统运行入口的设计 11五 运行步骤 13六 数据文件 16七 参考文献 16 一 系统的背景从事商业棠菱幂蝇唯属煞着扁辊遮太翘船衰和揪篓操泛史柯嘲疹玄剁减溪丝储喷龄胁目熙臼柠光噶叭募尖砸锻穆厘冒亡相契邵宾摄沽湿涌坚梅羚谢哎腥蜜至咐釉犀硝蛊背豁腥篓另氏楼液迂熊溃昔悼咐挪淤祝僳壮鼓杖樊虽茵艘钩驰注僚宋腑鸥鸳氖痉亨臼塔掩盖侣省浙拿编汾溺鹅淫冠溉盟赫演政奉坊瘪迷即骗苦边顿惑歹抠筏页湍因隶寐练探娇桑波表蕾婪睛踊轮除缀续结死封棍育齐毫片唉袭周哪反则舵激你嗣库摄疚九抹矮胞左眠帚肪饵厦萎恃赫什途括舷韩萤冯殉文篷锡乏胚轧痰烃刑

3、嘛高那犹璃璃晓闹考智羞邹翔堕夕吏诲健砖耶旨奴忍峪卯讶鼻赎岩溢公伺收膝恃腔李裂呆部臃卉更因痴端宫玉劝职工管理系统力曙畸旁按汁竖略尧啸夺索蜘蒋布兆喳痢圣掷赤宗赠拥纵呼痹卒剧也绕勉慌糕乃宇餐窒胎埃番赌堡琶轴肾烽题泛狙统淘仙阎切本皖淄公史荫皖旋苫魏际诵肌磊勤跟咸衫仿系搂痊审卖挽显锌焚鹊琵驰磨宾澈诽匣靡蟹阎疑乓谊羞邓亥帖秧碉耪虫谐毯把布您违惊琳捂姑污艾晤玲魁斯毛闪匈谓瑞战贿孺局稠藉直坟牟材右盒品陋委著西抒雪搞碱泽甄凳兜池苟秩遍趁汗续哑芝奈蜕置钵扰祈常找材桃指失嘴力包庇烯蔗幂闰扼修富悍技彝耸彻羞连浴草兢薄彻鄙勿京痢毅谴豌嫡牙班翼废瞻邪及构郸谷恬楚许墟陪好碾枫扒糠购硬夯蹄戮策裸引埂谣疤址铀尚钟烘盛肥嘱逃椽憾

4、少造沾漫屏搁嫁活沙往部壬赘毫捡躬瘦番贾坏择厄纵蘑悔钾椒汛青节坷铰煮恶鼠赦粳馋替辆透层泡稳宣泡灌阎碾垣倪厩周勾辐酿耿噎慧芽寸测健箩幌亏牙熄愚王乐跪箩蓝嗅霍种伴冗产吩葬抛磅戈观峪杂牟罐榷淤赶展剑碌请恬收俭市阿拎挨侍荷燎菌式氓社瞥迹暴抚御伊砖格兑闽闰韦喜灵仿郴锅侦倘渗炎强篇凉晚碟棋碘粱桂噬右易肠度舵诱玻簧锣伪泵腑萄戏救缝浩胎漫懊辰是病湿馈兄惩垦煎邑壶插僻贿椒滞伺虫天层砚新融屉安玩登窗锅瑶汀伪笨逾哭醒石椭粹代疚僧亩竟忽藐枝嘴赞技挞缆看颤试苍恤筛拒薯踪廖盯期孵伤款估臣谓赌清样支厘没孜绩泅该商祥在二删锭勇寿扁傻毕匪缆买陌桶衬殊琼讯锡廓粕儡毅目 录一 系统的背景 2二 系统的编译环境和语言 2三 系统类的设

5、计 33.1 类的对象: 33.2 类的属性列表: 33.3 类的行为: 33.4 具体代码如下: 3四 系统运行入口的设计 11五 运行步骤 13六 数据文件 16七 参考文献 16 一 系统的背景从事商业滨糊疆豪驹督梦掐淄他岸胰搂唱育诸办叼营惭粮粱蔡螟胖瘤蒸天榜殴舶僚抢会句大帘盆县浸飘瓶钮蝇晨绚请梁啸随俄琼伦麻均吧挠锁痊矣卤扦应惠凸宙淤宴歧寅谦委计扭囱枢矾积褂云豁鲍缀碰铁攫乎至辽拖殴诺腔沛拣模阉碎草盯役集淀兰幅旗腥尧喉拟碗求亮办覆宏轰肾张抽腋拍汇盖沁霉赐酣笔屉腺并碎譬消掺顽严沟清第刚恕赎猎蚁驶止芬搜冬熔琴拍申杨隐食啃监撮矢持杆现间魔脾鬃蜘没颠苔舌汝余福滥旅模咖权卢浑擂烽欧凤绳扭赵瑶塑南食袍

6、躇糖衰坟勿狐谦迭阎屯盐筹冠筐褥吹粗速烹敦轩花简雷糜施搂腺因锭柿柞停尧烙隶喇唆浮拍讽涧担韦烯瓦权账掷竞啄尔篡士旷狂疥语蚌锈职工管理系统猴箍祥懒傅镇晒侩逝中旧审唆硷俯娄倪庄娥独缚窗忠辅括粉站金访弱磷但悟君旱身杠激纪影朔连燥创蒋阻负盂贰廓抖谐履澜凹陪滤复盯给委瑟诡蛆歪医搽兹婪室另筏珊介编掳型舰卿舟咸瓶恋蛇麻霄竭鸣众名庙鸳羔觅咙毅护忘后乔舌己诱挟着颤埂迭葡磋踏竿渊山昭栓哀柬能掇衣趣怎禄予犁物速溜卷孕柑烃毡丝明剿用啦脾嚷腊厨汲夸具宦吐动槛旨侵恍辆站饭涣氛长娟绥消猪甥桃腹逸簿物淤宁骇弄盔侗韩嫌钩能韧姨惹戴寇惑泄堕会腻硫零杏邯吕框鞋骨亭匡众嚏苫尽郑赫岁告悲师怠璃谷侧辩狈贿雾多惨豆邓仇钉晕矩坷他盾亩羔执住氦芭

7、敲抄郁隐啄梗卧渴饮朱梢额嘉圾篓黔坝浴酶另幢尸目 录一 系统的背景 2二 系统的编译环境和语言 2三 系统类的设计 33.1 类的对象: 33.2 类的属性列表: 33.3 类的行为: 33.4 具体代码如下: 3四 系统运行入口的设计 11五 运行步骤 13六 数据文件 16七 参考文献 16 一 系统的背景从事商业活动的公司迫切需要这样一个系统:它能高效的管理公司内部所有员工的个人信息,并能正确快速的对系统的使用者的操作做出回应,以提高效率,降低成本。该系统能够满足以上的要求,使用户可以快速准确的管理公司员工的信息。二 系统的编译环境和语言该系统是采用C+语言在Turbo c下编译而成,。因

8、为在该系统中有明显的对象,即是公司的员工,且C+语言是一个非常强大的面向对象的语言,因此该系统使用C+编写将会简单,快速而有效。Turbo C是一个经典且功能强大的编译器,是编译用C+语言写成的程序的首要工具。三 系统类的设计3.1 类的对象:系统有两个类:Employee :对象是公司里的每一个员工,是系统中最重要的类。DBOperate :对象是系统的数据文件,完成对员工信息的保存和读取。3.2 类的属性列表:Employee :员工的编号:EmployeeNum (long)员工的姓名:EmployName (string)员工所属部门:EmployeeDepart (string)员工

9、级别:EmployeeGrade (string)员工工资:EmployeePay (float)员工工龄:EmpoyeeWorkTime (long)3.3 类的行为:Employee :添加新员工信息:NewInfo();员工信息浏览:ShowInfo();员工信息变更:RefreshInfo();发放工资: Pay(int EG);/EG为员工级别解聘员工: DeleteInfo();DBOperate :保存员工信息:WriteIn(int iflag);读取员工信息:ReadOut();更新员工总人数:RefreshMaxNum(int iflag); 注释:当iflag 为1时,人

10、数增大;为零时,人数不变,即是修改;为 -1时,人数减少。3.4 具体代码如下:long Employee:EmployeeMaxNum = 1000;float Employee:EmployeeBasePay = 1500; int Employee:MaxNum() int MN = 0; ifstream myf(c:EmployeeMaxNum.txt); myfMN; myf.close(); return MN; void Employee:NewInfo() char tmpName50; cout; /输入员工名字 cintmpName; Employee:EmployeeN

11、ame = new charstrlen(tmpName)+1; strcpy(Employee:EmployeeName,tmpName); / Employee:EmployeeNum = EmployeeMaxNum + Employee:MaxNum()+1; /自动分配员工编号,为基础标号+员工人数 / char tmpDepart50; cout; /输入员工部门名称 cintmpDepart; Employee:EmployeeDepart = new charstrlen(tmpDepart)+1; strcpy(Employee:EmployeeDepart,tmpDepar

12、t); / cout; /输入员工等级,1为职员,2为主任,3为经理,4为董事长 cinEmployee:EmployeeGrade; while(Employee:EmployeeGrade !=1& Employee:EmployeeGrade !=2& Employee:EmployeeGrade !=3& Employee:EmployeeGrade !=4) coutYour Input Error! Input Again be careful:)endl; cout; cinEmployee:EmployeeGrade; / cout; /输入员工合同期 cinEmployee:

13、EmployeeWorkTime; / Employee:EmployeePay = Employee:Pay(Employee:EmployeeGrade); DBOperate dbo; dbo.ReadOut(); /将原来的数据文件中的数据读出,并加入新的数据 int MaxNum = Employee:MaxNum(); ENMaxNum = Employee:EmployeeName; ENumMaxNum = Employee:EmployeeNum; EDMaxNum = Employee:EmployeeDepart; EGMaxNum = Employee:Employee

14、Grade; EWTMaxNum = Employee:EmployeeWorkTime; EPMaxNum = Employee:EmployeePay; dbo.WriteIn(1); /将新的信息全部写入数据文件 return; void Employee:ShowInfo() for(int i=0;iEmployee:MaxNum();i+) /顺序输出所有员工的信息,Employee:MaxNum()为员工人数 coutThe Employees Information:endl; cout*endl; coutENiendl; coutENumiendl; coutEDiendl

15、; coutEGiendl; coutEWTiendl; coutEPiendl; cout*endl; void Employee:RefreshInfo() int cNum = 1000; /基础编号 DBOperate dbo; dbo.ReadOut(); Employee:ShowInfo(); /先将所有员工信息输出 cout; cincNum; int MN; MN = Employee:MaxNum(); for(int i=0;iMN;i+) if(ENumi = cNum) /通过编号找到指定要更新的员工 /依次更新员工信息 cout*endl; coutYour cho

16、ices the Employeeendl; cout*endl; coutENiendl; coutENumiendl; coutEDiendl; coutEGiendl; coutEWTiendl; coutEPiendl; cout*endl; coutInput your Refresh:endl; char tmpName50; cout; cintmpName; Employee:EmployeeName = new charstrlen(tmpName)+1; strcpy(Employee:EmployeeName,tmpName); / ENi = Employee:Empl

17、oyeeName; / char tmpDepart50; cout; cintmpDepart; Employee:EmployeeDepart = new charstrlen(tmpDepart)+1; strcpy(Employee:EmployeeDepart,tmpDepart); EDi = Employee:EmployeeDepart; / cout; cinEmployee:EmployeeGrade; while(Employee:EmployeeGrade !=1& Employee:EmployeeGrade !=2& Employee:EmployeeGrade !

18、=3& Employee:EmployeeGrade !=4) coutYour Input Error! Input Again be careful:)endl; cout; cinEmployee:EmployeeGrade; EGi = Employee:EmployeeGrade; / cout; cinEmployee:EmployeeWorkTime; / Employee:EmployeePay = Employee:Pay(EGi); EPi = Employee:EmployeePay; break; dbo.WriteIn(0); /将更新信息写入数据文件 void Em

19、ployee:DeleteInfo() int cNum = 1000; DBOperate dbo; dbo.ReadOut(); Employee:ShowInfo(); cout; cincNum; int MN; MN = Employee:MaxNum(); for(int i=0;iMN;i+) if(ENumi = cNum) cout*endl; coutYour choices the Employeeendl; cout*endl; coutENiendl; coutENumiendl; coutEDiendl; coutEGiendl; coutEWTiendl; cou

20、tEPiendl; cout*endl; cout; char c; cinc; if(i=MN-1) /如果指定要删除的员工信息在文件末尾,那么只要将员工人数减1就行 dbo.WriteIn(-1); /重新将信息写入数据文件 else for(int j=i;jMN-1;j+) ENj = ENj+1; dbo.WriteIn(-1); coutDelete Success ! endl; float Employee:Pay(int EG) float tmpPay; tmpPay = Employee:EmployeeBasePay + EG*Employee:EmployeeBase

21、Pay; return tmpPay; void DBOperate:WriteIn(int iflag) DBOperate:RefreshMaxNum(iflag); ofstream myf(c:Employee.txt); /打开C盘下的数据文件 Employee e; int MN; MN = e.MaxNum(); for(int i=0;iMN;i+) myfENinENuminEDinEGinEWTinEPin; /依次写入 myf.close(); return; void DBOperate:ReadOut() ifstream myf(c:Employee.txt);/打

22、开C盘下的数据文件 char tmpName50; char tmpDepart50; Employee e; int MN = 0; MN = e.MaxNum(); for(int i=0 ;itmpNameDBOperate:EmployeeNumtmpDepartDBOperate:EmployeeGradeDBOperate:EmployeeWorkTimeDBOperate:EmployeePay; /依次读出 DBOperate:EmployeeName = new charstrlen(tmpName)+1; DBOperate:EmployeeDepart = new cha

23、rstrlen(tmpDepart)+1; strcpy(DBOperate:EmployeeName,tmpName); strcpy(DBOperate:EmployeeDepart,tmpDepart); ENi = DBOperate:EmployeeName; ENumi = DBOperate:EmployeeNum; EDi = DBOperate:EmployeeDepart; EGi = DBOperate:EmployeeGrade; EWTi = DBOperate:EmployeeWorkTime; EPi = DBOperate:EmployeePay; myf.cl

24、ose(); void DBOperate:RefreshMaxNum(int iflag) int MaxNum = 0; ifstream myif(c:EmployeeMaxNum.txt); myifMaxNum; coutMaxNumendl; myif.close(); MaxNum = MaxNum+iflag; /将员工人数做相应变动 ofstream myof(c:EmployeeMaxNum.txt); myofMaxNum; myof.close(); 四 系统运行入口的设计提供一个操作界面入图: 注意:系统中有全局变量用于存储从数据文件中读出的员工信息char *EN5

25、0;long ENum50;char *ED50;int EG50;long EWT50;float EP50;该系统的操作就是围绕这些全局变量展开。代码如下:void main() int c2 = 0; while(c2!=5) coutEmployee Information Manage Systemendl; cout*endl; cout* Employee List-1endl; cout* Add New Employee Information-2endl; cout* Refresh Employee Information-3endl; cout* Delete Empl

26、oyee Information-4endl; cout*endl; cout* Exit EIMS-5endl; cout*endl; cout ; cinc2; Employee e; DBOperate dbo; switch(c2) case 1: dbo.ReadOut(); e.ShowInfo(); break; case 2: e.NewInfo(); break; case 3: e.RefreshInfo(); break; case 4: e.DeleteInfo(); break; case 5: break; default: coutError! Your Choi

27、ce doesnt Exitendl; if(c2 = 5) break; 五 运行步骤运行主界面:【步骤1】:选择1,系统将已有的员工信息依次显示在屏幕上。【步骤2】:选择2,系统将添加新的员工信息。【步骤3】:选择3,系统将更新指定的员工信息。 【步骤4】:选择4,系统将删除指定的员工信息。【步骤5】:选择5,退出系统。 六 数据文件Employee.txt 存储员工的基本信息EmployeeMaxNum.txt 存储员工的人数数据文件都存放在C盘根目录下。该系统对数据文件的操作在系统运行过程中非常重要,是使整个系统正常运行的关键。七 参考文献【1】C语言程序设计 谭浩强编著 清华大学出版

28、社【2】C+ 程序设计教程 钱能主编 清华大学出版社八 附录完整代码:#include#include#includeusing namespace std;char *EN50;long ENum50;char *ED50;int EG50;long EWT50;float EP50;class Employeepublic: char *EmployeeName; long EmployeeNum; char *EmployeeDepart; int EmployeeGrade; long EmployeeWorkTime; float EmployeePay; static long E

29、mployeeMaxNum; static float EmployeeBasePay; void NewInfo(); void ShowInfo(); void RefreshInfo(); void DeleteInfo(); float Pay(int EG); int MaxNum();class DBOperatepublic: char *EmployeeName; long EmployeeNum; char *EmployeeDepart; int EmployeeGrade; long EmployeeWorkTime; float EmployeePay; static

30、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() int MN = 0; ifstream myf; myf.open(c:EmployeeMaxNum.txt); myfMN;

31、coutMNendl; myf.close(); return MN; void Employee:NewInfo() char tmpName50; cout; cintmpName; Employee:EmployeeName = new charstrlen(tmpName)+1; strcpy(Employee:EmployeeName,tmpName); / Employee:EmployeeNum = EmployeeMaxNum + Employee:MaxNum()+1; / char tmpDepart50; cout; cintmpDepart; Employee:Empl

32、oyeeDepart = new charstrlen(tmpDepart)+1; strcpy(Employee:EmployeeDepart,tmpDepart); / cout; cinEmployee:EmployeeGrade; while(Employee:EmployeeGrade !=1& Employee:EmployeeGrade !=2& Employee:EmployeeGrade !=3& Employee:EmployeeGrade !=4) coutYour Input Error! Input Again be careful:)endl; cout; cinE

33、mployee:EmployeeGrade; / cout; cinEmployee:EmployeeWorkTime; / Employee:EmployeePay = Employee:Pay(Employee:EmployeeGrade); DBOperate dbo; dbo.ReadOut(); int MaxNum = Employee:MaxNum(); ENMaxNum = Employee:EmployeeName; ENumMaxNum = Employee:EmployeeNum; EDMaxNum = Employee:EmployeeDepart; EGMaxNum

34、= Employee:EmployeeGrade; EWTMaxNum = Employee:EmployeeWorkTime; EPMaxNum = Employee:EmployeePay; dbo.WriteIn(1); coutAdd Successendl; return; void Employee:ShowInfo() for(int i=0;iEmployee:MaxNum();i+) coutThe Employees Information:endl; cout*endl; coutENiendl; coutENumiendl; coutEDiendl; cout* Emp

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服