1、河南城建学院面向对象程序设计课程设计汇报书设 计 题 目:企业人事管理系统指 导 老 师: 学 生 学 号:1314132学 生 姓 名:同 组 人 员:时 间:12月30日目 录第1章 选 题21.1 题目背景21.2系统实现具体分工21.2.1 标题21.3开发环境2第2章 设计内容32.1实现功效32.2 概要设计(包含类框图)32.3 界面设计3第3章 系统实现43.1 包含知识点43.2 系统运行(关键运行界面抓图)43.3 源程序清单(关键代码)4第4章 结束语5第1章 选 题1.1 题目背景伴随现在计算机技术不停完善,和现代经济不停发展,传统管理技 术不再满足企业需要,越来越多企
2、业重视计算机信息管理系统,人事信息管理系统是经典计算机信息管理系统之一,企业借助于它进行人力资源管理,达成事半功倍。1.2系统实现具体分工系统分为“结构”数据类型、主界面类、二级界面类、操作类和主函数等几大模块,其中操作类实现对职员信息录入、存放、修改,管理员对全部些人员信息查看、个人信息查看、删除,main() 函数对shuju函数和caozuo11函数调用,其中shuju函数实现把txt文件中内容读入程序。1.2.1 标题企业人事管理系统1.3开发环境Visual C+ 6.0机型:联想笔记本处理器名称:Intel(R)Core(TM)i3-3110M CPU 2.40GHz硬盘驱动器:P
3、LEXTOR PX-128M6S系统内存:8GB显示卡:AMD显示器:Intle操作系统:Microsoft Windows 10 第2章 设计内容2.1实现功效系统关键包含职员信息输入、查看和修改,管理员对职员信息查看和删除。系统默认第一个输入信息人为管理员,每个人全部有自己密码,进入管理员操作需要输入管理员密码(也就是第一个人密码)。最终信息会存入E:c+shuju文件夹里。2.2 概要设计(包含类框图)2.3 界面设计界面设计在工作步骤上分为结构设计、交互设计、视觉设计三个部分。结构设计 Structure Design结构设计也称概念设计 (Conceptual Design),是界面
4、设计骨架。该图书管理系统运行时界面上目录体系和词语定义易于用户了解和操作,比如主界面目录体系包含1 职员、2 管理员、3 退出。其中读者服务又下分目录1 信息输入、2 信息查看、3 信息修改、4 返回主界面。充足表现了结构化界面设计理念。交互设计 Interactive Design 交互设计目标是使产品让用户能简单使用。 任何产品功效实现全部是经过人和机器交互来完成。企业人事管理系统中包含1)清楚错误提醒,误操作后,系统提供有针对性提醒。比如密码错误时,系统会给出对应提醒,以指导读者进行正确操作。2) 使用用户语言,而非技术语言。 3)方便退出。4)导航功效。随时转移功效,很轻易从一个功效跳
5、到另外一个功效。比如读者所需各服务间功效转换。人原因被作为设计关键表现出来。视觉设计 Visual Design 该管理系统界面清楚明了,在结构设计基础上,参考目标群体心理模型和任务达成进行了视觉设计。 第3章 系统实现3.1 包含知识点类封装、面向对象程序设计、数组应用、循环语句使用、过程化设计思想等3.2 系统运行(关键运行界面抓图)主界面(见图3.2.1)图3.2.1职员(见图3.2.2)图3.2.2管理员(见图3.2.3)图3.2.3退出(见图3.2.4)图3.2.43.3 源程序清单(关键代码)#include#include #include#include using names
6、pace std;struct people1 /一组数据含有不一样数据类型。 string ID; /显然不能用一个数组来存放这一组数据。string name; /因为数组中各元素类型和长度全部必需一致,方便于编译系统处理。string sex; /为了处理这个问题,C语言中给出了另一个结构数据类型“结构”string zhiwu;string yuexin;string tele;string zhuzhi;string mima;string zhigonghao;class xitongpublic:void zhujiemian()coutendl;coutendl;coutend
7、lendlendl; cout _ endl; cout 丨 企业人事管理系统 丨endl; cout 丨丨endl; cout 丨请选择您身份: 丨endl; cout 丨 1.职 员 丨endl; cout 丨 2.管理员 丨endl; cout 丨 3.退 出 丨endl; cout 丨_丨endl;class caozuo1:public xitongpublic:void zhiyuan() cout _ endl; cout 丨请选择您操作: 丨endl; cout 丨 1.信息输入 丨endl; cout 丨 2.信息查看 丨endl; cout 丨 3.信息修改 丨endl;
8、cout 丨 4.返回主界面 丨endl; cout 丨_丨endl;void guanliyuan() cout _ endl; cout 丨请选择管理员操作: 丨endl; cout 丨 1.查看全部职员信息 丨endl; cout 丨 2.查看个人信息 丨endl; cout 丨 3.更改密码 丨endl; cout 丨 4.返回主界面 丨endl; cout 丨_丨endl;int renshudaochu(int renshu) /括号内数字存入txt文件ofstream fin(E:C+shujurenshu.txt); fin renshu; return renshu;stri
9、ng xinxidaoru(int aa) /括号内数字为文件名,把对应文件名文件内内容读入程序char str100;sprintf(str,E:C+shuju%d.txt,aa); ifstream outfile(str); string x; outfilex; return x;char xinxidaochu(string aaa,int bianhao) /括号内内容为文件要存入内容和文件名char str100; sprintf(str,E:C+shuju%d.txt,bianhao); /作用:能够自定义文件名ofstream outfile(str); outfileaaa
10、; return 1;class caozuo2:public caozuo1public: people1 peo1000; void xinxishuru(); void shuju();void xinxixiugai(int);void xinxishanchu(int);void caozuo11();void zhiyuancaozuo();void xinxichakan(int);void shifoujixu();void mima1(int);void mima2(int);void guanliyuanmima(int);void guanliyuancaozuo();v
11、oid guanliyuanxinmima();int xingming_gonghao();void suoyouren();void fanhuiguanliyuan();void fanhuizhiyuan();void caozuo2:xinxishuru() /信息输入函数int bbb,z;z=renshudaoru();z+;cout请输入您个人信息:endl; bbb=10*z; coutpeoz.name; xinxidaochu(peoz.name,bbb); bbb=10*z+1; coutpeoz.sex; xinxidaochu(peoz.sex,bbb); bbb=
12、10*z+2; coutpeoz.zhiwu; xinxidaochu(peoz.zhiwu,bbb); bbb=10*z+3; coutpeoz.yuexin;xinxidaochu(peoz.yuexin,bbb);bbb=10*z+4; coutpeoz.tele; xinxidaochu(peoz.tele,bbb); bbb=10*z+5; coutpeoz.zhuzhi;xinxidaochu(peoz.zhuzhi,bbb);bbb=10*z+6; coutpeoz.mima; xinxidaochu(peoz.mima,bbb); bbb=10*z+7; cout已自动职员号为
13、您生成职员号:endl;cout 请记好您职员号:zendl; char zz10;itoa(z,zz,10); xinxidaochu(zz,bbb);renshudaochu(z);void caozuo2:suoyouren()int aa;aa=renshudaoru();for(int i=1;i=aa;i+)cout姓 名:peoi.nameendl; cout性 别:peoi.sexendl; cout职 务:peoi.zhiwuendl; cout月 薪:peoi.yuexinendl; cout手 机 号:peoi.teleendl; cout家庭住址:peoi.zhuzhi
14、endl; cout职 工 号:peoi.zhigonghaoendlendlendlendlendlendl; void caozuo2:shuju()/把全部存有志愿信息文件内内容读入程序int aa;aa=renshudaoru();for(int i=1;i=aa;i+)peoi.name=xinxidaoru(10*i); peoi.sex=xinxidaoru(10*i+1); peoi.zhiwu=xinxidaoru(10*i+2); peoi.yuexin=xinxidaoru(10*i+3); peoi.tele=xinxidaoru(10*i+4); peoi.zhuzh
15、i=xinxidaoru(10*i+5); peoi.mima=xinxidaoru(10*i+6); peoi.zhigonghao=xinxidaoru(10*i+7); void caozuo2:xinxixiugai(int z)int bbb;cout请输入新个人信息:endl;bbb=10*z; coutpeoz.name; xinxidaochu(peoz.name,bbb); bbb=10*z+1; coutpeoz.sex; xinxidaochu(peoz.sex,bbb); bbb=10*z+2; coutpeoz.zhiwu; xinxidaochu(peoz.zhiw
16、u,bbb); bbb=10*z+3; coutpeoz.yuexin;xinxidaochu(peoz.yuexin,bbb);bbb=10*z+4; coutpeoz.tele; xinxidaochu(peoz.tele,bbb); bbb=10*z+5; coutpeoz.zhuzhi;xinxidaochu(peoz.zhuzhi,bbb);bbb=10*z+6; coutpeoz.mima; xinxidaochu(peoz.mima,bbb); bbb=10*z+7;cout职 工 号:zendl; char zz10;itoa(z,zz,10); xinxidaochu(zz,
17、bbb);void caozuo2:xinxichakan(int z)cout以下为您要查看信息:endl; cout姓 名:;coutpeoz.nameendl; cout性 别:;coutpeoz.sexendl; cout职 务:;coutpeoz.zhiwuendl; cout月 薪:;coutpeoz.yuexinendl; cout手 机 号:;coutpeoz.teleendl; cout家庭住址:;coutpeoz.zhuzhiendl; cout职 工 号:zendl; void caozuo2:shifoujixu()cout 按1返回主界面endl;coutn; swi
18、tch(n) case 1:system(cls);caozuo11();break;void caozuo2:fanhuiguanliyuan()cout 按1返回管理员界面endl;coutn; switch(n) case 1:system(cls); guanliyuancaozuo();break;void caozuo2:fanhuizhiyuan()cout 按1返回职员界面endl;coutn; switch(n) case 1:system(cls); zhiyuancaozuo();break;void caozuo2:guanliyuanmima(int z)coutmi
19、ma2;if(mima2=peoz.mima)guanliyuancaozuo();elsecout 提醒:密码错误endlendl;cout 1.返回主界面endl;cout 2.重新输入密码endl;coutn;switch(n)case 1:system(cls);caozuo11();break;case 2:system(cls);guanliyuanmima(z);break;void caozuo2:mima1(int z)coutmima2;if(mima2=peoz.mima) xinxichakan(z);elsecout 提醒:密码错误endlendl;cout 1.返回
20、主界面endl;cout 2.重新输入密码endl;coutn;switch(n)case 1:caozuo11();break;case 2:mima1(z);break;void caozuo2:mima2(int z)coutmima2;if(mima2=peoz.mima)xinxixiugai(z);elsecout 提醒:密码错误endlendl;cout 1.返回主界面endl;cout 2.重新输入密码endl;coutn;switch(n)case 1:caozuo11();break;case 2:mima1(z);break;int caozuo2:xingming_go
21、nghao()coutname2;int n;n=renshudaoru();for(int i=1;name2!=peoi.name;i+)return i;void caozuo2:guanliyuanxinmima()coutmima2;if(mima2=peo1.mima)coutmima3; peo1.mima=mima3; xinxidaochu(peo1.mima,16);cout密码修改成功endl;fanhuiguanliyuan();elsecout 提醒:密码错误endlendl;cout 1.返回主界面endl;cout 2.重新输入密码endl;coutn;switc
22、h(n)case 1:system(cls);caozuo11();break;case 2:system(cls);guanliyuanxinmima();break;void caozuo2:guanliyuancaozuo()system(cls);guanliyuan(); coutn;switch(n) case 1: system(cls); /清屏 suoyouren(); fanhuiguanliyuan(); break; case 2: system(cls); /清屏 m=xingming_gonghao();xinxichakan(m);cout 1.删除此人信息end
23、l;cout 2.返回管理员操作界面endl;coutn;if(n=1)xinxishanchu(m);else guanliyuancaozuo(); break; case 3:system(cls); /清屏 guanliyuanxinmima(); fanhuiguanliyuan(); break;case 4:system(cls); caozuo11();break; default:system(cls); cout 无此选项endlendl; caozuo11(); break;void caozuo2:zhiyuancaozuo()zhiyuan(); coutn;swit
24、ch(n) case 1: system(cls); /清屏 xinxishuru(); fanhuizhiyuan(); break; case 2: system(cls); /清屏 m=xingming_gonghao(); mima1(m); fanhuizhiyuan(); break; case 3:system(cls); /清屏 m=xingming_gonghao(); mima2(m); fanhuizhiyuan(); break;case 4:system(cls);caozuo11();break; default:system(cls); cout 无此选项endl
25、endl; fanhuizhiyuan(); break;void caozuo2:caozuo11() for(int n,m=1;m=1;)system(cls);zhujiemian();coutn; switch(n) case 1:system(cls); /清屏zhiyuancaozuo();m=2; break; case 2:system(cls); /清屏 guanliyuanmima(1);m=2; break; case 3:system(cls);m=2;break; default:system(cls);cout 无此选项endlendl; m=1;break;vo
26、id caozuo2:xinxishanchu(int z)int bbb,n;cout职员号为:z职员信息将被删除endl;bbb=10*z;cout 1.确定删除endl;cout 2.取消删除endl;coutn;coutendl; system(cls);switch(n)case 1: peoz.name=无信息; xinxidaochu(peoz.name,bbb); bbb=10*z+1; peoz.sex=无信息; xinxidaochu(peoz.sex,bbb); bbb=10*z+2; peoz.zhiwu=无信息; xinxidaochu(peoz.zhiwu,bbb)
27、; bbb=10*z+3; peoz.yuexin=无信息;xinxidaochu(peoz.yuexin,bbb);bbb=10*z+4; peoz.tele=无信息; xinxidaochu(peoz.tele,bbb); bbb=10*z+5; peoz.zhuzhi=无信息;xinxidaochu(peoz.zhuzhi,bbb);bbb=10*z+6; peoz.mima=无信息; xinxidaochu(peoz.mima,bbb); bbb=10*z+7; break;case 2:zhiyuan();zhiyuancaozuo();break;default:system(cl
28、s);cout 无此选项endlendl;shifoujixu(); break;int main()caozuo2 a;a.shuju();a.caozuo11();system(cls);return 0;第4章 结束语课程设计是一门培养学生综合利用所学知识,发觉,提出,分析和处理实际问题学科,它能充足锻炼我们动手能力,时我们实践能力关键步骤,是对学生实际工作能力具体训练和考察过程。我想这次不只是一次简单课程设计,更表现了数据结构算法和生活紧密联络。经过此次课程设计,小组组员们感受到了团体合作关键和难忘,在其中让我们学到了很多,在设计过程中也让我们很好地掌握了类定义和面向对象程序设计基础技
29、能,为未来对c+深入学习打下了坚实基础。因为时间问题和现在我们对于c+掌握还远不够完善,在程序中难免会出现部分不足,有些地方仍需改善。依据实际情况在以后要深入完善其功效,使其不仅能满足课程设计需要,还要有一定实用价值和实际效益。在整个课程设计过程中,我们展现出是一支朝气蓬勃团体。我们有着灵敏思索力。我们有着自己理想和奋斗目标。而且我们还太年轻没有理由不努力。同时我们也得到了其它各组同学和指导老师帮助,帮助我们处理了课程设计过程中碰到部分问题。我们小组全部组员在此表示衷心感谢。 参考文件1钱能. C+程序设计教程(第一版).清华大学出版社2 钱能. C+程序设计教程(第二版).清华大学出版社3 C+入门经典(清华大学出版)