人事档案管理系统课程设计说明书(编辑修改稿)内容摘要:
cout员工编号 员工姓名 年龄 性别 部门 职务 学历 工资 缺勤 (天 ) 罚金 个税 实发数 endl。 while(head!=NULL) { Display(head)。 head=headnext。 } 6 用户手册及测试结果 用户手册 运行程序时,界面刚开始出现一个主菜单及提示信息,用户通过在键盘上输入来选择某个功能。 当用户选择了某个功能,系统将跳转到所选择的功能界面,用户将可以根据提示信息来使用该功能,当用户通过键盘输入编号为 1时,系统将返回主界面。 测试结果 1,主菜单 2,输入,添加,删除,修改,查询: 统计 排序 : 成功之处:此系统程序虽然简单,却集结了基本的管理功能。 删除,存储,统计等功能还是较为成功的。 特别是人事档案的统计管理功能,使烦琐的工作变得简单轻松。 不足之处:由于我们水平和时间有限,难免有不足和差强人意的地方。 尤其是对于系统应该配以保密性的设置,可是由于我知识积累不够, 做不出来。 还请迟老师海涵。 两周 的 数据结构与算法 课程设计结束了,在这 几 天的时间里,我自己独立完成了一个程序从构思结构,到编写代码,然后上机调试运行的过程,感觉自己收获很大。 通过解决一个又一个的问题,熟 悉了 C++语言的应用。 在设计过程中,在编程时条理清晰是至关重要的。 主函数,函数,成员函数之间的层次关系,调用关系一定要有一个全面的把握,尤其要体会类的封装性。 另外很重要的一点就是一定要对链表的五种操作熟练的掌握。 我理解了对于一个较大的程序,不可能一次编写出一个较大的系统,通常要采取自顶向下的设计思想,先设计主函数,再通过完善一个个的功能模块来完成程序的设计过程,在设计过程中要充分理解整个程序的设计思路,采用逐步细化的方式来完成整个程序。 在编译,链接,调试的过程中一定要有耐心。 因为一个程序中会有很多小的错误 ,甚至有的问题要几个小时才能解决。 遇到问题,一定要全面分析,有时候还要向同学请教。 总得来说,编程时极需要耐心的。 参考文献 C语言大学实用教程 电子工业出版社 C++程序设计教程(第二版)高等教育出版社 C 语言程序设计教程 北京大学出版社 C 语言程序设计实例精粹 电子工业出版社 陈天华编 .面向对象程序设计与 Visual C++ 教程 [M].北京 :清华大学出版社 ,20xx 程序清单: includeiostream includestring includefstream includeiomanip using namespace std。 /*****************************************************/ /*定义一个员工信息的结构体 Worker_pay*/ struct Worker_pay { int num。 //员工编号 string name。 //员工姓名 int age。 //年龄 string sex。 //性别 string department。 //部门 string title。 //职务 int eduage。 //学历(年) float wage。 //工资 int day。 //缺 勤天数 float allowance。 //扣发工资 float tax。 //个人所得税 float real_wage。 //实发数 Worker_pay * next。 //链表结点的指针域 }。 /*****************************************************/ /*定义一个员工类 Worker*/ class Worker { protected: Worker_pay * head。 //链表的头 结点指针 // Worker_pay * p。 public: Worker(){head=NULL。 } //构造函数 void Display(Worker_pay *)。 //输出函数 Worker_pay * Find(int)。 //查找函数 Worker_pay * Find(string,string)。 Worker_pay * Find(string)。 int ListCount()。 //统计员工人数函数 void AddItem(int,string,int,string,string,string,int,float,int,float)。 //创建链表并链表的插入 void RemoveItem(int)。 //删除函数 void ReplaceItem(int)。 //修改函数 void ListL()。 //遍历函数 void Search(int)。 //查找并输出某个员工信息函数 void Search(string,string)。 void Search(string)。 void Listavg(string)。 void Real_wage(float,float)。 //计算函数 void Recordinfo(int,string,int,string,string,string,int,float,int,float,float,float)。 //存储函数 void paixu(string)。 void load()。 void sort_data()。 }。 //Worker_pay *t。 /*****************************************************/ //功能:用于统计员工人数 int Worker::ListCount() { if(!head) return 0。 Worker_pay * p=head。 int n=0。 while(p) { n++。 p=pnext。 } return n。 } /*****************************************************/ //功能:在链表中查找员工的编号 Worker_pay * Worker::Find(int num) { if(ListCount==0) { cout列表为空,请先输入数据 !!!endl。 return NULL。 } Worker_pay * p=head。 while(p) { if(pnum==num) break。 p=pnext。 } if(!p) { cout错误,找不到该信息 !!!endl。 return NULL。 } return p。 } /*****************************************************/ /*Worker_pay * Worker::Find(string department) { if(ListCount==0) { cout列表为 空,请先输入数据 !!!endl。 return NULL。 } Worker_pay * p=head。 while(p) { if(pdepartment==department) //(department)。 break。 p=pnext。 } if(!p) { cout错误,找不到该信息 !!!endl。 return NULL。 } return p。 }*/ /*****************************************************/ //功能:创建链表及链表的插入 void Worker::AddItem(int num1,string name1,int age1,string sex1,string department1,string title1,int eduage1,float wage1,int day1,float allowance1) { if(!head) { head=new Worker_pay。 headnum=num1。 headname=name1。 headage=age1。 headsex=sex1。 headdepartment=department1。 headtitle=title1。 headeduage=eduage1。 headwage=wage1。 headday=day1。 headallowance=allowance1。 headnext=NULL。 return。 } Worker_pay * t=head。 while(tamp。 amp。 tnum!=num1) t=tnext。 if(t) { cout操作失败;员工编号为 num1的信息已经存在 !!!endl。 return。 } Worker_pay * p=head。 while(pnext) p=pnext。 Worker_pay * p1=new Worker_pay。 p1num=num1。 p1name=name1。 p1age=age1。 p1sex=sex1。 p1department=department1。 p1title=title1。 p1eduage=eduage1。 p1wage=wage1。 p1day=day1。 p1allowance=allowance1。 p1next=NULL。 pnext=p1。 return。 } /*****************************************************/ //功能:从链表中删除一个结点 void Worker::RemoveItem(int num) { Worker_pay * t=Find(num)。 if(!t) return。 Worker_pay * p=head。 if(head=t) { head=headnext。 delete p。 cout成功删除员工编号为 num的信息 !endl。 return。 } while(pnext!=t) p=pnext。 Worker_pay * p1=pnext。 pnext=p1next。 delete p1。 cout成功删除员工编号为 num的信息 !endl。 return。 } /*****************************************************/ //功能:修改员工信息 void Worker::ReplaceItem(int num) { Worker_pay * p=Find(num)。 if(!p) return。 cout请重新输入相应信息 endl。 cout员工编号 :。 cinpnum。 cout员工姓名 :。 cinpname。 cout年龄 :。 cinpage。 cout性别 :。 cinpsex。人事档案管理系统课程设计说明书(编辑修改稿)
相关推荐
(20) 工作单位 FOffice VARCHAR(30) 职务 FPosition VARCHAR(20) 表 Primary Key( FEM_ID、 FName) Foreign Key( FEM_ID) 员工调动信息表( TTranslateInfo): 属性 系统名称 类型 员工号 FEM_ID VARCHAR(10) 当前所在部门 FPreDept VARCHAR(8) 当前职务
ak currents are typically three to five times higher than the average current drawn by the power supply. This causes excessive voltage drop in the wiring and imbalance problems in the three phase
分考虑员工的主观愿望,导致不能充分实现员工培训的目的; 有些员工并不清楚自己的职业规划,盲目的跟随企业的培训而培训,造成不必要的资源浪费; ※ 泰豪科技股份有限公司员工培训 ※ 14 有时会出现培 训与工作相冲突的情况; 公司培训的内容大部分关注的是新员工的就职培训和员工基本的职业技能的训练,这种短期的培训过多的着眼于短期任务的完成而忽略了整体的规划。 : ( 1) 组织分析。 通过对 一觉
年发展迅速,环境适用能力较强,可以在国内地区很好应用。 : 29 人 建设投资 991万元,其中 工程费用 856 万元 工程建设其他费用 88 万元 预备费 47 万元 CNG 液压加气子站主要耗能为电能,液压子站系统总功率为75kw,其它动力及照明、仪表用电约为 40kw,小 时加气能力为20xxNm3,按每天工作 12 小时计算,全年耗电量为 40 104kwh. CNG
几何图形在投影到平面时,不可避免会产生变形。 采用国家 3176。 带投影的坐标系统,在投影带边缘的边长投影变形值达到340mm/km,这对无碴轨道的施工是很不利的,它远远大于目前普遍使用的全站 仪的测距精度( 1~10mm/km),对工程施工的影响呈系统性。 从理论上来说,边长投影变形值越小越有利。 因此规定客运专线无碴轨道铁路工程测量控制网采用工程独立坐标系,把边长投影变形值控制在
偿提供设备及辅助人员。 ⑤在监理工程师核准测量成果后,按图纸要求现场设置用地界桩和坡脚、截水沟、边沟、护坡道、取土坑、弃土堆等的具体位置桩,标明其轮廓,报请监理工程师检查批准。 (4)场地清理 场地清理主要为施工场区内植被的清理,清理方法:人工配合反铲挖掘机、装载机挖装,自卸车运输。 主要施工程序如下: ① 按监理工程师批准的施工放样资料,依设计图纸开挖断面测量放出开挖坡口线等控制点后, 将