c人事管理系统报告
c++人事管理系统报告
课程设计报告课程名称面向对象课程设计设计题目人事管理系统专业班级姓名学号指导教师起止时间2010年12月20日-12月31日成绩评定电气与信息学院人事管理系统一、课程设计的目的现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。
在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。
今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。
如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。
这些都大大地缩短管理的时间。
而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。
信息管理,如今已是一个热门话题,它已为许多企业所采用。
我认为,在现代化的进程中,引入现代管理的思想,建立一套可面向企事业单位人事的信息管理系统,也是十分必要的二、课程设计的要求要求了解企业管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。
主要包括:登陆的两个用户:管理员、职工管理员:可以对职工信息进行添加信息、删除信息、查询员工信息、修改员工信息、浏览员工信息。
用户:可以对自己的信息进行浏览、修改、查询;还可以对别人的信息进行查询,浏览。
开发这个系统的目的就是帮助企业的人力资源部门提高工作效率,实现企业人事信息管理的系统化,规范化和自动话。
根据这个系统最终实现的主要功能如下:系统部分:主要完成本系统的维护工作。
员工基本信息部分:主要完成员工基本信息的管理。
本系统是个简单的程序,由于时间和技术有限,功能不是多完整,多具体,还请包涵。
本系统的功能模块图如下:图1功能层次图三、设计思路1.系统分析系统开发背景、开发范围、建设目标与必要性人事信息管理是一个单位信息管理的重要组成部分,它的内容对于一个单位的人事管理起着至关重要的作用。
人事信息管理系统应该能够为管理者提供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。
人事管理系统报告
人事管理系统报告需求分析1.1 功能与信息要求通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。
系统功能的主要描述如下。
(1)员工档案管理1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。
2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。
3)当员工的信息发生变动时,修改员工档案记录中相应的属性。
(2)员工职务调动管理对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。
(3)奖惩管理对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。
(4)考勤管理1)对员工上班刷卡的记录进行统一编号;登记员工上班时签到类型(准时、迟到)o间、2)对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。
(5)请销假管理1)对员工请假的记录进行统一编号;登记员工请假时间、请假类型。
2)对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。
(6)工资管理1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。
(7)部门管理1)对公司所有的部门进行编号,建立部门记录。
输入功能该系统提供了对人事管理、调动管理、合同管理、工资管理、培训管理、绩效考核、奖惩管理、辅助功能、基础设置、综合统计等模式录入和表格界面录入。
录入信息时可能会出现相同的信息,为避免重复录入,部分字段设置了辅助录入功能,您只需输入几项即可完成录入功能。
操作方便快捷,可大大提高您的工作效率。
查询功能签到类型(准时、迟到)o。
C公司人员信息管理系统-课程设计报告100页word
目录1 系统需求分析 (1)2 总体设计 (2)3 详细设计及实现 (3)4 系统调试 (96)5 结论 (73)6 心得体会 (98)7参考书目 (75)1 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。
1.2 系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。
(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。
(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。
如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能可显示当前系统中所有记录。
(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
(6)统计功能能根据多种参数进行人员的统计。
例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。
(7)保存功能将当前系统中各类人员记录存入文件中。
(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。
2 总体设计2.1 系统功能分析:(2)经理类的设计virtual void search()=0;virtual void show()=0;virtual void alter()=0; virtual void del()=0;virtual void stat()=0;virtual void save()=0;virtual void read()=0;virtual void input()=0;virtual void output()=0; protected:string number;string name;string sex;string department;string rank;float salary;3.2 经理类的实现manager.h#include "employee.h"class manager :virtual public employee public:manager(void);~manager(void);void add();void search();void show();void alter();void del();void stat();void save();void read();void input();void output(); manager.cpp#include "StdAfx.h"#include "manager.h"#include<iostream>#include<fstream>#include<string>#include<iomanip>using namespace std;const int MAX=100; manager M[MAX];int static top1=0; manager::manager(void) manager::~manager(void) void manager::input()cout<<"输入编号:"<<endl; cin>>number;cout<<"输入姓名:"<<endl; cin>>name;cout<<"输入性别:"<<endl; cin>>sex;cout<<"输入部门:"<<endl;cin>>department;cout<<"输入级别:"<<endl;cin>>rank;cout<<"输入固定月薪:"<<endl;cin>>salary;void manager::output(){ cout<<number<<"\t"<<name<<"\t"<<sex<<"\t"<<department<<"\t" <<rank<<"\t"<<salary<<endl;void manager::read()top1=0;system("cls");ifstream inflie("经理.txt",ios::in);if(!inflie)cout<<"打开失败!"<<endl;return;int i=0;while(inflie>>M[i].number>>M[i].name>>M[i].sex>>M[i].departm ent>>M[i].rank>>M[i].salary)i++;top1=i;inflie.close();void manager::save()ofstream outflie("经理.txt",ios::out);if(!outflie)cout<<"打开失败!"<<endl;return;int i;for(i=0;i<top1;i++)outflie<<M[i].number<<"\t"<<M[i].name<<"\t"<<M[i].sex<<"\t"< <M[i].department<<"\t"<<M[i].rank<<"\t"<<M[i].salary<<endl;cout<<"保存成功!"<<endl;outflie.close();void manager::add()system("cls");read();if(top1>=MAX)cout<<"人员已满"<<endl;return;cout<<"输入要添加的编号:"<<endl;string n;cin>>n;for(int i=0;i<top1;i++)if(n==M[i].number)cout<<"该编号的人员已存在"<<endl;return;manager m;cout<<"请再次输入新添加人员的信息"<<endl;m.input();cout<<"是否确认添加? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)M[top1]=m;top1=top1+1;save();elsecout<<"放弃添加"<<endl;return;void manager::search()system("cls");read();if(top1==0)cout<<"当前系统没有储存记录!"<<endl;return;int choice;cout<<"请选择查找方式:1、按编号查找 2、按姓名查找 0、退出"<<endl;cin>>choice;switch(choice)case 1:cout<<"请输入要查找的编号:"<<endl;string num;cin>>num;for(int i=0;i<top1;i++)if(M[i].number==num)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();return;cout<<"查无此人!"<<endl;};break;case 2:cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;for(int i=0;i<top1;i++)if(M[i].name==name)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"查无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");search();break;void manager::show()system("cls");read();if(top1==0)cout<<"无数据!"<<endl;return;cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;for(int i=0;i<top1;i++)M[i].output();void manager::alter()system("cls");read();if(top1==0)cout<<"当前系统没有储存记录"<<endl;return;string num;cout<<"请输入要修改的经理编号:"<<endl;cin>>num;for(int i=0;i<top1;i++)if(M[i].number==num)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"请选择修改范围:1、全部修改 2、修改编号 3、修改姓名 4、修改性别"<<endl;cout<<" 5、修改部门 6、修改级别 7、修改月薪 "<<endl;cout<<" 0、退出修改"<<endl;int choice;cin>>choice;switch(choice)case 1:cout<<"输入修改后的编号:"<<endl;string n;for(int j=0;j<top1;j++)if(n==M[j].number)cout<<"该编号的人员已存在"<<endl; return;cout<<"输入修改后的姓名:"<<endl;string na;cin>>na;cout<<"输入修改后的性别:"<<endl;string s;cin>>s;cout<<"输入修改后的部门:"<<endl;string d;cin>>d;cout<<"输入修改后的级别:"<<endl;string r;cin>>r;cout<<"输入修改后的月薪:"<<endl;float sa;cin>>sa;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;if(a==1)M[i].number=n;M[i].name=na;M[i].sex=s;M[i].department=d;M[i].rank=r;M[i].salary=sa;elsecout<<"放弃修改"<<endl;return;save();};break;case 2:cout<<"请输入修改后的编号"<<endl;string n;cin>>n;for(int i=0;i<top1;i++)if(n==M[i].number)cout<<"该编号的人员已存在"<<endl;return;cout<<"是否确认修改? 1、是 2、否"<<endl;cin>>a;if(a==1)M[i].number=n;elsecout<<"放弃修改"<<endl;return;save();};break;case 3:cout<<"请输入修改后的姓名"<<endl;string na;cin>>na;M[i].name=na;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)M[i].name=na;elsecout<<"放弃修改"<<endl;return;};break;case 4:cout<<"请输入修改后的性别"<<endl;string s;cin>>s;M[i].sex=s;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)M[i].sex=s;elsecout<<"放弃修改"<<endl;return;save();};break;case 5:cout<<"请输入修改后的部门"<<endl;string d;cin>>d;M[i].department=d;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)M[i].department=d;elsecout<<"放弃修改"<<endl;return;save();};break;case 6:cout<<"请输入修改后级别"<<endl;string r;cin>>r;M[i].rank=r;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)M[i].rank=r;elsecout<<"放弃修改"<<endl;return;save();};break;case 7:cout<<"请输入修改后的月薪"<<endl;float sa;cin>>sa;M[i].salary=sa;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)M[i].salary=sa;elsecout<<"放弃修改"<<endl;return;save();};break;case 0:cout<<"退出修改"<<endl;return;break;default:cout<<"无此选项!请输入0~7的数字"<<endl;system("pause");break;cout<<"修改完成"<<endl;return;cout<<"查无此人"<<endl;void manager::del()system("cls");read();if(top1==0)cout<<"当前系统没有储存记录"<<endl;return;int choice;cout<<"请删除查找方式:1、按编号删除 2、按姓名删除 0、退出"<<endl;cin>>choice;switch(choice)case 1:cout<<"请输入所要删除人员的编号:"<<endl;string num;cin>>num;for(int i=0;i<top1;i++)if(M[i].number==num)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"是否确认删除? 1、是 2、否"<<endl;int choice;cin>>choice;switch(choice)case 1:for(int j=i;j<top1;j++)M[j]=M[j+1];cout<<"删除成功!"<<endl;top1=top1-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}return;cout<<"无此人!"<<endl;};system("pause");del();break;case 2:cout<<"请输入所要删除人员的姓名:"<<endl;string name;cin>>name;for(int i=0;i<top1;i++)if(M[i].name==name)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"是否确认删除? 1、是 2、否"<<endl;int choice;cin>>choice;switch(choice)case 1:for(int j=i;j<top1;j++)M[j]=M[j+1];cout<<"删除成功!"<<endl;top1=top1-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}return;cout<<"无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");del();break;save();void manager::stat()system("cls");read();int choice;cout<<"1、人数统计 2、性别统计 3、平均工资 4、最高工资 5、最低工资 0、退出"<<endl;cout<<"请输入所要执行的编号:"<<endl;cin>>choice;switch(choice)case 1:cout<<"经理的人数为:"<<top1<<endl;system("pause");stat();break;case 2:int a=0,b=0;string Y="男";string X="女";for(int i=0;i<top1;i++)if(M[i].sex==Y)a++;if(M[i].sex==X)b++;cout<<"男性人数:"<<a<<endl;cout<<"女性人数:"<<b<<endl;};system("pause");stat();break;case 3:float ave_salary=0;float all_salary=0;for(int i=0;i<top1;i++)all_salary=M[i].salary+all_salary;ave_salary=all_salary/top1;cout<<"平均工资:"<<ave_salary;};system("pause");stat();break;case 4:float max_salary=0;for(int i=0;i<top1-1;i++)if(M[i].salary>M[i+1].salary)max_salary=M[i].salary;M[i+1].salary=max_salary;elsemax_salary=M[i+1].salary;cout<<"最高工资:"<<max_salary;};system("pause");stat();break;case 5:float min_salary=0;for(int i=0;i<top1-1;i++)if(M[i].salary<M[i+1].salary)min_salary=M[i].salary;M[i+1].salary=min_salary;elsemin_salary=M[i+1].salary;cout<<"最低工资:"<<min_salary;};system("pause");stat();break;case 0:break;default: cout<<"无此选项!请输入0~5的数字"<<endl;system("pause");stat();break;3.3 技术人员类的实现technician.h#include "employee.h"class technician :public employeepublic:technician(void);~technician(void);void add();void search();void show();void alter();void del();void stat();void save();void read();void input();void output();protected:float work_time;float time_salary; technician.cpp#include "StdAfx.h"#include "technician.h"#include<iostream>#include<fstream>#include<string>#include<iomanip>using namespace std;const int MAX=100;technician T[MAX];int static top2=0; technician::technician(void) technician::~technician(void) void technician::input()cout<<"请输入输入编号:"<<endl;cin>>number;cout<<"请输入输入姓名:"<<endl;cin>>name;cout<<"请输入输入性别:"<<endl;cin>>sex;cout<<"请输入输入部门:"<<endl;cin>>department;cout<<"请输入输入级别:"<<endl;cin>>rank;cout<<"请输入输入工时:"<<endl;cin>>work_time;cout<<"请输入输入时薪:"<<endl;cin>>time_salary;salary=time_salary*work_time;void technician::output(){ cout<<number<<"\t"<<name<<"\t"<<sex<<"\t"<<department<<"\t"< <rank<<"\t"<<work_time<<"\t"<<time_salary<<"\t"<<salary<<endl; void technician::read()top2=0;system("cls");ifstream inflie("技术人员.txt",ios::in);if(!inflie)cout<<"打开失败!"<<endl;return;int i=0;while(inflie>>T[i].number>>T[i].name>>T[i].sex>>T[i].departm ent>>T[i].rank>>T[i].work_time>>T[i].time_salary>>T[i].salary) i++;top2=i;inflie.close();void technician::save()ofstream outflie("技术人员.txt",ios::out);if(!outflie)cout<<"打开失败!"<<endl;return;int i;for(i=0;i<top2;i++)outflie<<T[i].number<<"\t"<<T[i].name<<"\t"<<T[i].sex<<"\t"< <T[i].department<<"\t"<<T[i].rank<<"\t"<<T[i].work_time<<"\t"<< T[i].time_salary<<"\t"<<T[i].salary<<endl;cout<<"保存成功!"<<endl;outflie.close();void technician::add()system("cls");read();if(top2>=MAX)cout<<"人员已满"<<endl;return;cout<<"输入要添加的编号:"<<endl;string n;cin>>n;for(int i=0;i<top2;i++)if(n==T[i].number)cout<<"该编号的人员已存在"<<endl;return;technician t;cout<<"请再次输入新添加人员的信息"<<endl;t.input();cout<<"是否确认添加? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[top2]=t;top2=top2+1;save();elsecout<<"放弃添加"<<endl;return;void technician::search()system("cls");read();if(top2==0)cout<<"当前系统没有储存记录!"<<endl;return;int choice;cout<<"请选择查找方式:1、按编号查找 2、按姓名查找 0、退出"<<endl;cin>>choice;switch(choice)case 1:cout<<"请输入要查找的编号:"<<endl;string num;cin>>num;for(int i=0;i<top2;i++)if(T[i].number==num)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();return;cout<<"查无此人!"<<endl;};break;case 2:cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;for(int i=0;i<top2;i++)if(T[i].name==name)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();return;cout<<"查无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");search();break;void technician::show()system("cls");read();if(top2==0)cout<<"无数据!"<<endl;return;cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;for(int i=0;i<top2;i++)T[i].output();void technician::alter()system("cls");read();if(top2==0)cout<<"当前系统没有储存记录"<<endl;return;string num;cout<<"请输入要修改的技术人员编号:"<<endl;cin>>num;for(int i=0;i<top2;i++)if(T[i].number==num)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();cout<<"请选择修改范围:1、全部修改 2、修改编号 3、修改姓名 4、修改性别"<<endl;cout<<" 5、修改部门 6、修改级别 7、修改工时 8、修改时薪"<<endl;cout<<" 0、退出修改"<<endl;int choice;cin>>choice;switch(choice)case 1:cout<<"输入修改后的编号:"<<endl;string n;cin>>n;for(int j=0;j<top2;j++)if(n==T[j].number)cout<<"该编号的人员已存在"<<endl;return;cout<<"输入修改后的姓名:"<<endl;string na;cin>>na;cout<<"输入修改后的性别:"<<endl;string s;cin>>s;cout<<"输入修改后的部门:"<<endl;string d;cin>>d;cout<<"输入修改后的级别:"<<endl;string r;cin>>r;cout<<"输入修改后的工时:"<<endl;float wt;cin>>wt;cout<<"输入修改后的工时:"<<endl;float ts;cin>>ts;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].number=n;T[i].name=na;T[i].sex=s;T[i].department=d;T[i].rank=r;T[i].work_time=wt;T[i].time_salary=ts;T[i].salary=wt*ts;elsecout<<"放弃修改"<<endl;return;save();};break;case 2:cout<<"请输入修改后的编号"<<endl;string n;cin>>n;for(int i=0;i<top2;i++)if(n==T[i].number)cout<<"该编号的人员已存在"<<endl;return;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].number=n;elsecout<<"放弃修改"<<endl;return;save();};break;case 3:cout<<"请输入修改后的姓名"<<endl;string na;cin>>na;T[i].name=na;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].name=na;elsecout<<"放弃修改"<<endl;return;save();};break;case 4:cout<<"请输入修改后的性别"<<endl;string s;cin>>s;T[i].sex=s;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].sex=s;elsecout<<"放弃修改"<<endl;return;save();};break;case 5:cout<<"请输入修改后的部门"<<endl;string d;cin>>d;T[i].department=d;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].department=d;elsecout<<"放弃修改"<<endl;return;save();};break;case 6:cout<<"请输入修改后级别"<<endl;string r;cin>>r;T[i].rank=r;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].rank=r;elsecout<<"放弃修改"<<endl;return;save();};break;case 7:cout<<"请输入修改后的工时"<<endl;float wt;cin>>wt;T[i].work_time=wt;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].work_time=wt;T[i].salary=T[i].time_salary*wt;elsecout<<"放弃修改"<<endl;return;save();};break;case 8:cout<<"请输入修改后的时薪"<<endl;float ts;cin>>ts;T[i].time_salary=ts;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a==1)T[i].time_salary=ts;T[i].salary=T[i].work_time*ts;elsecout<<"放弃修改"<<endl;return;save();};break;case 0:cout<<"退出修改"<<endl;return;break;default:cout<<"无此选项!请输入0~8的数字"<<endl;system("pause");break;cout<<"修改完成"<<endl;return;cout<<"查无此人"<<endl;void technician::del()system("cls");read();if(top2==0)cout<<"当前系统没有储存记录"<<endl;return;int choice;cout<<"请删除查找方式:1、按编号删除 2、按姓名删除 0、退出"<<endl;cin>>choice;switch(choice)case 1:cout<<"请输入所要删除人员的编号:"<<endl;string num;cin>>num;for(int i=0;i<top2;i++)if(T[i].number==num)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();cout<<"是否确认删除? 1、是 2、否"<<endl;int choice;cin>>choice;switch(choice)case 1:for(int j=i;j<top2;j++)T[j]=T[j+1];cout<<"删除成功!"<<endl;top2=top2-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}return;cout<<"无此人!"<<endl;};system("pause");del();break;case 2:cout<<"请输入所要删除人员的姓名:"<<endl;string name;cin>>name;for(int i=0;i<top2;i++)if(T[i].name==name)cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();cout<<"是否确认删除? 1、是 2、否"<<endl;int choice;cin>>choice;switch(choice)case 1:for(int j=i;j<top2;j++)T[j]=T[j+1];cout<<"删除成功!"<<endl;top2=top2-1;};save();break;case 2:break;default:cout<<"没有此选项!"<<endl;}return;cout<<"无此人!"<<endl;};system("pause");del();break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");del();break;save();void technician::stat()system("cls");read();int choice;cout<<"1、人数统计 2、性别统计 3、平均工资 4、最高工资 5、最低工资 0、退出"<<endl;cout<<"请输入所要执行的编号:"<<endl;cin>>choice;switch(choice)case 1:cout<<"技术人员的人数为:"<<top2<<endl;system("pause");stat();break;case 2:int a=0,b=0;string Y="男";string X="女";for(int i=0;i<top2;i++)if(T[i].sex==Y)a++;if(T[i].sex==X)b++;cout<<"男性人数:"<<a<<endl;cout<<"女性人数:"<<b<<endl;};system("pause");stat();break;case 3:float ave_salary=0;float all_salary=0;for(int i=0;i<top2;i++)all_salary=T[i].salary+all_salary;ave_salary=all_salary/top2;cout<<"平均工资:"<<ave_salary;};system("pause");stat();break;case 4:float max_salary=0;for(int i=0;i<top2-1;i++)if(T[i].salary>T[i+1].salary)max_salary=T[i].salary;T[i+1].salary=max_salary;elsemax_salary=T[i+1].salary;cout<<"最高工资:"<<max_salary;};system("pause");stat();break;case 5:float min_salary=0;for(int i=0;i<top2-1;i++)if(T[i].salary<T[i+1].salary)min_salary=T[i].salary;T[i+1].salary=min_salary;elsemin_salary=T[i+1].salary;cout<<"最低工资:"<<min_salary;};system("pause");stat();break;case 0:break;default: cout<<"无此选项!请输入0~5的数字"<<endl;system("pause");stat();break;3.4销售人员类的实现salesman.h#include "employee.h"class salesman :virtual public employeepublic:salesman(void);~salesman(void);void add();void search();void show();void alter();void del();void stat();void save();void read();void input();void output();protected:float sale;float rate;salesman.cpp#include "StdAfx.h"#include "salesman.h"#include<iostream>#include<fstream>#include<string>#include<iomanip>using namespace std;const int MAX=100; salesman S[MAX];int static top3=0; salesman::salesman(void) salesman::~salesman(void) void salesman::input()cout<<"输入编号:"<<endl; cin>>number;cout<<"输入姓名:"<<endl; cin>>name;cout<<"输入性别:"<<endl;。
c++人事管理系统报告
课程设计报告课程名称面向对象课程设计设计题目人事管理系统专业班级姓名学号指导教师起止时间2010年12月20日-12月31日成绩评定电气与信息学院人事管理系统一、课程设计的目的现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。
在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。
今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。
如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。
这些都大大地缩短管理的时间。
而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。
信息管理,如今已是一个热门话题,它已为许多企业所采用。
我认为,在现代化的进程中,引入现代管理的思想,建立一套可面向企事业单位人事的信息管理系统,也是十分必要的二、课程设计的要求要求了解企业管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。
主要包括:登陆的两个用户:管理员、职工管理员:可以对职工信息进行添加信息、删除信息、查询员工信息、修改员工信息、浏览员工信息。
用户:可以对自己的信息进行浏览、修改、查询;还可以对别人的信息进行查询,浏览。
开发这个系统的目的就是帮助企业的人力资源部门提高工作效率,实现企业人事信息管理的系统化,规范化和自动话。
根据这个系统最终实现的主要功能如下:系统部分:主要完成本系统的维护工作。
员工基本信息部分:主要完成员工基本信息的管理。
本系统是个简单的程序,由于时间和技术有限,功能不是多完整,多具体,还请包涵。
本系统的功能模块图如下:图1功能层次图三、设计思路1.系统分析系统开发背景、开发范围、建设目标与必要性人事信息管理是一个单位信息管理的重要组成部分,它的内容对于一个单位的人事管理起着至关重要的作用。
人事信息管理系统应该能够为管理者提供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。
高校人事管理系统C 实验报告
Protected: char name[20]; char sex[10]; int age; Public: setpersonnel(); personnelprint();
返聘时间类
Protected: int month; int year; int day; public: setretime(); retimeprint();
目录
第一章 需求分析.................................................................................................................2 第二章 总体设计.......................................................................................................................2
2.1 系统功能模块...............................................................................................................2 2.3 类之间的关系............................................................................................................. 2 2.3 类的关系图..................................................................................................................3 第三章 各功能模块实现...........................................................................................................4 3.1 模块实现及代码......................................................................................................... 4 3.2 运行结果.............................................................................................................13 第四章 系统调试.....................................................................................................................15 第五章 总结和体会.................................................................................................................15
c语言职工人事管理系统课程设计报告书
目录一、实验目的 (3)二、实验课题简介 (3)三、实验内容 (3)1、实验总体设计 (3)2、涉及函数模块的功能及流程图 (4)3、原程序清单 (5)4、程序测试结果 (17)四、实验结论 (17)五、实验体会及建议 (17)六、参考文献 (17)一实验目的:1、进一步掌握计算机程序设计基础基本概念,理解其原理与方法。
2、进一步理解和巩固所学的理论知识,掌握高级语言程序设计的编程技巧。
3、培养分析解决实际问题的能力,培养进行高级语言程序设计的实际编程能力。
二. 实验任务1.用C语言设计一个综合应用程序。
主要设计内容有数据库管理程序设计、图形设计、科学计算程序设计、简单游戏程序设计等。
2.学生可以结合自己的专业及兴趣爱好自由命题,也可以从已给几类题目中任选一题,下面题目只是基本要求,鼓励同学自主创新、自由发挥。
三. 实验要求1. 要求学生自主完成以下工作:1)查阅资料,选定题目。
2)制定方案,进行程序总体设计和详细设计。
3)程序详细设计,调试,运行。
4)撰写设计报告。
2. 实验报告内容包括:封面、实验目的、实验内容、设计方案制定、总体设计、详细设计、源程序清单(要求有详细注释)、总结与体会。
二实验课题简介1. 课题名称:数据库管理软件--------职工人事管理系统设计2. 功能:实现简单的职工人事信息管理,基本信息包括职工编号、姓名、性别、年龄、身份证号和简历(50字以内)基本要求:1.设计简单的菜单,能够进行系统功能选择。
2.实现信息的录入功能。
3.在已有信息的基础上添加新的记录。
4.删除指定编号的记录。
5.修改指定编号的记录6.实现信息的浏览功能7.按编号查询功能8.按身份证号排序功能3.相关知识:结构体、数组、常用算法(排序、查找、删除)三实验内容:1. 实验总体设计:实现简单的学生宿舍基本信息管理用数组、指针、结构体等相关知识完成如下内容:1)、简单菜单界面,按1-7、0键选择选项2)、实现各个函数的功能2.函数模块:主模块:main()/*主函数*/其它模块:struct worker/*建立结构体*/Appendworker()/*输入职工信息*/Printworker()/*输出职工信息*/Sortworker()/*按入职工人数排序*/Searchworker()/*查找职工信息*/Deleteworker()/*删除职工人数信息*/Addworker()/*添加职工信息*/Amendworker()/*修改职工信息*/char Menu() /*显示菜单*/算法说明Step 1 输出主菜单Step 2 按1-7、0键选择Step 3 实现各个函数的功能各函数功能及流程图struct worker/*建立结构体*/ Appendworker()/*输入职工信息*/ Printworker()/*输出职工信息*/ Sortworker()/*按入职工人数排序*/ Searchworker()/*查找职工信息*/ Deleteworker()/*删除职工人数信息*/ Addworker()/*添加职工信息*/ Amendworker()/*修改职工信息*/ char Menu() /*显示菜单*/流程图程序测试(1)静态检查;(2)静态检查无误后,上机调试;(3)改正语法错误;运行。
C人事工资管理系统实验报告
C人事工资管理系统实验报告C人事工资管理系统实验报告1. 介绍C人事工资管理系统是一款基于C语言开发的人事工资管理软件。
该软件可以通过输入员工信息、职位信息和工资信息来实现员工工资的管理。
本次实验的目的是通过对C人事工资管理系统的使用,掌握C语言的基本操作和编程思想。
2. 实验环境本次实验的环境为Windows操作系统,使用Mingw-w64作为编译器。
在软件开发过程中,使用了C语言的基本语法和部分函数库,并通过Makefile文件进行编译,得到可执行文件。
3. 功能介绍C人事工资管理系统可以实现以下功能:(1)添加员工信息:通过输入员工的姓名、性别、部门、职位等基本信息,将员工信息存储到文件中。
(2)修改员工信息:可以修改员工的基本信息以及工资等信息。
(3)删除员工信息:根据员工的工号删除员工信息。
(4)查询员工信息:可以根据员工的工号或姓名等信息查询员工的基本信息以及工资等信息。
(5)计算员工工资:根据员工的基本工资、职位工资、绩效工资等信息计算员工的工资。
(6)数据报表统计:根据员工的职位、部门等信息实现数据的报表统计和导出。
4. 实验过程(1)编写员工信息结构体和读写文件函数员工信息包括姓名、性别、工号、职位、部门、基本工资、职位工资、绩效工资等信息。
使用结构体来定义员工信息,并编写读写文件函数来实现员工信息的存储和读取。
(2)实现员工信息的增删改查功能使用链表来存储员工信息,并编写添加、删除、修改和查询员工信息的函数来实现员工信息的管理。
(3)实现员工工资计算功能根据员工的基本工资、职位工资和绩效工资等因素计算员工的工资,并将计算结果存储在员工信息中。
(4)实现数据报表统计功能根据员工的职位、部门和工资等信息实现数据的报表统计和导出。
5. 实验结果通过本次实验,我们成功开发了C人事工资管理系统。
该系统具有实现员工信息管理、工资计算和报表统计等功能,可以方便地帮助企业和机构实现人事工资管理任务。
C++课程设计报告-人事管理系统
(1)系统时钟:在在设定的时间间隔内,系统封面显示达到或超过设定的显示时间,系统
封面会自动释放
(2)功能实现:进入主界面与退出系统。
6.
图模块框架图
7.系统数据分析
所有数据存放到access数据库文件下,由ado连接,通过程序按照要求显 示给用户。找到用户需要的数据。
二、系统设计
{
DataModule3->ADOQuery1->Next();
StatusBar1->Panels->Items[0]->Text="数据指向下一个";
}
void __fastcall TFmain::SpeedButton4Click (TObject *Sender)
{
DataModule3->ADOQuery1->Last();
}
void __fastcall TFmain::N9Click (T Object *Sender)
{
//帮助内容
ShowMessage("\
大家好,虽然只是一个简单的程序但是也要写帮助。\n\
简单的操作如下:\n\
一、打开程序。\n\
二、可以进行数据的添加、删除、浏览、查找\n\
三、关闭。\n\
Action=caNone;
}
void__fastcall TFmain::N10Click (T Object *Sender)
{
AboutBox->ShowModal() ; //显示关于对话框
}
void __fastcall TFmain::Button4Click (T Object *Sender)
(完整word版)C语言课程设计人事管理系统
Char job[10]; //职务
Char post[10]; //职称
Char politic[10]; //政治面貌
Char edu_level[1ቤተ መጻሕፍቲ ባይዱ]; //最高学历
Char period[10]; //任职时间
Char start_time[10]; //来院时间
printf("年龄: ");
scanf("%d",&PAInfo[changeIndex].age);
printf("部门:");
scanf("%d",PAInfo[changeIndex].job);
Char type[10]; //人员类别
}PAInfo;
主要代码结构
1.主函数
为使系统执行完每部分功能后能够方便的回到系统主界面,main()函数设计的较简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。
void main()
printf("请重新输入该人事信息");
printf("编号:");
scanf("%s",PAInfo[changeIndex].NO);
printf("姓名:");
scanf("%s",PAInfo[changeIndex].name);
printf("性别:");
scanf("%s",PAInfo[changeIndex].sex);
fh();//统计
公司人事管理系统VC++设计报告
湖南科技大学VC++ 课程设计报告公司人事管理系统学生姓名:学号:年级专业班级:指导老师:学院:湖南·提交日期:2011年12月目录1 前言 (3)2 需求分析 (3)3 概要设计 (4)3.1系统功能模块设计 (4)3.2流程图 (4)4 详细设计 (5)4.1.数据库需求分析 (5)4.2.模块分析 (6)4.3整体界面的实现 (6)4.4查询成绩的实现 (11)4.5添加.删除和修改记录的实现 (13)5 测试分析 (17)6 心得体会 (18)参考文献 (18)致谢 (18)公司人员信息管理系统(湖南科技大学湘潭中国1007020425)摘要本次课程设计任务是通过编写一个公司人员信息管理系统,学习用Visual C++ 6.0开发简单的管理系统。
采用Visual C++ 6.0软件为主要开发工具。
本系统主要完成对公司员工情况和公司信息的管理,包括人员信息的添加、修改、删除等。
系统还可以完成对各类信息的浏览、增加、排序、查询等功能。
由于我们还没有学习数据库,所以在编写这个程序的过程中备受煎熬,显得心有余而力不足。
系统的核心是引用数据库来存储和修改公司人员的信息联系,每一个动作都可能影响到其它的功能,还有数据的改变,当完成对数据的操作时系统会自动地完成数据库的修改。
关键字:VC++6.0;公司人员信息管理系统;模块化设计;数据库;1 前言使用计算机管理人员信息,不但可以大量节省时间、人力、财力、物力,而且能更全面有效地掌握公司的基本情况,及时获取最新而又准确的资料和信息。
此课程设计就是这样一个管理公司人员信息的系统,其功能与实现方面有比较好的的针对性和实用性。
软件是在Visual c++平台上开发的,利用数据库存储数据和信息。
利用数据库操作,能比较方便地实现对人员信息的操作与管理。
2 需求分析Visual C++6.0的MFC提供了大量的类库函数强大支持。
开发一个人员信息管理系统,可以实现人员信息的管理。
C语言课程设计报告—人事管理系统1
人事管理系统前言:现代计算机技术的发展为人们的学习、生活、工作提供了很大的帮助, 各行各业都需要特定计算系统的运用, 我们需要了解这些系统是怎么样为我们服务以及他们是怎样编辑出来的。
我们需要学习C语言编程, 根据课堂讲授内容, 做相应的自主练习, 消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题, 逐渐培养编程能力、用计算机解决实际问题的能力, 能够按照要求编辑一些基本的程序, 提高自己的思维能力。
题目:(1)某高校主要人员有: 在职人员(行政人员、教师、一般员工)、退休人员及临时工。
现在需要储存这些人员的人事档案信息, 内容包括编号、姓名、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。
其中, 人员编号唯一, 不能重复。
(2)添加删除功能:能根据学院人事的变动情况, 添加删除记录。
(3)查询功能: 能根据编号和姓名进行查询。
(4)编辑功能(高级): 根据查询对相应的记录进行修改并记录。
(5)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数, 高学历高职称人数), 统计要求同时显示被统计着的信息。
排序功能: 按照年龄、来院时间进行排序。
保存功能: 能对输入的数据进行相应的存储。
分析:我们编辑的程序要能够满足题目的要求, 可以进行这么多的功能的计算!但是在开始我们运行使用程序的时候必须要知道我们要运用这些功能中的哪一个!这就要求我们可以程序中任意选择我们所需要的功能!很显然我们要编辑存储人员的信息自然要运用到文件!而人员的信息必须要以结构体的形式来表示才能够方便我们提取信息!我们选择了要运行的功能分支之后!这些功能是以主函数以外的被调函数!当有需要时被调函数还可以调用其他的被吊函数!例如我们题目中的统计和查询功能, 就可以用这种方式来编辑程序!方便清楚!设计:很显然主程序要用到SWICTH函数, 这样可以选择要运行的那个功能的函数来执行, 而其他的功能函数则不必运行!三、解题思路1.定义结构struct staff{char num[10];char name[20];char sex[10];int age;char title[20];char p_landscape[30];char Qualifications[30];int Service_time;char come_time[30];char category[30];}staff[100];2.主程序进入主菜单函数void main(){menu();}/*******************主菜单函数**********************/void menu(){char w0;do{system("cls");fflush(stdin); /*清除缓冲区输入*/puts("***********************高校人事管理系统**********************\n\n");puts("\t\t\t\t1)增加人员信息\n"); puts("\t\t\t\t2)删除人员信息 \n"); puts("\t\t\t\t3)查询人员信息\n"); puts("\t\t\t\t4)修改人员信息\n"); puts("\t\t\t\t5)统计人员信息\n"); puts("\t\t\t\t6)对人员排序\n");puts("\t\t\t\t7)保存人员信息\n"); puts("\t\t\t\t8)浏览人员信息\n"); puts("\t\t\t\t9)退出\n");printf("\t\t\t\t 请选择 [ ]\b\b"); w0=getchar();}while(w0<'1'||w0>'9'); switch(w0-48){case 1:add();break;case 2:delete_data();break;case 3:search();break;case 4:modify();break; case 5:stastic();break;case 6:sort();break;case 7:save();break;case 8:browse();break;case 9:break;} }(1)查询功能int search_data()/*{int i,flag; char s[30],w0;system("cls");/*清屏*/ n=load(); do{fflush(stdin); /*清除缓冲区输入*/printf(" 通过1)编号 2)姓名 [ ]\b\b"); w0=getchar(); }while(w0<'1'||w0>'2'); if(w0=='1'){/*按编号查找*/ flag=0;puts("输入人员编号:"); scanf("%s",s); for(i=0;i<n;i++){if(strcmp(s,staff[i].num)==0){printf_face();printf_one(staff[i]); flag=1;break;} else continue; }if(flag==0)puts("该人员不存在!"); }else {/*按姓名查找*/ flag=0;puts("输入人员姓名:"); scanf("%s",s); for(i=0;i<n;i++){if(strcmp(s,staff[i].name)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0) puts("该人员不存在!");}return i;void search(){int k;char w1;loop: k=search_data();do{fflush(stdin); /*清除缓冲区输入*/printf("1)回主菜单 2)退出 3)继续查询 [ ]\b\b"); w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')menu();else if(w1=='2')exit(0);void add(){char w0,w1;loop: system("cls");puts("请输入编号(如001):");scanf("%s",s.num);if(test(s.num))goto loop;/*编号重复*/puts("请输入姓名:");scanf("%s",);puts("请输入性别(男,女):");scanf("%s",s.sex);puts("请输入年龄:");scanf("%d",&s.age);puts("请输入职务(教授副教授讲师助教学生后勤人员):");scanf("%s",s.duty);puts("请输入职称 (无初级高级 ):");scanf("%s",s.title);puts("请输入政治面貌( 党员非党员 ):");scanf("%s",s.p_landscape);puts("请输入最高学历(小学初中高中大学硕士学位更高):");scanf("%s",s.Qualifications);puts("请输入任职时间:");scanf("%d",&s.Service_time);puts("请输入来院时间(如20050101):");scanf("%s",e_time);puts("请输入人员类别(行政人员教师一般员工退休人员临时工):");scanf("%s",s.category);do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');switch(w0){case 1:save(s);break;case 2:break;}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续增加人员信息 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')goto loop;else if(w1=='2')menu();else exit(0);}(3)保存信息void save(){char w0;save_all();printf("所有信息已保存!\n");do{fflush(stdin); /*清除缓冲区输入*/printf("1) 回主菜单 2) 退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1')menu();else exit(0);}void save_all()/*保存所有数据函数*/{int i;FILE *fp;if((fp=fopen("text.txt","wb"))==NULL){printf("无法打开文件!");exit(0);}for(i=0;i<n;i++){if(staff[i].age!=0)fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name, staff[i].sex,staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,sta ff[i].Qualifications,staff[i].Service_time,staff[i].come_time,staff[i].category );else continue;}fclose(fp);}(4)删除人员void delete_data(){int k; char w0,w1;loop: k=search_data();if(k<n){do{fflush(stdin); /*清除缓冲区输入*/printf("确认要删除该人员信息? 1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){staff[k].age=0;save_all();puts("该人员信息已被删除!");} } do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续删除数据 2)回主菜单 3)退出w1=getchar();}while(w1<'1'||w1>'3'); if(w1=='1') goto loop; else if(w1=='2')menu(); else exit(0); }(5)修改人员信息 void modify() {int k=0,w0,g; char h[30],w1,w2; loop: g=search_data(); if(g<n){ do{puts("\t\t\t 修改: 1)编号"); puts("\t\t\t 2)姓名"); puts("\t\t\t 3)性别"); puts("\t\t\t 4)年龄"); puts("\t\t\t 5)职务"); puts("\t\t\t 6)职称"); puts("\t\t\t 7)政治面貌"); puts("\t\t\t 8)最高学历"); puts("\t\t\t 9)任职时间"); puts("\t\t\t 10)来院时间"); puts("\t\t\t 11)人员类别"); printf(" 请选择 : [ ]\b\b"); scanf("%d",&w0);}while(w0<1||w0>11); switch(w0){case 1:puts("请输入新编号:");scanf("%s",h);strcpy(staff[g].num,h);break; case 2:puts("请输入姓名:");scanf("%s",h);strcpy(staff[g].name,h);break; case 3:puts("请输入性别:");scanf("%s",h);strcpy(staff[g].sex,h);break; case 4:puts("请输入年龄:");scanf("%d",&k);staff[g].age=k;break; case 5:puts("请输入职务:");scanf("%s",h);strcpy(staff[g].duty,h);break; case 6:puts("请输入职称:");scanf("%s",h);strcpy(staff[g].title,h);break;scanf("%s",h);strcpy(staff[g].p_landscape,h);break;case 8:puts("请输入最高学历:");scanf("%s",h);strcpy(staff[g].Qualifications,h);break;case 9:puts("请输入任职时间:");scanf("%d",&k);staff[g].Service_time=k;break;case 10:puts("请输入来院时间:");scanf("%s",h);strcpy(staff[g].come_time,h);break;case 11:puts("请输入人员类别:");scanf("%s",h);strcpy(staff[g].category,h);break;}do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)保存 2)否[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'2');if(w1=='1'){save_all(); puts("保存修改成功!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续修改 2)回主菜单 3)退出[ ]\b\b");w2=getchar();}while(w2<'1'||w2>'3');if(w2=='1')goto loop;else if(w2=='2')menu();else exit(0);}(6)统计人员信息void stastic(){int i,count;char w0,w1;n=load();if(n==0){puts("没有数据!");getchar();menu();}loop: system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过1)在职人员 2)党员\n");printf(" 3)女工人数 4)最高学历 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'4');if(w0=='1'){/*统计在职人员*/printf_face();for(i=0,count=0;i<n&&staff[i].age;i++)if(strcmp(staff[i].category,"退休人员")!=0&&strcmp(staff[i].category,"临时工")!=0){count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count); }else if(w0=='2'){/*统计党员*/ printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].p_landscape,"党员count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count);}else if(w0=='3'){/*统计女工人员*/ printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].sex,"女")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t 共有%d 条记录",count);}else {/*统计高学历人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].Qualifications,"硕士学位")==0||strcmp(staff[i].Qualifications,"更高")==0){count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count);} do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)继续统计 2)回主菜单 3)退出 [ ]\b\b"); w1=getchar();}while(w1<'1'||w1>'3'); if(w1=='1') goto loop; else if(w1=='2')menu(); else exit(0); }(6) 排序功能void sort() {int i,j;char w0,w1; struct staff s1; loop: n=load();system("cls"); do{fflush(stdin); /*清除缓冲区输入*/printf("通过 1)年龄 2)来院时间w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){/*按年龄排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(staff[i].age>staff[j].age){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}else {/*按来院时间排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(strcmp(staff[i].come_time,staff[j].come_time)>0){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}printf_face();for(i=0;i<n;i++) /*显示排序结果*/printf_one(staff[i]);do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)回主菜单 2)继续排序 3)退出[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') menu();else if(w1=='2')goto loop;else exit(0);}四、运行与测试报告*********************************高校人事管理系统******************************1)增加人员信息2)删除人员信息3)查询人员信息4)修改人员信息5)统计人员信息6)对人员排序7)保存人员信息8)浏览人员信息9)退出请选择【 1】请输入编号(如001):20071003335请输入姓名:majianbo请输入性别(男,女):nan请输入年龄:20请输入职务(教授副教授讲师助教学生后勤人员): jiaoshou请输入职称 (无初级高级 ):gaoji请输入政治面貌( 党员非党员 ):danyuan请输入最高学历(小学初中高中大学硕士学位更高): shuoshi请输入任职时间:20070901请输入来院时间(如20050101):20070901请输入人员类别(行政人员教师一般员工退休人员临时工): jiaoshi是否保存?1)是 2)否 [1]该信息已成功保存!1)继续增加人员信息 2)回主菜单 3)退出 [ ]程序:#include<stdlib.h>#include <stdio.h>#include <string.h>struct staff/*定义结构体*/{char num[10];/*编号*/char name[20];/*姓名*/char sex[10];/*性别*/int age;/*年龄*/char duty[20];/*职务*/char title[20];/*职称*/char p_landscape[30];/*政治面貌*/char Qualifications[30];/*学历*/int Service_time;/*任职时间*/char come_time[30];/*来院时间*/char category[30];/*人员类别*/}staff[100];struct staff s;int n;void menu();void printf_face()/*显示数据结构项目函数*/{printf("编号姓名性别年龄职务职称政治面貌学历任职时间来院时间人员类别\n");}void printf_one(struct staff p)/*输出单个数据函数*/{printf("%-4s%-7s%-5s%-3d%-7s%-5s%-8s%-12s%-5d%-12s%-3s\n",p.num,,p.se x,p.age,p.duty,p.title,p.p_landscape,p.Qualifications,p.Service_time,e_tim e,p.category);}int load()/*加载函数*/{int i=0;FILE *fp;if((fp=fopen("text.txt","rb"))==NULL){return 0; exit(0);}for(i=0;!feof(fp);i++){ /*输出数据到结构体*/fscanf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name,staff [i].sex,&staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,staff[i ].Qualifications,&staff[i].Service_time,staff[i].come_time,staff[i].category);} fclose(fp);return i;}int search_data()/*查找单个数据函数*/{int i,flag;char s[30],w0;system("cls");/*清屏*/n=load();do{fflush(stdin); /*清除缓冲区输入*/printf(" 通过1)编号 2)姓名 [ ]\b\b");w0=getchar(); }while(w0<'1'||w0>'2');if(w0=='1'){/*按编号查找*/flag=0;puts("输入人员编号:");scanf("%s",s);for(i=0;i<n;i++){if(strcmp(s,staff[i].num)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0)puts("该人员不存在!");}else {/*按姓名查找*/flag=0;puts("输入人员姓名:");scanf("%s",s);for(i=0;i<n;i++){if(strcmp(s,staff[i].name)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0) puts("该人员不存在!");}return i;}void save_all()/*保存所有数据函数*/{int i;FILE *fp;if((fp=fopen("text.txt","wb"))==NULL){printf("无法打开文件!");exit(0);}for(i=0;i<n;i++){if(staff[i].age!=0)fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name, staff[i].sex,staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,sta ff[i].Qualifications,staff[i].Service_time,staff[i].come_time,staff[i].category );else continue;}fclose(fp);}int test(char h[10])/*检查编号是否重复*/{int i;n=load();for(i=0;i<n;i++)if(strcmp(h,staff[i].num)==0){puts("输入的编号有重复!请重新输入编号!");system("pause");return 1;}return 0;}void single_save(struct staff p)/*保存单个数据函数*/{FILE *fp;if((fp=fopen("text.txt","ab+"))==NULL){printf("无法打开文件!");exit(0);}fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",p.num,,p.sex,p.age,p.duty ,p.title,p.p_landscape,p.Qualifications,p.Service_time,e_time,p.category);printf("该信息已成功保存!\n");fclose(fp);}/*********************************修改模块**********************************/ void modify(){int k=0,w0,g;char h[30],w1,w2;loop: g=search_data();if(g<n){do{puts("\t\t\t修改: 1)编号");puts("\t\t\t 2)姓名");puts("\t\t\t 3)性别");puts("\t\t\t 4)年龄");puts("\t\t\t 5)职务");puts("\t\t\t 6)职称");puts("\t\t\t 7)政治面貌");puts("\t\t\t 8)最高学历");puts("\t\t\t 9)任职时间");puts("\t\t\t 10)来院时间");puts("\t\t\t 11)人员类别");printf(" 请选择 : [ ]\b\b");scanf("%d",&w0);}while(w0<1||w0>11);switch(w0){case 1:puts("请输入新编号:");scanf("%s",h);strcpy(staff[g].num,h);break;case 2:puts("请输入姓名:");scanf("%s",h);strcpy(staff[g].name,h);break;case 3:puts("请输入性别:");scanf("%s",h);strcpy(staff[g].sex,h);break;case 4:puts("请输入年龄:");scanf("%d",&k);staff[g].age=k;break;case 5:puts("请输入职务:");scanf("%s",h);strcpy(staff[g].duty,h);break;case 6:puts("请输入职称:");scanf("%s",h);strcpy(staff[g].title,h);break;case 7:puts("请输入政治面貌:");scanf("%s",h);strcpy(staff[g].p_landscape,h);break;case 8:puts("请输入最高学历:");scanf("%s",h);strcpy(staff[g].Qualifications,h);break;case 9:puts("请输入任职时间:");scanf("%d",&k);staff[g].Service_time=k;break;case 10:puts("请输入来院时间:");scanf("%s",h);strcpy(staff[g].come_time,h);break;case 11:puts("请输入人员类别:");scanf("%s",h);strcpy(staff[g].category,h);break;}do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)保存 2)否[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'2');if(w1=='1'){save_all(); puts("保存修改成功!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续修改 2)回主菜单 3)退出[ ]\b\b");w2=getchar();}while(w2<'1'||w2>'3');if(w2=='1')goto loop;else if(w2=='2')menu();else exit(0);}/************************保存模块******************************/void save(){char w0;save_all();printf("所有信息已保存!\n");do{fflush(stdin); /*清除缓冲区输入*/printf("1) 回主菜单 2) 退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1')menu();else exit(0);}/*************************查找模块*****************************/ void search(){int k;char w1;loop: k=search_data();do{fflush(stdin); /*清除缓冲区输入*/printf("1)回主菜单 2)退出 3)继续查询 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')menu();else if(w1=='2')exit(0);else goto loop;}/***************************增加模块*****************************/ void add(){char w0,w1;loop: system("cls");puts("请输入编号(如001):");scanf("%s",s.num);if(test(s.num))goto loop;/*编号重复*/puts("请输入姓名:");scanf("%s",);puts("请输入性别(男,女):");scanf("%s",s.sex);puts("请输入年龄:");scanf("%d",&s.age);puts("请输入职务(教授副教授讲师助教学生后勤人员):");scanf("%s",s.duty);puts("请输入职称 (无初级高级 ):");scanf("%s",s.title);puts("请输入政治面貌( 党员非党员 ):");scanf("%s",s.p_landscape);puts("请输入最高学历(小学初中高中大学硕士学位更高):");scanf("%s",s.Qualifications);puts("请输入任职时间:");scanf("%d",&s.Service_time);puts("请输入来院时间(如20050101):");scanf("%s",e_time);puts("请输入人员类别(行政人员教师一般员工退休人员临时工):");scanf("%s",s.category);do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');switch(w0-48){case 1:single_save(s);break;case 2:break;}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续增加人员信息 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')goto loop;else if(w1=='2')menu();else exit(0);}/*******************************删除模块*****************************/void delete_data(){int k; char w0,w1;loop: k=search_data();if(k<n){do{fflush(stdin); /*清除缓冲区输入*/printf("确认要删除该人员信息? 1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){staff[k].age=0;save_all();puts("该人员信息已被删除!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续删除数据 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') goto loop;else if(w1=='2')menu();else exit(0);}/********************************统计模块*******************************/void stastic(){int i,count;char w0,w1;n=load();if(n==0){puts("没有数据!");getchar();menu();}loop: system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过1)在职人员 2)党员\n");printf(" 3)女工人数 4)最高学历 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'4');if(w0=='1'){/*统计在职人员*/printf_face();for(i=0,count=0;i<n&&staff[i].age;i++)if(strcmp(staff[i].category,"退休人员")!=0&&strcmp(staff[i].category,"临时工")!=0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else if(w0=='2'){/*统计党员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].p_landscape,"党员")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else if(w0=='3'){/*统计女工人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].sex,"女")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else {/*统计高学历人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].Qualifications,"硕士学位")==0||strcmp(staff[i].Qualifications,"更高")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)继续统计 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') goto loop;else if(w1=='2')menu();else exit(0);}/*******************************排序模块***********************************/ void sort(){int i,j;char w0,w1;struct staff s1;loop: n=load();system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过 1)年龄 2)来院时间 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){/*按年龄排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(staff[i].age>staff[j].age){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}else {/*按来院时间排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(strcmp(staff[i].come_time,staff[j].come_time)>0){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}printf_face();for(i=0;i<n;i++) /*显示排序结果*/printf_one(staff[i]);do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)回主菜单 2)继续排序 3)退出[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') menu();else if(w1=='2')goto loop;else exit(0);}/********************************浏览模块**************************************/void browse(){int i;char w0;n=load();system("cls");printf_face();for(i=0;i<n ;i++)printf_one(staff[i]);printf("\t\t\t\t共有%d条人员记录\n",n);do{fflush(stdin); /*清除缓冲区输入*/printf(" 1)回主菜单 2)退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1') menu();if(w0=='2') exit(0);}/********************************主菜单函数*************************************/void menu(){char w0;do{system("cls");fflush(stdin); /*清除缓冲区输入*/puts("*********************************高校人事管理系统*******************************\n\n");puts("\t\t\t\t1)增加人员信息\n");puts("\t\t\t\t2)删除人员信息 \n");puts("\t\t\t\t3)查询人员信息\n");puts("\t\t\t\t4)修改人员信息\n");puts("\t\t\t\t5)统计人员信息\n");puts("\t\t\t\t6)对人员排序\n");puts("\t\t\t\t7)保存人员信息\n");puts("\t\t\t\t8)浏览人员信息\n");puts("\t\t\t\t9)退出\n");printf("\t\t\t\t请选择 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'9');switch(w0-48){case 1:add();break;case 2:delete_data();break;case 3:search();break;case 4:modify();break;case 5:stastic();break;case 6:sort();break;case 7:save();break;case 8:browse();break;case 9:break;}}/***********************************主函数****************************************/void main(){menu();}。
人力资源vc人员管理系统完整设计报告
人力资源vc人员管理系统完整设计报告一、背景和目的随着信息技术的快速发展,许多企业已经意识到人力资源管理对企业整体运营的重要性。
为此,研发一个可靠的人力资源vc人员管理系统已成为企业的首要任务。
本文旨在设计一种完整的人力资源vc人员管理系统,以提高企业的劳动力生产率、员工满意度及企业整体效益。
二、需求分析1.系统入口及用户权限用户可通过网站、APP等途径登录系统。
管理员根据员工职责分配不同权限,确保用户只能查看和更改自己拥有权限的内容。
2.员工档案管理管理系统可涵盖基本信息、员工图片、用工合同、员工招聘来源、员工岗位信息、授权信息、任职资格证书等。
同时,还可实现员工信息的自动化管理和整合,减少数据重复录入和人为错误,确保员工信息的真实性和完整性。
3.员工考勤管理根据员工出勤、旷工、考勤条例等信息,自动生成考勤数据和工资数据,以便对考勤、工资结算和员工考勤情况进行全面统计分析。
此外,还可对考勤数据进行自动校对,减少数据重复和错误率。
4.员工培训管理包括培训信息、培训计划、培训记录、培训评价等,实现员工培训管理的全面有效性和系统性。
5.绩效管理设置目标、评估和考核机制、数据分析等,分析员工发展潜力和个人能力,提供员工发展方向和生产效率提高的意见和建议。
6.人力成本管理实现人力成本的计算、收缩、分析和预测。
三、系统设计与实现1.系统架构采用B/S+ C/S的架构,具备多终端登录、统一授权和权限管理功能。
2.数据库设计采用关系型数据库,建立员工管理、培训管理、绩效管理、考勤管理、人力成本管理等多个数据表。
3.后台开发采用Spring MVC框架开发员工信息、考勤、培训、绩效、人力成本等模块,实现系统的后台管理。
4.前端开发采用AngularJS等技术,实现员工信息、考勤、培训、绩效、人力成本等模块的前端数据展示和操作。
5.测试与上线进行单元测试、压力测试和功能测试等,保证系统的可靠性和稳定性。
经过测试完成后,启动系统上线并进行日常运维和维护。
C语言课程设计人事管理报告
C语言程序设计上机实习报告指导教师:吴杰学生姓名:董建光学生学号:20051000746班级序号:023052题目编号:23 人事管理系统一.题目要求设计某高校的人事管理系统,实现人员档案信息的添加删除,查询,编辑,统计,排序,保存等功能模块,本程序有功能菜单实现,数据输入和结果输出均用文件存放。
(1)添加删除功能:根据人事变动的情况,添加删除记录;(2)查询功能:能根据编号和姓名进行查询;(3)统计功能:能根据多种参数进行人员的统计,统计要求同时显示被统计者信息;(4)编辑功能:根据查询对相应的记录进行修改,并储存;(5)排序功能:按照年龄,来院时间进行排序;(6)保存功能:能对输入的数据进行相应的存储;二.需求实践分析需要熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、数组、结构体等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
根据题目要求,由于人事信息是存放在文件中,所以应提供文件的输入和输出等操作;在程序中需要浏览职工的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择。
三.总体设计割据上面的需求分析,可以将这个系统的设计分为追加模块,修改模块,删除模块,查找四.感受与总结优点:如果修改成功,则此算法功能强大而齐备,能够比较全面的对数据信息进行处理,能够综合我们学习的文件处理知识,对于知识与技巧的掌握很有帮助。
缺点:各个功能模块之间有重叠,使程序比较缀余,而且编译浪费时间。
此外本程序的主要漏洞在于加载函数,保存函数及所用到的几个基本函数,其运行出错在于函数总体结构有问题。
感受:我认为可以将所有的函数全部写成一个函数的嵌套形式,使得程序更加简洁,可惜我还不能实现,可以不用菜单,只留下查找函数将其他的加入其内部,使用者也比较容易看懂。
此外还应该考虑一下查找和排序的效率问题,排序我用的是快速排序法可以短时间内处理大量数据,但查找就比较麻烦,还需改进,请老师帮忙改进。
【免费下载】C人事管理系统课程设计报告
系统既然具有“数据存盘”功能-人员数据可以保存到磁盘文件,那么也就 意味着今后可以从磁盘文件读出人员数据,所以系统增加了“人员数据装入” 模块,以方便用户使用、避免数据重复录入。考虑到系统实现简捷,人员数据 文件采用文本文件,人员数据文件名:Person.txt。
Person.txt:(格式:编号,姓名,人员类别,其它数据,销售员销售额,技术人员工作小时) 2 wang 3 100000 3 liu 1 4 wu 4 100 5 huang 2 6 tao 3 150000 注:人员类型编号 1-经理;2-销售经理;3-销售员;4-技术人员
三、系统设计 1. 系统总体框架
一、设计题目(问题)描述和要求 1.题目:人事管理系统 2.问题描述:
某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推 销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总 额并显示全部信息。 要求: (1) 其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号
使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作, 公司,人员。所以系统主要涉及两个大类:公司类 Company、人员类 Person。
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
C#人事工资管理系统实验报告
武汉工业学院数据库应用系统设计实验报告学号:090501102姓名:毕波班级: 计算机091指导教师:人事工资管理系统设计总说明:在当今社会,工资管理是一项必要而且很关键的工作。
现在随着企业数量的急剧增加,处理人们的工资数据变的越来越烦琐艰巨。
如今,计算机已经普及到了几乎每个学校、家庭,我们的学习和生活已经处处离不开计算机的存在。
本系统依据开发要求主要应用于企业人事系统,完成对日常的工资增删查改的数字化管理。
比较系统地对员工的信息和工资进行管理,查询、增添、修改、删除都变的非常简便,节省了大量的工作量。
本课程设计是在学习了《数据库应用系统》和相关开发软件课程之后,让学生通过实际项目的设计、开发,培养学生独立进行数据库软件的建模、在计算机中进行数据库设计、并通过相关软件开发系统的能力。
本系统的基本功能包括:部门信息的管理(查询、添加、修改、删除学生部门等)、职员信息的管理(录入、查询、修改、删除员工的信息等)、工资信息的管理(录入、查询、修改员工的工资等)。
本系统主要用于对员工工资进行管理,能够进行插入、删除、修改、查询和显示员工的信息。
登录该系统时,用户需要输入口令和密码,以确保数据的安全性,成功登录的用户,可以插入员工的信息和工资,并对员工的信息和工资进行增、删、改操作。
基于上述想法,我们将员工数据保存到数据库中。
我们要求系统能够高效快速的处理数据,并且要保证数据的正确性、相容性和安全性。
所以在数据库中需要定义很多触发器,比如删除了某个员工的信息则删除对应的所有工资信息、活着删除了某部门则删除该部门所有的信息等。
所以我们要从数据库中读取数据,并且和界面联系起来,同时也能将用户界面上的数据存储到数据库中。
以上是设计此系统应该注意的地方和设计原则,以下就是遵循这些原则和标准设计出的一套完整的管理系统。
一系统需求:根据题目需求,可以把系统分为三个部分:部门信息管理部分、职员信息管理部分和工资信息管理部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程名称面向对象课程设计设计题目人事管理系统专业班级姓名学号指导教师起止时间2010年12月20日-12月31日成绩评定电气与信息学院人事管理系统一、课程设计的目的现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。
在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。
今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。
如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。
这些都大大地缩短管理的时间。
而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。
信息管理,如今已是一个热门话题,它已为许多企业所采用。
我认为,在现代化的进程中,引入现代管理的思想,建立一套可面向企事业单位人事的信息管理系统,也是十分必要的二、课程设计的要求要求了解企业管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。
主要包括:登陆的两个用户:管理员、职工管理员:可以对职工信息进行添加信息、删除信息、查询员工信息、修改员工信息、浏览员工信息。
用户:可以对自己的信息进行浏览、修改、查询;还可以对别人的信息进行查询,浏览。
开发这个系统的目的就是帮助企业的人力资源部门提高工作效率,实现企业人事信息管理的系统化,规范化和自动话。
根据这个系统最终实现的主要功能如下:系统部分:主要完成本系统的维护工作。
员工基本信息部分:主要完成员工基本信息的管理。
本系统是个简单的程序,由于时间和技术有限,功能不是多完整,多具体,还请包涵。
本系统的功能模块图如下:图1功能层次图三、设计思路1.系统分析系统开发背景、开发范围、建设目标与必要性人事信息管理是一个单位信息管理的重要组成部分,它的内容对于一个单位的人事管理起着至关重要的作用。
人事信息管理系统应该能够为管理者提供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。
如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点。
这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
根据以上情况,决定实施建立人事信息管理系统,因为人事信息管理是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算实现企业人事档案的管理势在必行。
当前企业信息管理系统正在从US结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。
人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。
该系统主要从以下几个功能来实现的:新增:添加新员工的个人信息。
修改:修改已有员工的个人信息。
删除:删除已有员工的个人信息。
查询:根据条件查询员工的信息。
显示所有:显示所有员工的信息。
四、系统流程图1.流程分析通过对职工管理管理业务的详细调查分析,弄清了职工管理工作的业务流程和管理功能,系统业务流程图如下:本系统业务流程图:管理员:图2业务流程图从该流程图可以看出职工管理系统主要有以下几项管理功能:1)员工信息删除:在接到认识部门的员工离职报告后,被解雇或者辞职的员工信息将被管理员删除。
2)员工信息修改:在公司员工发生职位变化后,人事部门向系统管理者发出员工信息修改报告,管理员修改员工信息。
3)员工信息插入:当有新员工进入公司市,管理员在数据库中插入新的员工信息。
4)信息查询:输入要查询的人姓名,很快就出现这个人的所有信息职员:图3业务流程图从该流程图可以看出职工管理系统主要有以下几项管理功能:1)员工信息浏览:员工可以自己浏览自己的信息,及时发现错误,及时修改个人的信息保证个人信息的准确性。
2)员工信息修改:这里是我个人加入一个比较人性化的设计,考虑到我做的只是一个小型的系统,没有什么隐私或者公司利益、个人利益的牵扯,所以员工也可以自行修改自己不正确的信息。
3)员工浏览别人的信息:我这个员工可以通过查找姓名看到别人的信息,可以方便员工要联系某人时不知道他的联系方式,当然必须是熟悉你的人才可以看到你的信息,不会流露到公司外部,所以不牵扯隐私暴露问题。
2.流程图图4 增加记录的流程图3.数据字典为了对数据流程图中的各个元素作出详细的说明,建立数据字典是必要的。
数据字典主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。
数据流程图和数据字典一起使用,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
五、类的层次图员工档案:员工基本信息(姓名,学历等)表1 员工基本信息字段名数据类型关键字段说明编号整型是员工姓名Char否性别Char否男、女职务Char否出生年月日期/时间否身份证号Char否家庭住址Char否电话号Char否六、系统功能模块图1.系统主界面打开项目,编辑运行,进入主界面。
如图6图6登陆界面图 7管理员主界面2.增加界面打开系统主界面,点击新增按钮,进入增加员工信息界面。
如图5图8增加界面进入新增界面,添加职工信息。
这样就写入文件中啦3.查询界面点击主界面中的查询按钮,进入查询职工信息界面。
系统列出以下查询条件:如图9图9查询界面输入要查询的员工的姓名,就会出现下面的内容:图10查询结果界面4.修改界面在你还想进行何种操作:输入3,修改查找人信息,先输入自己要修改人的姓名,然后直接写入自己要修改的内容就行啦,这里有点错误,因为能力有限,我没找出来。
图11修改界面这样就修改完了,我们可以通过显示查找人信息查找下,如图12图12修改成功界面由于上面的错误,导致里面的值会出现这样一种状况,我请教了同学没有人会,我能力有限时间有限就这样,希望你们谅解!5.显示所有界面选择5.显示所有在厂员工,系统会显示所有员工的信息。
如图13图13 显示界面6.删除界面选择你要进行的操作,输入4按回车,在输入要删除的人的姓名,操作如图14、15图14删除界面图15删除界面然后输入y就会删除员工信息,输入N放弃删除如图16图16删除界面七、关键程序代码ame1,11);if(strlen(inf[i].name1)<2) break;for(j=1;j<30;j++)if(inf[i].name1[j]==' ') inf[i].name1[j]='\0';(e);(inf[i].sex1,4);for(j=1;j<30;j++)if(inf[i].sex1[j]==' ') inf[i].sex1[j]='\0';(e);(inf[i].zhiwu1,11);for(j=1;j<30;j++)if(inf[i].zhiwu1[j]==' ') inf[i].zhiwu1[j]='\0';(e);(inf[i].idemployee1,6);for(j=1;j<30;j++)if(inf[i].idemployee1[j]==' ') inf[i].idemployee1[j]='\0';(e);(inf[i].ID1,21);for(j=1;j<30;j++)if(inf[i].ID1[j]==' ') inf[i].ID1[j]='\0';(e);(inf[i].brithday1,11);(e);(inf[i].address1,31);for(j=1;j<30;j++)if(inf[i].address1[j]==' ') inf[i].address1[j]='\0';(e);(inf[i].tele1,13);for(j=1;j<30;j++)if(inf[i].tele1[j]==' ') inf[i].tele1[j]='\0';(e);(inf[i].money1,6);for(j=1;j<30;j++)if(inf[i].money1[j]==' ') inf[i].money1[j]='\0';(e);}lenth=i;();}class people ame1)==0) break;if(t<lenth){cout<<NAME<<"的信息如下:";cout<<"\n姓名:"<<inf[t].name1;cout<<"\n性别:"<<inf[t].sex1;cout<<"\n职务:"<<inf[t].zhiwu1;cout<<"\n工作编号:"<<inf[t].idemployee1;cout<<"\n身份证号码:"<<inf[t].ID1;cout<<"\n生日:"<<inf[t].brithday1;cout<<"\n联系电话:"<<inf[t].tele1;cout<<"\n地址:"<<inf[t].address1;cout<<"\n工资:"<<inf[t].money1<<endl; ame1)==0) break;if(i>=lenth)cout<<"查无此人!\n";else{cout<<"请重新输入信息:"<<endl;cout<<"请输入职工姓名:";cin>>inf[i].name1;cout<<"请输入职工性别:";cin>>inf[i].sex1;cout<<"请输入职工职务(限制5位):";cin>>inf[i].zhiwu1;cout<<"请输入职工工作编号:";cin>>inf[i].idemployee1;cout<<"请输入职工身份证号:";cin>>inf[i].ID1;cout<<"请输入职工生日(YYYY/MM/DD):";cin>>inf[i].brithday1;cout<<"请输入职工家庭住址:";cin>>inf[i].address1;cout<<"请输入职工电话号码:";cin>>inf[i].tele1;cout<<"请输入职工月薪(不超过5位):";cin>>inf[i].money1;ofstream outfile("d:\\",ios::in);if(!outfile){cerr<<"open error!"<<endl;exit(1);}for(i=0;i<lenth;i++){outfile<<setiosflags(ios::left)<<setw(10)<<inf[i].name1;outfile<<" "<<setw(3)<<inf[i].sex1;outfile<<" "<<setw(10)<<inf[i].zhiwu1;outfile<<" "<<setw(5)<<inf[i].idemployee1;outfile<<" "<<setw(20)<<inf[i].ID1;outfile<<" "<<setw(10)<<inf[i].brithday1;outfile<<" "<<setw(30)<<inf[i].address1;outfile<<" "<<setw(12)<<inf[i].tele1;outfile<<" "<<setw(5)<<inf[i].money1;outfile<<"\n";}();}}void delet() ame1)==0) break;j=i;ofstream outfile("d:\\",ios::trunc); ame1;outfile<<" "<<setw(3)<<inf[i].sex1;outfile<<" "<<setw(10)<<inf[i].zhiwu1;outfile<<" "<<setw(5)<<inf[i].idemployee1;outfile<<" "<<setw(20)<<inf[i].ID1;outfile<<" "<<setw(10)<<inf[i].brithday1;outfile<<" "<<setw(30)<<inf[i].address1;outfile<<" "<<setw(12)<<inf[i].tele1;outfile<<" "<<setw(5)<<inf[i].money1;outfile<<"\n";}();cout<<"你已经成功删除"<<NAME<<"的信息"<<endl;}elsecout<<"你已经放弃了删除该信息!\n";}void oneprint() 入个人的信息*****\n";cout<<"\t**** 2.显示个人信息 *****\n";cout<<"\t**** 3.修改个人信息 *****\n";cout<<"\t**** 4.查找他人信息 *****\n";cout<<"\t**** 5.显示所有在厂职工 *****\n";cout<<"\t**** 6.返回主菜单 *****\n";cout<<"\t**** 0.退出 *****\n";cout<<"\t****------------------------------------------------*****\n";cout<<"\t*********************************************************\n";}void mune2(){cout<<"\t*********************************************************\n";cout<<"\t****------------------------------------------------*****\n";cout<<"\t**** 1.输入职工的信息 *****\n";cout<<"\t**** 2.显示查找人的信息 *****\n";cout<<"\t**** 3.修改查找人信息 *****\n";cout<<"\t**** 4.删除查找人信息 *****\n";cout<<"\t**** 5.显示所有在厂职工 *****\n";cout<<"\t**** 6.返回主菜单 *****\n";cout<<"\t**** 0.退出 *****\n";cout<<"\t****------------------------------------------------*****\n";cout<<"\t*********************************************************\n";}int queding() ame1)==0) break;if(i>=lenth) cout<<"记录中暂无此人信息.\n";elsept->delet();cout<<"你还想进行何种操作:";break;}if(sl==2){cout<<"请输入查找人姓名:";cin>>NAME;pt->seach(NAME);cout<<"你还想进行何种操作:";break;}}case 5:{pt->allprint();;cout<<"你还想进行何种操作:";break;}case 6:k=0;break;default:cout<<"你的选择错误,请重新选择:";break;}}while(k);}int main() 理员 *****\n";cout<<"\t***** 2.普通职工 *****\n";cout<<"\t***** 0.退出 *****\n";cout<<"\t**********************************************************\n\n\n\n";do{cout<<"请选择你的身份:";cin>>sl;switch(sl){case 0:{ cout<<"你已经成功退出!谢谢使用!^_^\n";exit(0); }break;case 1:{system("cls");switch(queding()){case 0:{cout<<"你不能以管理员身份进入!\n";break;}case 1:{cout<<"操作成功!你已经以管理员身份成功进入!\n";system("cls");mune2();select();break;}}}break;case 2:{cout<<"请输入您的姓名:";cin>>employname;system("cls");tiquxinxi();for(int i=0;i<lenth;i++)if(strcmp(employname,inf[i].name1)==0) break;if(i>=lenth) cout<<"记录中暂无您的信息,请首先选择1来输入您的信息.\n";mune1();select();}break;default:{cout<<"错误!你只能输入1,2,或0";}}}while(sl>2||sl<0);if(k==0)k=1;system("cls");goto b;return 0;}八、课程设计总结或结论经过两个星期的软件实习,在老师的指导下,顺利完成该软件实习。