欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

人员信息管理系统

  • 资源ID:68894030       资源大小:199.61KB        全文页数:36页
  • 资源格式: DOCX        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

人员信息管理系统

C+课程设计题 目: 人员信息管理系统 学生姓名: 学 号: 专业班级: 同组人员: 指导老师: 设计时间: 指导老师意见: 评定成绩: 签名: 日期:C+课程设计实验报告人员信息管理系统一:系统要求分析1:功能需求(1)人员信息基本管理,包括人员信息的录入、修改和删除;(2)能够自动设置员工的编号,即每增加一位新员工,编号增一;(3)能够分别对不同级别的员工(如经理、技术人员、推销人员等)按照不同的公式计算其工资收入;(4)能够将人员信息保存到磁盘上,以便程序下次运行时使用;(5)具有一定的排错功能,如当用户输入错误数据时提示用户;(6)能够实现一定程度的查询和统计功能。(7)其他你能想到并对系统有用的功能。在实现程序功能的基础上,尽量运用所学知识,改进程序实现方法,提高程序的可读性、模块性、可扩展性、可重用性和健壮性。工资计算公式:经理 :固定为8000技术人员:工作时间*每小时酬金(100RMB)销售经理:1%提成+固定工资(5000RMB)推销员 :4%提成二:系统总体设计1:系统功能框架设计登陆界面输入登陆密码liu进入功能选择菜单7:退出5:删除4:修改3:查找2:显示1:录入 进行操作处理操作结果自动存入txt文件中,再循环进入主菜单三:系统详细设计1:设计思路使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作,公司,人员。所以系统主要涉及两个大类:公司类business、人员类person。系统的总体框架就是公司类,人员类的定义;主函数中定义一个公司对象,循环显示主菜单并根据用户选择调用公司类的相应方法(成员函数)。(1)公司类business:考虑系统操作的人员信息的数量具有不确定性,所以考虑使用链表保存、处理人员信息。公司类包含:所有人员信息的一个不带头结点的链表(作为数据成员)及可以对人员信息进行增,删,改,查询经营信息,基础数据设置,数据存盘,数据装入等操作的相关模块(write,build,search,repair,delete,list)作为成员函数。(2)人员类person:所有人员都具有的公共信息及操作可以使用人员类进行描述。由于系统具有4类人员且4类人员数据,操作有所不同,如销售员包含销售额,而兼职技术人员包含工作小时数且计算工资的方法不同,所以应当为4类人员创建相应的person类的派生类。(3)为了使公司类可以方便处理人员信息,可以考虑将公司类确定为人员类的友元类或者人员类提供公共的方法以便公司类进行操作。为了公司类可以用共同方法操作人员类,可以将人员类的方法确定为虚函数。2:功能模块设计1) void write()新增将向要新增的人员通过文件指令ofstream myfile("f1.txt",ios : binary|ios : ate); myfile.write(char*)&p,sizeof p);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 : out);覆盖要修改的人员信息。6) 错误判断四:系统源代码#include<iostream.h>#include<fstream.h>#include<string.h>#include<stdlib.h>class 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() cout<<"请输入职工的编号:" ; cin>>number ; cout<<"请输入职工的姓名:" ; cin>>name ; cout<<"请输入职工的年龄:" ; cin>>age ; cout<<"该职工的月薪为:"<<monthpay<<endl; void in() cout<<"编号:"<<number<<' '<<"姓名:"<<name<<' '<<"年龄:"<<age<<' '<<"职称:"<<"经理 "<<' '<<"月薪:"<<monthpay<<endl; ;/技术人员class technician :public person public: int hourlyRate ; /每小时酬金 int workHours ; /当月工作时数 int pay; technician : technician() hourlyRate=100 ; ; virtual void in() cout<<"编号:"<<number<<' '<<"姓名:"<<name<<' '<<"年龄:"<<age<<' '<<"职称:"<<"技术人员"<<' '<<"月薪:"<<pay<<endl ; void out() cout<<"请输入职工的编号:" ; cin>>number ; cout<<"请输入职工的名字:" ; cin>>name ; cout<<"请输入工作的小时:" ; cin>>workHours ; cout<<"请输入职工的年龄:" ; cin>>age ; pay=hourlyRate*workHours ; cout<<"该职工的月薪为:"<<pay<<endl ; ; /销售经理class sell :public business public : int phpay,monthpay ; sell : sell() phpay=1,monthpay=5000 ; void in() cout<<"编号:"<<number<<" "<<"姓名:"<<name<<" "<<"销售额:"<<time<<" "<<"年龄:"<<age<<" "<<"职称:"<<"销售经理"<<" "<<"月薪:"<<pay()<<endl ; int pay() return(phpay*time+monthpay); void out() cout<<"请输入职工的编号:" ; cin>>number ; cout<<"请输入职工的名字:" ; cin>>name ; cout<<"请输入销售额 :" ; cin>>time ; cout<<"请输入职工的年龄:" ; cin>>age ; 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*time); void out() cout<<"请输入职工的编号:" ; cin>>number ; cout<<"请输入职工的名字:" ; cin>>name ; cout<<"请输入销售额 :" ; cin>>time ; cout<<"请输入职工的年龄:" ; cin>>age ; 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",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 : binary|ios : ate); /与ios:app|ios:out)均可 p.out(); myfile.write(char*)&p,sizeof p); myfile.close();void build() cout<<endl ; cout<<" *请选择职工的信息* "<<endl ; cout<<" * 1.经理 * "<<endl ; cout<<" * 2.技术人员 * "<<endl ; cout<<" * 3.销售经理 * "<<endl ; cout<<" * 4.推销员 * "<<endl ; cout<<" * "<<endl ; char ch ; cin>>ch ; while(ch!='N'&&ch!='n') switch(ch) case '1' : write1(); break ; case '2' : write2(); break ; case '3' : write3(); break ; case '4' : write4(); break ; default : cout<<"ERROR!"<<endl ;break ; cout<<"是否继续输入:(Y/N)?" cin>>ch ; if(ch='Y'|ch='y') cout<<"请输入14:"<<endl ; cin>>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(); myfile.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 : in); 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.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<<" *"<<endl ; char c ; cin>>c ; while(c!='N'&&c!='n') switch(c) case '1' : show1(); break ; case '2' : show2(); break ; case '3' : show3(); break ; case '4' : show4(); break ; case '0' : show0(); break ; default : cout<<"ERROR!"<<endl ; break ; cout<<"是否继续显示(Y/N)?"<<endl ; cin>>c ; if(c='Y'|c='y') cout<<"请选择你要显示的职工类:"<<endl ; cin>>c ; /*查找函数 void search1() int m=1; cout<<"请输入你要查找的编号:"<<endl ; int number ; cin>>number ; ifstream myfile("f1.txt",ios : binary|ios : out|ios : in); mgr p ; myfile.read(char*)&p,sizeof p); while(!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<<"请输入你要查找的编号:"<<endl ; int number ; cin>>number ; ifstream myfile("f2.txt",ios : binary|ios : out|ios : in); technician p ; myfile.read(char*)&p,sizeof p); while(!myfile.eof() if(number=p.number) p.in(); myfile.close();m=0; myfile.read(char*)&p,sizeof p); if(m)cout<<"查无此人!"<<endl ; void search3() int m=1; cout<<"请输入你要查找的编号:"<<endl ; int number ; cin>>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();m=0; myfile.read(char*)&p,sizeof p); if(m)cout<<"查无此人!"<<endl ; void search4() int m=1; cout<<"请输入你要查找的编号:"<<endl ; int number ; cin>>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,sizeof p); if(m)cout<<"查无此人!"<<endl ; void search() cout<<" *你正在查找*"<<endl ; cout<<" * 1.经理 *"<<endl ; cout<<" * 2.技术人员 *"<<endl ; cout<<" * 3.销售经理 *"<<endl ; cout<<" * 4.推销员 *"<<endl ; cout<<" *"<<endl ; char c ; cin>>c ; while(c!='N'&&c!='n') switch(c) case '1' : search1(); break ; case '2' : search2(); break ; case '3' : search3(); break ; case '4' : search4(); break ; default : cout<<"ERROR!"<<endl ;break ; cout<<"是否继续查找(Y/N)?" ; cin>>c ; if(c='Y'|c='y') cout<<"请选你的职称类型:"<<endl ; cin>>c ; /*修改函数 void repair1(void) int num,i=0,k=0 ; mgr*p1=new mgr50; cout<<"请输入你要修改的编号:" ; cin>>num ; 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;i<k;i+) if(num=p1i.number) p1i.out(); cout<<"修改完毕!"<<endl ; ofstream h2("f1.txt",ios : binary|ios : out); for(i=0;i<k;i+) h2.write(char*)&p1i,sizeof p1i); h2.close(); deletep1 ; void repair2(void) int num,i=0,k=0 ; technician*p2=new technician50; cout<<"请输入你要修改的编号:" ; cin>>num ; ifstream h2("f2.txt",ios : binary|ios : in); h2.read(char*)&p2i,sizeof p2i); while(!h2.eof() i+; h2.read(char*)&p2i,sizeof p2i); h2.close(); k=i ; for(i=0;i<k;i+) if(num=p2i.number) p2i.out(); cout<<"修改完毕!"<<endl ; ofstream h1("f2.txt",ios : binary|ios : out); for(i=0;i<k;i+) h1.write(char*)&p2i,sizeof p2i); h1.close(); deletep2 ; void repair3(void) int num,i=0,k=0 ; sell*p6=new sell50; cout<<"请输入你要修改的编号:" ; cin>>num ; fstream h6("f6.txt",ios : binary|ios : out|ios : in); h6.read(char*)&p6i,sizeof p6i); while(!h6.eof() i+; h6.read(char*)&p6i,sizeof p6i); k=i ; h6.close(); for(i=0;i<k;i+) if(num=p6i.number) p6i.in(); cout<<"修改完毕!"<<endl ; ofstream h1("f6.txt",ios : binary|ios : out); for(i=0;i<k;i+) h1.write(char*)&p6i,sizeof p6i); h1.close(); deletep6 ; void repair4(void) int num,i=0,k=0 ; bagman*p7=new bagman50; cout<<"请输入你要修改的编号:" ; cin>>num ; fstream h7("f7.txt",ios : binary|ios : out|ios : in); h7.read(char*)&p7i,sizeof p7i); while(!h7.eof() i+; h7.read(char*)&p7i,sizeof p7i); k=i ; h7.close(); for(i=0;i<k;i+) if(num=p7i.number) p7i.out(); cout<<"修改完毕!"<<endl ; ofstream h1("f7.txt",ios : binary|ios : out); for(i=0;i<k;i+) h1.write(char*)&p7i,sizeof p7i); h1.close(); deletep7 ; void repair() cout<<" *你正在修改*"<<endl ; cout<<" * 1.经理 *"<<endl ; cout<<" * 2.技术人员 *"<<endl ; cout<<" * 3.销售经理 *"<<endl ; cout<<" * 4.推销员 *"<<endl ; cout<<" *"<<endl ; char c ; cin>>c ; while(c!='N'&&c!='n') switch(c) case '1' : repair1(); break ; case '2' : repair2(); break ; case '3' : repair3(); break ; case '4' : repair4(); break ; default : cout<<"ERROR!"<<endl ;break ; cout<<"是否继续修改(Y/N)?"<<endl ; cin>>c ; if(c='Y'|c='y') cout<<"请输入你要修改的职称类型:"<<endl ; cin>>c ; void delete1() int i=0,number ; ifstream myfile("f1.txt",ios : binary|ios : in); mgr p30; myfile.read(char*)(p+i),sizeof*p); cout<<"请输入你要删除的对象的编号:"<<endl ; cin>>number ; while(!myfile.eof() if(number=pi.number) i-; i+; myfile.read(char*)(p+i),sizeof*p); int k=i ; myfile.close(); ofstream file2("f1.txt",ios : binary|ios : out); for(i=0;i<k;i+) file2.write(char*)(p+i),sizeof*p); void delete2() int i=0,number ; ifstream myfile("f2.txt",ios : binary|ios : in); technician p30; myfile.read(char*)(p+i),sizeof*p); cout<<"请输入你要删除的对象的编号:"<<endl ; cin>>number ; while(!myfile.eof() if(number=pi.number) i-; i+; myfile.read(char*)(p+i),sizeof*p); int k=i ; myfile.close(); ofstream file2("f2.txt",ios : binary|ios : out); for(i=0;i<k;i+) file2.write(char*)(p+i),sizeof*p); void delete3() int i=0,number ; ifstream myfile("f6.txt",ios : binary|ios : in); sell p30; myfile.read(char*)(p+i),sizeof*p); cout<<"请输入你要删除的对象的编号:"<<endl ; cin>>number ; while(!myfile.eof() if(number=pi.number) i-; i+; myfile.read(char*)(p+i),sizeof*p); int k=i ; myfile.close(); ofstream file2("f6.txt",ios : binary|ios : out); for(i=0;i<k;i+) file2.write(char*)(p+i),sizeof*p); void delete4() int i=0,number ; ifstream myfile("f7.txt",ios : binary|ios : in); bagman p30; myfile.read(char*)(p+i),sizeof*p); cout<<"请输入你要删除的对象的编号:"<<endl ; cin>>n

注意事项

本文(人员信息管理系统)为本站会员(痛***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!