已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安徽工业大学面向对象程序设计课程设计报告书 设 计 题 目:企业人事管理系统指 导 老 师:汤亚玲 学 生 学 号:119074292学 生 姓 名:黄飞时 间:2012年12月21日第1章 选 题1.1 题目背景企业人事管理系统是企业管理中的一个重要内容,随着时代的进步,企业人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高。早期的人工方式的管理系统已不适合现代企业的公司的发展,实现企业人事管理的系统化、规范化、自动化,是现代企业管理的首选。1.2系统实现的具体分工系统分为职工类、职工数据类、权限设置类以及主函数等几大模块,其中职工类实现对公司职工个人基本信息的描述,职工数据类实现公司对职工的维护,权限设置类实现对使用者的操作权限设置功能,main() 函数实现对程序主界面的引导。1.2.1 标题企业人事管理系统1.2.2 题目要求设计一个小型人事管理系统,假设公司只有经理、业务经理、普通职工,需要描述他们的信息,如职工编号、姓名、电话、住址等信息,且需要设置系统操作权限,实现界面的转换,增、删、查、改、显示功能。1.3开发环境Visual C+ 6.0第2章 设计内容2.1实现功能系统主要包括企业系统管理人员对企业职工信息的增、删、查、改等功能和普通职工对职工信息的查看功能。用户只需在进入操作界面后选择相应的登陆身份就可以进行相应的操作。2.2 概要设计(涉及类的框图)企业人事管理系统用户身份验证类 Jusrition职工信息类Employee职工数据类 Database主程序main设置帐号、密码setData判断权限操作judge职工基础信息定义职工基础信息设置职工基础信息的增加、删除 、显示 构造Database()函数系统的主界面输出由主界面进入子界面或退出增、删、全删、查、改、显示职工信息void empdata()职工维护2.3 界面设计界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。结构设计 Structure Design结构设计也称概念设计 (Conceptual Design),是界面设计的骨架。该人事管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1操作、0返回。选择1操作又会进入登陆界面,其目录体系包括 1系统管理员、2 职工。选择 1系统管理员会进入管理员操作界面,其目录体系包括1增加2更改3删除4查找5显示6全删7 帮助0退出,选择2会进入职工操作界面,其目录包括1查找 2退出,然后选择相应的操作进行操作。这些都充分体现了结构化的界面设计理念。交互设计 Interactive Design 交互设计的目的是使产品让用户明白、清楚,且能简单使用。 任何产品功能的实现都是通过人和机器的交互来完成的。该人事管理系统中包含1)清楚的错误提示,误操作后,系统提供有针对性的提示。例如管理员输入的帐号或密码错误时,系统会给出相应的提示,以指导管理员进行正确的操作。以及增、删、查、改等功能实现中的提示信息。2) 使用用户的语言,而非技术的语言。 3)方便退出。4)导航功能。随时转移功能,很容易从一个功能跳到另外一个功能。例如操作者所需各服务间功能转换。人的因素被作为设计的核心体现出来。视觉设计 Visual Design 该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理模型和任务达成进行了视觉设计。 第3章 系统实现3.1 涉及知识点类封装、面向对象程序设计、字符串的应用、条件语句、循环语句的使用、库函数(屏幕清零函数)的应用、过程化设计的思想等。源代码#include #include #include #include #includeusing std:map;const int Maxr=100;class Jusrition/身份验证类private:char zh11;/用户帐号char mm21;/用户密码int mi;public:void setData(char a,char b)strcpy(zh,a);strcpy(mm,b);int judge()/用户权限判断函数 int s,t,i=1; docoutsetw(20)zh;coutsetw(20)mm;s=strcmp(zh,abc);t=strcmp(mm,1234);if(s|t)cout您输入的信息错误,请重新输入!n;else return 0; i+;while(i);class Employee /职工类int tag;/删除标记 int no;/职工编号 char name20;/职工姓名 char zw20;/职务 int salary;/职工工资 char cellphone20;/职工电话 char address50;/家庭住址public: Employee() char *getname() return name;/获取名字 int gettag() return tag;/获取标记 int getno() return no;/获取编号 int getsalary()return salary; char *getaddress()return address; char *getcellphone()return cellphone; void setzw(char q)/设置职务 strcpy(zw,q); void setname(char na)/设置名字 strcpy(name,na); void setaddress(char a) strcpy(address,a); void setcellphone(char c) strcpy(cellphone,c); void getsalary(int sa)salary=sa; void delna()tag=1;cout删除成功!endl;/删除 void addemp(int n,int sa,char *na,char *q,char *a,char* c)/增加 tag=0; no=n; salary=sa; strcpy(name,na); strcpy(zw,q); strcpy(address,a); strcpy(cellphone,c);void disp()/显示职工信息coutsetw(5)nosetw(8)namesetw(8)salarysetw(10)zwsetw(15)cellphonesetw(15)addressendl;class Database/职工数据类 int top; Employee readMaxr;Jusrition user;/用户权限对象定义public:Database()/将职工信息从employee.txt读取到read中 Employee s; top=-1; fstream file(employee.txt,ios:in); 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 *na,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(int empid) for (int i=0;i=top;i+) if (readi.getno()=empid & readi.gettag()=0) return &readi; return NULL; Employee *query1(char empna20) for (int i=0;i=top;i+) if (readi.getname()=empna) & readi.gettag()=0) return &readi; return NULL; Employee *query2(char empa50)for (int i=0;i=top;i+) if (readi.getaddress()=empa & readi.gettag()=0) return &readi; return NULL; Employee *query3(char empc20)for (int i=0;i=top;i+) if (readi.getcellphone()=empc & readi.gettag()=0) return &readi; return NULL; void disp() /职工信息显示 for (int i=0;i=top;i+) if (readi.gettag()=0)readi.disp(); void empdata(); Database() /将read中的信息读入到employee.txt中 fstream file(employee.txt,ios:out); /文件操作for (int i=0;ik;if(k=1) user.setData(abc,1234); user.judge();system(cls);/屏幕清零while(choice!=0)if(k=1)cout; cinchoice; system(cls);/屏幕清零switch (choice) case 1: .(新增)break;case 2: (修改)break; case 3: cout; cinempid;r=query(empid); if (r=NULL) cout该职工不存在delna();break; case 4: cout请输入需要查找的职工的编号:n;coutsetw(50) -n; coutsetw(50) 请选择您所需的操作 n; coutsetw(50) 按编号查找1,并按回车键 n; coutsetw(50) 返回 2,并按回车键 n; coutsetw(50)b; system(cls);/屏幕清零switch(b)case 1:coutempid; r=query(empid); if (r=NULL) cout该职工不存在endl;break; coutsetw(5) 编号setw(8) 姓名setw(8) 工资setw(10) 职务 setw(15) 电话setw(15) 家庭地址disp();break;case 2:break;break;case 5: .break; case 6: clear(); break;/删除所有case 7: cout工资计算方式:n1.经理:基本工资(8000)+奖金.n2.业务经理:基本工资(4000)+提成.n3.普通员工:基本工资n;break;else if(k=2)cout; cinchoice;system(cls);/屏幕清零switch (choice)case 1: coutsetw(50)-n; coutsetw(50) 请选择您所需的操作 n; coutsetw(50) 按编号查找1,并按回车键 n; coutsetw(50) 返回 2,并按回车键 n; coutsetw(50)b;system(cls);/屏幕清零switch(b)case 1:coutempid;r=query(empid); if (r=NULL) cout该职工不存在endl; break; coutsetw(5) 编号setw(8) 姓名setw(8) 工资setw(10) 职务setw(15) 电话setw(15) 家庭地址disp();break;case 2:break;break;case 0:break;void main()int choice=1;Database EmpDB;while(choice!=0)cout*endl;coutendl;coutendl;coutendl;coutsetw(50)欢迎进入人事管理系统endl;coutendl;coutendl;coutendl;coutsetw(20)*endl;coutendl;coutendl;coutsetw(50) -n; coutsetw(50) 请选择您所需的操作 n;coutsetw(50) n; coutsetw(50) 操作 1.并按回车键 n;coutsetw(50) n; coutsetw(50) 返回 0.并按回车键 n; coutsetw(50)choice; system(cls);/屏幕清零switch(choice) case 1:while(1)coutsetw(50) *n; coutsetw(50) * 请选择您的登陆身份! 并以回车结束 *n; coutsetw(50) * *n;coutsetw(50) * 1.系统管理员 *n; coutsetw(50) * *n;coutsetw(50) * 2. 职工 *n; coutsetw(50) *n; coutsetw(20);EmpDB.empdata();break;case 0:coutendlendlendl;cout *endl;coutendlendl;cout 谢 谢 使 用 !endl;coutendlendlendl;cout *endl;coutendlendlendl;break;第4章 结束语(心得体会)通过这一个段时间的学习,发现了自己的很多不足,自己知识的很多漏洞,也有很多闻所未闻的东西,从而更加明白知识扎实的重要性,理解实践能力的重要性!因为基础知识的不扎实让我在这次课程设计中走了许多弯路,不过我认为是值得的,它大大的补充了我知识不足的那一面,我始终相信付出必有收获。 这次的课程设计,可以说是苦乐交加。在程序设计过程中,不仅检验、巩固了我所学的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。 它为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省台州市名校2026届物理八年级第一学期期末考试试题含解析
- 江苏无锡市2026届八年级物理第一学期期末综合测试模拟试题含解析
- 2026届内蒙古赤峰市翁牛特旗乌丹六中学八年级物理第一学期期末质量跟踪监视模拟试题含解析
- 高校教师教学工作绩效总结
- 新能源汽车销售合同样本
- 轻钢结构PC阳光板温室大棚工程施工方案
- 2025年心理咨询师考试题库含完整答案各地真题
- 中小企业资金管理风险报告
- 2025消化内科学同步习题与全真模拟及答案
- 七年级语文诗歌鉴赏教学案例
- 马铃薯课件教学课件
- 冬季施工安全措施方案
- 2025年碳排放管理员碳排放交易员试题及答案
- 《百年孤独(节选)》课件 统编版高二语文选择性必修上册
- 广东省行政执法资格考试题库(共80页)
- 控压钻井技术及实践(装备与实例)课件
- 《SL191-2008水工钢筋混凝土设计规范》宣贯要点
- 《房屋面积测算技术规程》DGJ32TJ131-2011
- 跨文化交际案例分析【精选文档】
- 优秀小学生简历小升初简历WORD模板
- 全过程造价咨询服务方案(共92页)
评论
0/150
提交评论