人事管理系统说明书.docx
- 文档编号:11503021
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:61
- 大小:332.81KB
人事管理系统说明书.docx
《人事管理系统说明书.docx》由会员分享,可在线阅读,更多相关《人事管理系统说明书.docx(61页珍藏版)》请在冰点文库上搜索。
人事管理系统说明书
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年春季学期
算法与数据结构课程设计
题目:
人事管理
专业班级:
软件工程基地班
姓名:
学号:
10250一三9
指导教师:
王旭阳
成绩:
_______________
摘要
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、c:
\iknow\docshare\data\cur_work\xxteachercnx\lunwen\Class\jjxlw经济、生活等各个方面发挥着重要的作用。
人事管理系统已成为企事业单位信息化管理中的重要组成部分,从而倍受人们的重视。
为了提高企事业单位的办公效率,并为了对自己这两年来学习成果的检验。
我这次选择了基于VC++和算法与数据结构的人事管理系统,讲述了人事管理系统的设计、结构组成和适用范围。
它的应用实现了人事管理的规范化,数据的准确量化,以及该系统的查询过程等。
该系统是一个具有开放性、可查询性和可维护处理性的管理系统。
系统功能齐全、操作简单、界面清晰直观、扩充方便。
关键词 人事管理系统;VC++;人事管理。
1.采用类c语言定义相关的数据类型
public:
intNo;
intID;
stringName;
stringSex;
intBirthday;
stringAddress;
intPhone;
voidinput()
2.各模块的伪码算法
1、录入模块
voidinsert()//录入数据
{
intn;
while
(1)
{
cout<<"请输入部门的代码:
1-人事部2-维修部3-销售部"< cin>>n; if(n==1||n==2||n==3) { if(n==1) { do { Staff p=newStaff p->bumen.show(); p->input(); p->bumen.input(); intq; do { for(inti=0;i { q=0; if(P[i]==NULL) {break;} elseif(P[i]->No==p->No) {cout<<"此工作号已存在! 请修改~! "< p->input(); p->bumen.input(); q++; break; } } }while(q! =0); for(intj=0;j { if(P[j]==NULL) { P[j]=p; cout<<"输入成功! "< break; } } cout<<"你还要继续执行其操作吗? 是'1',否'0': ";cin>>n; }while(n==1); } elseif(n==2) { do { Staff a=newStaff a->bumen.show(); a->input(); a->bumen.input(); intq; do{ for(inti=0;i {q=0; if(M[i]==NULL) {break;} elseif(M[i]->No==a->No) {cout<<"此工作号已存在! 请修改~! "< a->input(); a->bumen.input(); q++; break; } } }while(q! =0); for(intj=0;j { if(M[j]==NULL) { M[j]=a; cout<<"输入成功! "< break; } } cout<<"你还要继续执行其操作吗? 是'2',否'0': ";cin>>n; }while(n==2); } elseif(n==3) { do { Staff s=newStaff s->bumen.show(); s->input(); s->bumen.input(); intq; do{ for(inti=0;i {q=0; if(S[i]==NULL) {break;} elseif(S[i]->No==s->No) {cout<<"此工作号已存在! 请修改~! "< s->input(); s->bumen.input(); q++; break; } } }while(q! =0); for(intj=0;j { if(S[j]==NULL) { S[j]=s; cout<<"输入成功! "< break; } } cout<<"你还要继续执行其操作吗? 是'3',否'0': ";cin>>n; }while(n==3); } } break; } } 2、显示模块 voidshow()//显示数据 { intn; while (1) { cout<<"请输入部门的代码: 1-人事部2-维修部3-销售部"< cin>>n; if(n==1||n==2||n==3) { if(n==1) { Staff cout< for(intj=0;j { if(P[j]! =NULL){ p=P[j]; p->output(); p->bumen.output(); } } break; } elseif(n==2) { Staff cout< for(inti=0;i { if(M[i]! =NULL) { a=M[i]; a->output(); a->bumen.output(); } } break; } elseif(n==3) { Staff cout< for(inti=0;i { if(S[i]! =NULL) { s=S[i]; s->output(); s->bumen.output(); } } break; } } elseif(n=0)break; } } 3、查找模块 voidfind()//查找数据 { stringn; cout<<"输入你要查找姓名"< cin>>n; for(intj=0;j { if(P[j]! =NULL&&(P[j]->Name)==n) { P[j]->bumen.show(); cout< P[j]->output();P[j]->bumen.output(); break; } } for(j=0;j { if(M[j]! =NULL&&(M[j]->Name)==n) { M[j]->bumen.show(); cout< M[j]->output();M[j]->bumen.output(); break; } } for(j=0;j { if(S[j]! =NULL&&(S[j]->Name)==n) { S[j]->bumen.show(); cout< S[j]->output();S[j]->bumen.output(); break; } } } 4、删除模块 voidDelete()//删除数据 { stringn;intm; cout<<"输入你要查找姓名"< cin>>n; cout<<"请输入该员工所在的部门的代码: 1-人事部2-维修部3-销售部"< cin>>m; if(m==1) { for(intj=0;j { if(P[j]! =NULL&&(P[j]->Name)==n) { cout< P[j]->output();P[j]->bumen.output(); P[j]=NULL; cout<<"该员工已被删除! "< break; } } } if(m==2) { for(intj=0;j { if(M[j]! =NULL&&(M[j]->Name)==n) { cout< M[j]->output();M[j]->bumen.output(); M[j]=NULL; cout<<"该员工已被删除! "< break; } } } if(m==3) { for(intj=0;j { if(S[j]! =NULL&&(S[j]->Name)==n) { cout< S[j]->output();S[j]->bumen.output(); S[j]=NULL; cout<<"该员工已被删除! "< break; } } } } 5、修改模块 voidrevise()//修改数据 { stringn;intm; cout<<"输入你要查找姓名"< cin>>n; cout<<"请输入该员工所在的部门的代码: 1-人事部2-维修部3-销售部"< cin>>m; if(m==1) { for(intj=0;j { if(P[j]! =NULL&&(P[j]->Name)==n) { cout< P[j]->output();P[j]->bumen.output(); P[j]->input();P[j]->bumen.input(); cout<<"该员工修改成功! "; break; } } } if(m==2) { for(intj=0;j { if(M[j]! =NULL&&(M[j]->Name)==n) { cout< M[j]->output();M[j]->bumen.output(); M[j]->input();M[j]->bumen.input(); cout<<"该员工修改成功! "; break; } } } if(m==3) { for(intj=0;j { if(S[j]! =NULL&&(S[j]->Name)==n) { cout< S[j]->output();S[j]->bumen.output(); S[j]->input();S[j]->bumen.input(); cout<<"该员工修改成功! "; break; } } } } 6清空模块 voidclear()//清空数据 {intn,a=1; do { cout<<"请输入密码"<<"'0'返回界面"< cin>>n; if(n==a) { for(inti=0;i { P[i]=NULL; M[i]=NULL; S[i]=NULL; } cout<<"所有员工的资料已被删除! "< } elsecout<<"输入密码失败! "< }while(n! =0); } 7、保存模块 voidsave()//保存数据 { ofstreamoutput_file; ofstreamoutput_file1; ofstreamoutput_file2; ofstreamoutput_file3; cout<<"正在保存中........"< output_file.open("Personnel.txt"); if(! output_file) {cout<<"保存Personnel文件失败! "< for(inti=0;i if(P[i]! =NULL) { output_file< No<<""< Sex<<""< Name<<""< ID<<""< Birthday<<""< Address<<""< Phone<<""< bumen.Job<<""< bumen.Pay< b1++; } } output_file2.open("Maintain.txt"); if(! output_file2) {cout<<"保存Maintain文件失败! "< for(i=0;i if(M[i]! =NULL) {output_file2< b2++; } } output_file3.open("Sell.txt"); if(! output_file3) {cout<<"保存Sell文件失败! "< for(i=0;i if(S[i]! =NULL) { output_file3< b3++; } } output_file1.open("kongzhi.txt"); output_file1< output_file1.close(); output_file.close(); output_file2.close(); output_file3.close(); cout<<"保存完毕! "< }、 3.函数的调用关系图 4.调试分析 a、调试中遇到的问题及对问题的解决方法 .cpp c: \documentsandsettings\administrator\桌面\人事管理系统\1.cpp(27): errorC20一八: unknowncharacter'0xa1' c: \documentsandsettings\administrator\桌面\人事管理系统\1.cpp(27): errorC20一八: unknowncharacter'0xa2' c: \documentsandsettings\administrator\桌面\人事管理系统\1.cpp(27): errorC20一八: unknowncharacter'0xa1' c: \documentsandsettings\administrator\桌面\人事管理系统\1.cpp(27): errorC20一八: unknowncharacter'0xa2' 执行cl.exe时出错 经反复检查确认,检查程序第27行中的代码中多余输入了某些标点符号,经改正后程序编译显示没有错误。 b、算法的时间复杂度和空间复杂度 该算法的时间复杂度为: O(n) 该算法的空间复杂度为: 608KB 5.测试结果 人事管理系统 (1)、人事管理系统界面 (2)、员工信息的录入 (3)、员工信息的显示 (4)、员工信息的查找 (5)、员工信息的删除 (6)、员工信息的修改 (7)、员工信息的清空 (8)、员工信息的保存 (9)、系统的退出 6.源程序(带注释) //basic.h #include"string" #include"iostream" #include"iomanip" usingnamespacestd; classBase { public: intNo; intID; stringName; stringSex; intBirthday; stringAddress; intPhone; voidinput() { cout<<"输入员工的工作号: "< cin>>No; cout<<"输入员工的姓名: "< cin>>Name; cout<<"输入员工的性别: "< cin>>Sex; cout<<"输入员工的身分证: "< cin>>ID; cout<<"输入员工的生日: "< cin>>Birthday; cout<<"输入员工的家庭住址: "< cin>>Address; cout<<"输入员工的家庭电话号码: "< cin>>Phone; } voidoutput() { cout< : left)< < < } }; //branch.h #include"iostream" #include"string" #include"iomanip" usingnamespacestd; classPersonnel//人事部 {public: virtualvoidshow() {cout<<"人事部"< } stringJob; intPay; voidinput() { cout<<"请输入该员工的职务"< cin>>Job; cout<<"请输入该员工的薪水"< cin>>Pay; } voidoutput() { cout< : left)<<"职务: "< <<"薪水: "< } }; classMaintain: publicPersonnel//维修部 {public: virtualvoidshow() {cout<<"维修部"< } }; classSell: publicPersonnel//销售部 {public: virtualvoidshow() {cout<<"销售部"< } }; template classBranch { public: Typebumen; }; //staff.h #include"iostream" usingnamespacestd; template classStaff: publicBase,publicBranch { }; //头文件 #include"string" #include #include"cstdio" #include"conio.h" #include"fstream" #include"iostream" #include"stdlib.h" #defineN100 usingnamespacestd; Staff Staff Staff constintSIZE_CHAR=5; constcharCCH[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; intbNo<<""<Sex<<""<Name<<""<ID<<""<Birthday<<""<Address<<""<Phone<<""<bumen.Job<<""<bumen.Pay<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 说明书