收藏 分销(赏)

人员信息管理系统.doc

上传人:快乐****生活 文档编号:3902111 上传时间:2024-07-23 格式:DOC 页数:45 大小:261.04KB
下载 相关 举报
人员信息管理系统.doc_第1页
第1页 / 共45页
人员信息管理系统.doc_第2页
第2页 / 共45页
人员信息管理系统.doc_第3页
第3页 / 共45页
人员信息管理系统.doc_第4页
第4页 / 共45页
人员信息管理系统.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、C+课程设计题 目: 人员信息管理系统 学生姓名: 学 号: 专业班级: 同组人员: 指导老师: 设计时间: 指导老师意见: 评估成绩: 署名: 日期:C+课程设计实验报告人员信息管理系统一:系统规定分析1:功能需求(1)人员信息基本管理,涉及人员信息的录入、修改和删除;(2)可以自动设立员工的编号,即每增长一位新员工,编号增一;(3)可以分别对不同级别的员工(如经理、技术人员、推销人员等)按照不同的公式计算其工资收入;(4)可以将人员信息保存到磁盘上,以便程序下次运营时使用;(5)具有一定的排错功能,如当用户输入错误数据时提醒用户;(6)可以实现一定限度的查询和记录功能。(7)其他你能想到并

2、对系统有用的功能。在实现程序功能的基础上,尽量运用所学知识,改善程序实现方法,提高程序的可读性、模块性、可扩展性、可重用性和健壮性。工资计算公式:经理 :固定为8000技术人员:工作时间*每小时酬金(100RMB)销售经理:1%提成+固定工资(5000RMB)推销员 :4%提成二:系统总体设计1:系统功能框架设计登陆界面输入登陆密码liu进入功能选择菜单7:退出5:删除4:修改3:查找2:显示1:录入 进行操作解决操作结果自动存入txt文献中,再循环进入主菜单三:系统具体设计1:设计思绪使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作,公司,人员。所以系统重要涉及两个大类:公司

3、类business、人员类person。系统的总体框架就是公司类,人员类的定义;主函数中定义一个公司对象,循环显示主菜单并根据用户选择调用公司类的相应方法(成员函数)。(1)公司类business:考虑系统操作的人员信息的数量具有不拟定性,所以考虑使用链表保存、解决人员信息。公司类包含:所有人员信息的一个不带头结点的链表(作为数据成员)及可以对人员信息进行增,删,改,查询经营信息,基础数据设立,数据存盘,数据装入等操作的相关模块(write,build,search,repair,delete,list)作为成员函数。(2)人员类person:所有人员都具有的公共信息及操作可以使用人员类进行描

4、述。由于系统具有4类人员且4类人员数据,操作有所不同,如销售员包含销售额,而兼职技术人员包含工作小时数且计算工资的方法不同,所以应当为4类人员创建相应的person类的派生类。(3)为了使公司类可以方便解决人员信息,可以考虑将公司类拟定为人员类的友元类或者人员类提供公共的方法以便公司类进行操作。为了公司类可以用共同方法操作人员类,可以将人员类的方法拟定为虚函数。2:功能模块设计1) void write()新增将向要新增的人员通过文献指令ofstream myfile(f1.txt,ios : binary|ios : ate); myfile.write(char*)&p,sizeof p)

5、;myfile.close(); 将信息自动存入txt文档中。2) void search()查找通过读取源文献内容,再运用判断语句if(number=p.number)判断是否输入的序号与存档内容序号相同,相同则输出。3) void delete()删除先查找出要删除的人员信息,再通过ofstream file2(f1.txt,ios : binary|ios : out);创建空白文献覆盖要删除的人员信息。4) void show()显示用while判断语句打印出所有人员信息。5) void repair()修改运用ofstream h1(f2.txt,ios : binary|ios :

6、 out);覆盖要修改的人员信息。6) 错误判断四:系统源代码#include#include#include#includeclass person public : char name20,post20,hour20; int age,number ; ;class business :public person public : int time ; ; /经理(一次派生类)class mgr : public person public: int monthpay; mgr : mgr() monthpay=8000 ; void out() coutnumber ; coutname

7、 ; coutage ; cout该职工的月薪为:monthpayendl; void in() cout编号:number 姓名:name 年龄:age 职称:经理 月薪:monthpayendl; ;/技术人员class technician :public person public: int hourlyRate ; /每小时酬金 int workHours ; /当月工作时数 int pay; technician : technician() hourlyRate=100 ; ; virtual void in() cout编号:number 姓名:name 年龄:age 职称:技

8、术人员 月薪:payendl ; void out() coutnumber ; coutname ; coutworkHours ; coutage ; pay=hourlyRate*workHours ; cout该职工的月薪为:payendl ; ; /销售经理class sell :public business public : int phpay,monthpay ; sell : sell() phpay=1,monthpay=5000 ; void in() cout编号:number 姓名:name 销售额:time 年龄:age 职称:销售经理 月薪:pay()endl ;

9、 int pay() return(phpay*time+monthpay); void out() coutnumber ; coutname ; couttime ; coutage ; cout职工的月薪为:pay()endl ; ;/推销员 class bagman :public business public : int phpay ; bagman : bagman() phpay=4 ; void in() cout编号:number 姓名:name 销售额:time 年龄:age 职称:推销员 年薪:pay()endl ; int pay() return(phpay*tim

10、e); void out() coutnumber ; coutname ; couttime ; coutage ; cout该职工的月薪为:pay()endl ; ;/*输入函数void write1() mgr p ; p.out();ofstream myfile(f1.txt,ios : binary|ios : ate); /与ios:app|ios:out)均可 myfile.write(char*)&p,sizeof p); myfile.close(); void write2() technician p ; p.out(); ofstream myfile(f2.txt,

11、ios : binary|ios : ate); /与ios:app|ios:out)均可 myfile.write(char*)&p,sizeof p); myfile.close();void write3() sell p ; p.out(); ofstream myfile(f6.txt,ios : binary|ios : ate); /与ios:app|ios:out)均可 myfile.write(char*)&p,sizeof p); myfile.close();void write4() bagman p ; ofstream myfile(f7.txt,ios : bin

12、ary|ios : ate); /与ios:app|ios:out)均可 p.out(); myfile.write(char*)&p,sizeof p); myfile.close();void build() coutendl ; cout *请选择职工的信息* endl ; cout * 1.经理 * endl ; cout * 2.技术人员 * endl ; cout * 3.销售经理 * endl ; cout * 4.推销员 * endl ; cout * ch ; while(ch!=N&ch!=n) switch(ch) case 1 : write1(); break ; c

13、ase 2 : write2(); break ; case 3 : write3(); break ; case 4 : write4(); break ; default : coutERROR!endl ;break ; coutch ; if(ch=Y|ch=y) cout请输入14:ch ; /*显示函数void show1() ifstream myfile(f1.txt,ios : binary|ios : out|ios : in); mgr p ; myfile.read(char*)&p,sizeof p); while(!myfile.eof() p.in(); myfi

14、le.read(char*)&p,sizeof p); myfile.close();void show2() ifstream myfile(f2.txt,ios : binary|ios : out|ios : in); technician p; myfile.read(char*)&p,sizeof p); while(!myfile.eof() p.in(); myfile.read(char*)&p,sizeof p); myfile.close();void show3() ifstream myfile(f6.txt,ios : binary|ios : out|ios : i

15、n); sell p ; myfile.read(char*)&p,sizeof p); while(!myfile.eof() p.in(); myfile.read(char*)&p,sizeof p); myfile.close();void show4() ifstream myfile(f7.txt,ios : binary|ios : out|ios : in); bagman p ; myfile.read(char*)&p,sizeof p); while(!myfile.eof() p.in(); myfile.read(char*)&p,sizeof p); myfile.

16、close();void show0() show1(); show2();show3();show4(); void show() cout *你正在显示*endl ;cout * 0.全显 *endl ; cout * 1.经理 *endl ; cout * 2.技术人员 *endl ; cout * 3.销售经理 *endl ; cout * 4.推销员 *endl ; cout *c ; while(c!=N&c!=n) switch(c) case 1 : show1(); break ; case 2 : show2(); break ; case 3 : show3(); bre

17、ak ; case 4 : show4(); break ; case 0 : show0(); break ; default : coutERROR!endl ; break ; cout是否继续显示(Y/N)?c ; if(c=Y|c=y) cout请选择你要显示的职工类:c ; /*查找函数 void search1() int m=1; cout请输入你要查找的编号:number ; ifstream myfile(f1.txt,ios : binary|ios : out|ios : in); mgr p ; myfile.read(char*)&p,sizeof p); whil

18、e(!myfile.eof() if(number=p.number) p.in(); myfile.close();m=0; myfile.read(char*)&p,sizeof p); if(m) cout查无此人!endl ; void search2() int m=1; cout请输入你要查找的编号:number ; ifstream myfile(f2.txt,ios : binary|ios : out|ios : in); technician p ; myfile.read(char*)&p,sizeof p); while(!myfile.eof() if(number=

19、p.number) p.in(); myfile.close();m=0; myfile.read(char*)&p,sizeof p); if(m)cout查无此人!endl ; void search3() int m=1; cout请输入你要查找的编号:number ; ifstream myfile(f6.txt,ios : binary|ios : out|ios : in); sell p ; myfile.read(char*)&p,sizeof p); while(!myfile.eof() if(number=p.number) p.in(); myfile.close();

20、m=0; myfile.read(char*)&p,sizeof p); if(m)cout查无此人!endl ; void search4() int m=1; cout请输入你要查找的编号:number ; ifstream myfile(f7.txt,ios : binary|ios : out|ios : in); bagman p ; myfile.read(char*)&p,sizeof p); while(!myfile.eof() if(number=p.number) p.in(); myfile.close();m=0; myfile.read(char*)&p,sizeo

21、f p); if(m)cout查无此人!endl ; void search() cout *你正在查找*endl ; cout * 1.经理 *endl ; cout * 2.技术人员 *endl ; cout * 3.销售经理 *endl ; cout * 4.推销员 *endl ; cout *c ; while(c!=N&c!=n) switch(c) case 1 : search1(); break ; case 2 : search2(); break ; case 3 : search3(); break ; case 4 : search4(); break ; defaul

22、t : coutERROR!endl ;break ; coutc ; if(c=Y|c=y) cout请选你的职称类型:c ; /*修改函数 void repair1(void) int num,i=0,k=0 ; mgr*p1=new mgr50; coutnum ; ifstream h1(f1.txt,ios : binary|ios : in); h1.read(char*)&p1i,sizeof p1i); while(!h1.eof() i+; h1.read(char*)&p1i,sizeof p1i); h1.close(); k=i ; for(i=0;ik;i+) if(

23、num=p1i.number) p1i.out(); cout修改完毕!endl ; ofstream h2(f1.txt,ios : binary|ios : out); for(i=0;ik;i+) h2.write(char*)&p1i,sizeof p1i); h2.close(); deletep1 ; void repair2(void) int num,i=0,k=0 ; technician*p2=new technician50; coutnum ; ifstream h2(f2.txt,ios : binary|ios : in); h2.read(char*)&p2i,s

24、izeof p2i); while(!h2.eof() i+; h2.read(char*)&p2i,sizeof p2i); h2.close(); k=i ; for(i=0;ik;i+) if(num=p2i.number) p2i.out(); cout修改完毕!endl ; ofstream h1(f2.txt,ios : binary|ios : out); for(i=0;ik;i+) h1.write(char*)&p2i,sizeof p2i); h1.close(); deletep2 ; void repair3(void) int num,i=0,k=0 ; sell*p6=new sell50; coutnum ; fstream h6(f6.txt,ios : binary|ios : out|ios : in); h6.read(char*)&p6i,sizeof p6i); while(!h6.eof()

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信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 

客服