


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安徽工业大学面向对象程序设计课程设计报告书设计题目:企业人事管理系统指导老师:汤亚玲学生学号:119074292学生姓名:黄飞时间:2012年12月21日实用文档第1章选题1.1题目背景企业人事管理系统是企业管理中的一个重要内容,随着时代的进步,企业人员数量也 不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高。 早期的人工方式的管理系统已不适合现代企业的公司的发展,实现企业人事管理的系统化、 规范化、自动化,是现代企业管理的首选。1.2系统实现的具体分工系统分为职工类、职工数据类、权限设置类以及主函数等几大模块,其中职工类实现 对公司职工个人基本信息的描述,职工数
2、据类实现公司对职工的维护,权限设置类实现对使用者的操作权限设置功能,ma in ()函数实现对程序主界面的引导。1.2.1 标题企业人事管理系统1.2.2 题目要求设计一个小型人事管理系统,假设公司只有经理、业务经理、普通职工,需要描述他们的信息,如职工编号、姓名、电话、住址等信息,且需要设置系统操作权限,实现界面的转 换,增、删、查、改、显示功能。1.3开发环境第2章设计内容2.1实现功能系统主要包括企业系统管理人员对企业职工信息的增、删、查、改等功能和普通职工对职工信息的查看功能。用户只需在进入操作界面后选择相应的登陆身份就可以进行相应的操 作。2.2概要设计(涉及类的框图)2.3界面设计
3、界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。结构设计 Structure Design结构设计也称概念设计(Conceptual Design),是界面设计的骨架。该人事管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1操作、0返回。选择1操作又会进入登陆界面,其目录体系包括1系统管理员、2职工。选择1系统管理员会进入管理员操作界面,其目录体系包括1增加2更改3删除4查找5显示6全删7帮助0退出,选择2会进入职工操作界面,其目录包括1查找2退出,然后选择相应的操作进行操作。这些都充分体现了结构化的界面设计理念。交互设计 In teracti
4、ve Desig n交互设计的目的是使产品让用户明白、清楚,且能简单使用。任何产品功能的实现都是通过人和机器的交互来完成的。该人事管理系统中包含1)清楚的错误提示,误操作后,系统提供有针对性的提示。例如管理员输入的帐号或密码错误时,系统会给出相应的提示, 以指导管理员进行正确的操作。以及增、删、查、改等功能实现中的提示信息。2)使用用户的语言,而非技术的语言。3)方便退出。4)导航功能。随时转移功能,很容易从一个功能跳到另外一个功能。例如操作者所需各服务间功能转换。人的因素被作为设计的核心体现出来。视觉设计Visual Design该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理
5、模型和任务达第3章系统实现3.1涉及知识点类封装、面向对象程序设计、 字符串的应用、条件语句、循环语句的使用、库函数(屏幕清零函数)的应用、过程化设计的思想等。源代码#i nclude <iostream.h>#i nclude <ioma nip.h>#i nclude <stri ng.h>#in elude <fstream.h>#in clude<map>using std:map;const int Maxr=100;class Jusrition / 身份验证类private:char zh11; 用户帐号char mm2
6、1; 用户密码int mi;public:void setData(char a,char b)strcpy(zh,a);strcpy(mm,b);int judge() /用户权限判断函数int s,t,i=1;docout<vsetw(20)vv"请输入帐号:";cin> >zh;cout<<setw(20)<<"请输入密码:"cin>>mm;s=strcmp(zh,"abc");t=strcmp(mm,"1234");if(s|t)coutvv"
7、您输入的信息错误,请重新输入!n"elsereturn 0;i+;while(i);class Employee / 职工类int tag;/删除标记int no;/职工编号char n ame20;职工姓名char zw20; 职务int salary;/ 职工工资char cellph on e20;职工电话char address50;家庭住址public:Employee()char *get name() retur n n ame;获取名字int gettag() retur n tag;/获取标记int get no() return no;/获取编号int getsa
8、lary()return salary;char *getaddress()retur n address;char *getcellpho ne()return cellph on e;void setzw(char q) 设置职务strcpy(zw,q);void set name(char n a)设置名字strcpy (n ame ,n a);void setaddress(char a)strcpy(address,a);void setcellph on e(char c)strcpy(cellph on e,c);void getsalary(i nt sa)salary=sa;
9、删除void delna()tag=1;cout<<"删除成功!"<<endl; void addemp(i nt n ,i nt sa,char *n a,char *q,char *a,char*c)增加tag=O;no二n;salary二sa;strcpy (n ame ,n a);strcpy(zw,q);strcpy(address,a);strcpy(cellph on e,c);void disp()/显示职工信息cout«setw(5)v <no <<setw(8)v <n ame<<se
10、tw(8)<<salary<<set w(10)<<zw<<setw(15)<<cellph on e<<setw(15)<<address<<e ndl;class Database/ 职工数据类int top;Employee readMaxr;Jusrition user;/用户权限对象定义public:Database。/将职工信息从employee.txt读取到read中Employee s;top=-1;fstream file("employee.txt",ios:
11、i n);while (1)file.read(char *)&s,sizeof(s);if (!file) break;top+;readtop=s;file.close();void clear()/删除所有top=-1;int addemp (int n, int sa,char *n a,char*q,char *a,char*c) /增加职工Employee *p=query (n);if (p二二NULL)top+;readtop.addemp( n,sa, na,q,a,c);return 1;return 0;Employee *query(i nt empid)for
12、 (int i=0;i<=top;i+)if (readi.get no()=empid && readi.gettag()=O)retur n & readi;retur n NULL;Employee *query1(char emp na20)for (int i=0;i<=top;i+)if (readi.getname()=empna) && readi.gettag()=O)retur n & readi;retur n NULL;Employee *query2(char empa50)for (i nt i=0;i&l
13、t;=top;i+)if (readi.getaddress()=empa && readi.gettag()=O) retur n & readi;retur n NULL; Employee *query3(char empc20)for (int i=0;i<=top;i+)if (readi.getcellphone()=empc&&readi.gettag()=O)retur n & readi;retur n NULL; void disp() /职工信息显示for (int i=0;i<=top;i+)if (readi
14、.gettag()=0)readi.disp();void empdata();Database() / 将 read中的信息读入到 employee.txt 中fstream file("employee.txt",ios:out); /文件操作for (int i=0;i<=top;i+)if (readi.gettag()=0)file.write(char *)& readi,sizeof(readi);file.close();void Database:empdata()职工维护int choice=1;int m=1;i nt b=1;i nt
15、k;char rn ame20;char raddress50,rcellph on e20;int empid; int empsa;i nt q;Employee *r;cin> >k;if(k=1)user.setData("abc","1234");user.judge();system("cls");屏幕清零while(choice!=0)if(k=1)coutvv"职工维护1 :新增2 :更改3 :删除4 :查找5 :显 示6 :全删7:帮助0 :退出=>"cin> >ch
16、oice;system("cls");屏幕清零switch (choice)(新增)break;case 2:(修改)break;case 3:coutvv"输入需要删除的职工编号=>"cin> >empid;r二query(empid);if (r=NULL)coutvv"该职工不存在"<<endl; break;r->de In a();break;case 4:coutvv"请输入需要查找的职工的编号:n"coutv<setw(50)vv"n n"
17、厂coutv<setw(50)vv"请选择您所需的操作n"coutv<setw(50)vv"按编号查找1 ,并按回车键n"coutv<setw(50)vv"返回2 ,并按回车键n"cout<<setw(50)vv" n"cin> >b;system("cls");屏幕清零switch(b)case 1:coutvv"输入职工编号:"cin> >empid;r=query(empid);if (r=NULL)coutvv&q
18、uot;该职工不存在"<<endl;break;姓名家庭地cout<<setw(5)vv" 编号"<<setw(8)vv""<<setw(8)vv" 工资"<vsetw(10)vv" 职务"<<setw(15)<<"电话"<<setw(15)vv"址"<<e ndl;r->disp();break;case 2:break;break;.break;case
19、6:clear(); break;/ 删除所有case 7:coutvv"工 资计算方式:n"<<"1.经 理:基 本工资(8000)+奖金.n"vv"2.业务经理:基本工资(4000)+提成.n"<<"3.普 通员工:基本工资n"break;else if(k=2)coutvv"职工维护1 :查找0 :退出=>"cin> >choice;system("cls");屏幕清零n"switch (choice)case 1:c
20、out<<setw(50)vv"cout<<setw(50)vv"cout<<setw(50)vv"厂n n"请选择您所需的操作按编号查找1,并按回车n"cout<<setw(50)vv" n"cin> >b;system("cls");屏幕清零switch(b)case 1:coutvv"请输入需要查找的职工编号:";cin> >empid;r二query(empid);if (r=NULL)coutvv&quo
21、t;该职工不存在"<<endl; break;coutv<setw(5)vv"编号"<<setw(8)vv" 姓名"<<setw(8)vv" 工资"<vsetw(10)vv" 职务"<<setw(15)<<" 电 话"v<setw(15)vv" 家庭地址"<<endl;r->disp();break;case 2:break;break;case 0:break;void
22、 mai n()int choice=1;Database EmpDB;while(choice!=0)cout«*"<<e ndl;cout«e ndl;cout«e ndl;cout«e ndl;cout<<setw(50)<<"欢迎进入人事管理系统"<<endl;cout«e ndl;cout«e ndl;cout«e ndl;cout<<setw(20)<<*"<<e ndl;cout«
23、;e ndl;cout«e ndl;cout<<setw(50)<<"厂n n"请选择您所需的操作cout<<setw(50)<<"n"cout<<setw(50)<<"操作1.并按回车键n"cout<<setw(50)<<"n"cout<<setw(50)<<"返回0.并按回车键n"cout<<setw(50)<<"Ln"
24、cin> >choice;system("cls");屏幕清零switch(choice)case 1:while(1)cout<<setw(50)<<"*、n"cout<<setw(50)vv" *请选择您的登陆身份!并以回车结束*n"cout<<setw(50)vv"*n"cout<<setw(50)vv"*n"职工cout<<setw(50)<<"*2.*n"cout<
25、<setw(50)<<"*、n"cout<<setw(20);EmpDB.empdata();break;case 0:cout«e ndl«e ndl«e ndl;cout«"*"<<e ndl;cout«e ndl«e ndl;谢cout«"谢用!"<<e ndl;cout«e ndl«e ndl«e ndl;使cout«"*"<<e ndl;cout«e ndl«e ndl«e ndl;break;第4章结束语(心得体会)通过这一个段时间的学习,发现了自己的很多不足,自己知识的很多漏洞,也有很多闻所未闻的东西,从而更加明白知识扎实的重要性,理解实践能力的重要性!因为基础知识的不扎实让我在这次课程设计中走了许多弯路,不过我认为是值得的,它大大的补充了我知识不足的那一面,我始终相信付出必有收获。 这次的课程设计,可以说是苦乐交加。在程序设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论