功能介绍:
★ 部门分类
按照公司内部部门不同、职能不同来定义不同的工作界面,如:销售部、技术部、财务部、采购部、办公室等。并可授权增加、修改、查询。
★ 设定员工的权限
根据员工的工作性质可设定员工的工作权限,并可对权限进行增加与修改,所以具有不同权限的员工在网络上只能浏览到权限内的相关网页,而具有特殊权限的员工方可对网页内容进行修改。 ★ 建立员工的工作日志
根据公司的工作性质,按照部门及人员的工作性质建立员工的工作日志,根据员工的权限可具有编辑、浏览、修改、重复提交、批复等功能。★ 实现网上员工培训
公司可将对员工的培训在网上进行,首先它具有时时化,员工可自主地安排自己的工作及选择学习的内容,从而避免了培训的重复性,其次它具有人性化,企业员工一般分为新员工和老员工,将要培训的内容分为企业文化类、产品服务类、管理销售类、技能与技巧类等。所以可对所要培训的内容建立数据库,这样就可以时时更新,根据不同员工的权限来划分培训的内容,支持教学课件,支持动画及Powerpoint展示,如果要求培训质量较高可进行语言配音等,也可建立培训考核与测评系统,定期对公司员工当前文化状况进行考核,使考核结果更具有公正性与准确性,这样公司的培训就可以利用网络来完成。★ 建立公司公告与员工留言版
公司公告是公司公布最新信息,下发公司文件与通知的窗口,员工留言版是员工对公司的产品服务等情况发表自己的想法与意见的工具,通过公司公告与员工留言版,使公司与员工之间建立沟通的桥梁,可根据员工的不同权限,设立留言版的浏览与修改的权限。,设立留言版的浏览与修改的权限。
在当今社会,互联网空间的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。
企业员工信息管理系统采用B/S结构,主要对企业员工的信息以及跟人事相关的工作流程进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以NET2005和SQL 2000数据库作为开发平台。使用C#设计管理页面和编写 *** 作程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL 2000数据库形成数据表,进行数据存储。
sqlexecuteQuery("select from Staff"); 执行过后 返回是一个结果 集 ResultSet
不只有一行记录 , 你要循环比较
while(rs1next()) {
String son = rs1getString("xxx");
if( xxxx) {
// 执行 delete
}
}
//还有 你确定 你数据表的Staff的列明是中文“工号”?
问题: 请问排序的程序应该怎么写。。。
代码详细见附件,有注释说明
运行后的测试
姓名:abert 年龄:11姓名:apple 年龄:12
姓名:jack 年龄:12
姓名:jerry 年龄:12
姓名:阿土伯 年龄:15
姓名:张三 年龄:12
姓名:张三丰 年龄:10
姓名:张无忌 年龄:10
如果还有问题,可追问
根据你的要求修改过,而且调试通过了~~~看看行不行
如果有问题可以直接和我QQ联系:282910232
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
const N=50; // 定义系统可录入的员工最大数值
string Ename[N];
long Enum[N];
char Esex[N];
int Eage[N];
char Emarriage[N];
int Edepart[N];
int Eposition[N];
int Edegree[50];
int Eworktime[N];
float Epay[N];
class Employee
{
public:
string Employeename;
long Employeenum;
char Employeesex;
int Employeeage;
char Employeemarriage;
int Employeedepart;
int Employeeposition;
int Employeedegree;
int Employeeworktime;
float Employeepay;
static long EmployeeMaxNum;
static float EmployeeBasePay;
void NewInfo();
void ShowInfo();
void showall();
void showdepart(int depart);
void showdegree(int degree);
void showage(int min,int max);
void shownum(long number);
void RefreshInfo();
void DeleteInfo();
float Pay(int Employeegrade);
static int MaxNum();
};
class DBOperate
{
public:
string Employeename;
long Employeenum;
char Employeesex;
int Employeeage;
char Employeemarriage;
int Employeedepart;
int Employeeposition;
int Employeedegree;
int Employeeworktime;
float Employeepay;
static long EmployeeMaxNum;
static float EmployeeBasePay;
void WriteIn(int iflag);
void ReadOut();
void RefreshMaxNum(int iflag); //i=1 or -1 or 0
};
long Employee::EmployeeMaxNum = 1000;
float Employee::EmployeeBasePay = 1500;
int Employee::MaxNum() //返回系统已经存储的人数
{
int MN = 0;
ifstream myf;
myfopen("EmployeeMaxNumtxt");
myf>>MN;
cout<<MN<<endl;
myfclose();
return MN;
}
void Employee::NewInfo() //添加新成员函数
{
cout<<"新员工姓名: ";
cin>>Employee::Employeename;
Employee::Employeenum = EmployeeMaxNum + Employee::MaxNum()+1;
cout<<"新员工性别 (F为女性,M为男性): ";
cin>>Employee::Employeesex;
cout<<"新员工年龄: ";
cin>>Employee::Employeeage;
cout<<"新员工婚姻状况(Y为已婚,N为未婚): ";
cin>>Employee::Employeemarriage;
cout<<"新员工学历,请输入相应学历的序号: "<<endl;
cout<<" [1:初中 2:高中 3:本科 4:硕士 5:博士] ";
cin>>Employee::Employeedegree;
while(Employee::Employeedegree !=1&&Employee::Employeedegree !=2&&Employee::Employeedegree !=3&&Employee::Employeedegree !=4&&Employee::Employeedegree !=5)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<" [1:初中 2:高中 3:本科 4:硕士 5:博士]";
cin>>Employee::Employeedegree;
}
cout<<"新员工所在部门,请输入相应部门的序号:"<<endl;
cout<<" [1:董事会 2:市场部 3:公关部 4:客服中心 5:信息中心] ";
cin>>Employee::Employeedepart;
while(Employee::Employeedepart !=1&&Employee::Employeedepart !=2&&Employee::Employeedepart !=3&&Employee::Employeedepart !=4&&Employee::Employeedepart!=5)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<" [1:董事会 2:市场部 3:公关部 4:客服中心 5:信息中心] ";
cin>>Employee::Employeedepart;
}
cout<<"新员工职位, 请输入相应职位的序号: "<<endl;
cout<<" [1:临时职员 2: 正式职员 3:主任 4:部门经理 5:董事长] ";
cin>>Employee::Employeeposition;
while(Employee::Employeeposition !=1&&Employee::Employeeposition !=2&&Employee::Employeeposition !=3&&Employee::Employeeposition !=4&&Employee::Employeeposition !=5)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<" [1:临时职员 2: 正式职员 3:主任 4:部门经理 5:董事长] ";
cin>>Employee::Employeeposition;
}
cout<<"新员工的工作时(不需要输入单位): ";
cin>>Employee::Employeeworktime;
Employee::Employeepay = Employee::Pay(Employee::Employeeposition);
DBOperate dbo;
dboReadOut();
int MaxNum = Employee::MaxNum();
Enum[MaxNum] = Employee::Employeenum;
Ename[MaxNum] = Employee::Employeename;
Esex[MaxNum] = Employee::Employeesex;
Eage[MaxNum] = Employee::Employeeage;
Emarriage[MaxNum] = Employee::Employeemarriage;
Edegree[MaxNum] = Employee::Employeedegree;
Edepart[MaxNum] = Employee::Employeedepart;
Eposition[MaxNum] = Employee::Employeeposition;
Eworktime[MaxNum] = Employee::Employeeworktime;
Epay[MaxNum] = Employee::Employeepay;
dboWriteIn(1);
cout<<" 添加新成员成功!"<<endl;
return;
}
void Employee::ShowInfo() //程序主体 数据输出函数
{
int choice1,choice2,min,max;
long searchnum;
Employee e;
cout<<" 请选择查询方式:"<<endl;
cout<<""<<endl;
cout<<" 输出全体职工信息--------------------- 1"<<endl;
cout<<" 按职工部门输出----------------------- 2"<<endl;
cout<<" 按职工学历输出----------------------- 3"<<endl;
cout<<" 按职工年龄输出----------------------- 4"<<endl;
cout<<" 按职工编号输出----------------------- 5"<<endl;
cout<<""<<endl;
cin>>choice1;
switch(choice1)
{
case 1: showall();break;
case 2: cout<<"请输入要查询职工的部门编号: [1:董事会 2:市场部 3:公关部 4:客服中心 5:信息中心] " ;
cin>>choice2;
eshowdepart(choice2);break;
case 3: cout<<"请输入要查询职工的学历编号: [1:初中 2:高中 3:本科 4:硕士 5:博士] ";
cin>>choice2;
eshowdegree(choice2);break;
case 4: cout<<"请输入要查询的年龄范围: ";
cout<<"最小值: ";
cin>>min;
cout<<"最大值: ";
cin>>max;
eshowage(min,max);break;
case 5: cout<<"请输入要查询的员工号: ";
cin>>searchnum;
eshownum(searchnum);break;
default: cout<<"出错啦! "<<endl;break;
}
}
void Employee::showall() //全体员工输出函数
{ int i;
long number;
for(i=0;i<Employee::MaxNum();i++)
{
number = Enum[i];
shownum(number);
}
}
void Employee::showdepart(int depart) //按员工所在部门输出函数
{
int i;
switch(depart)
{
case 1: cout<<"董事会的成员有: >"<<endl; break;
case 2: cout<<"市场部的成员有: >"<<endl; break;
case 3: cout<<"公关部的成员有: >"<<endl; break;
case 4: cout<<"客服中心成员有: >"<<endl; break;
case 5: cout<<"信息中心成员有: >"<<endl; break;
default: cout<<"输入错误!>"<<endl; break;
}
for(i=0;i<Employee::MaxNum();i++)
{
if(Edepart[i] == depart)
{
long number = Enum[i];
shownum(number);
} else continue;
}
}
void Employee::showdegree(int degree) //按员工学历输出函数
{
int i;
switch(degree)
{
case 1:cout<<"初中学历的员工有:"<<endl;break;
case 2:cout<<"高中学历的员工有:"<<endl;break;
case 3:cout<<"本科学历的员工有:"<<endl;break;
case 4:cout<<"硕士学位的员工有:"<<endl;break;
case 5:cout<<"博士学位的员工有:"<<endl;break;
}
for(i=0;i<Employee::MaxNum();i++)
{
if(Edegree[i] == degree)
{
long number = Enum[i];
shownum(number);
} else continue;
}
}
void Employee::showage(int min,int max) //按员工年龄段输出函数
{
int i;
for(i=0;i<Employee::MaxNum();i++)
{
if(Eage[i]>=min&&Eage[i]<=max)
{
long number = Enum[i];
shownum(number);
}
else continue;
}
}
void Employee::shownum(long number) //按员工编号输出函数
{
int i;
for(i=0;i<Employee::MaxNum();i++)
{
if(Enum[i] == number)
{
cout<<""<<endl;
cout<<"员工编号 >"<<Enum[i]<<endl;
cout<<"姓 名 >"<<Ename[i]<<endl;
cout<<"性 别 >";
if(Esex[i]=='F') cout<<"女 "<<endl;
else if(Esex[i]=='M') cout<<"男 "<<endl;
cout<<"年 龄 >"<<Eage[i]<<"岁"<<endl;
cout<<"婚姻情况 >";
if(Emarriage[i]=='Y') cout<<"已婚 "<<endl;
else if(Emarriage[i]=='N') cout<<"未婚 "<<endl;
cout<<"学 历 >";
switch (Edegree[i])
{
case 1:cout<<"初 中 "<<endl;break;
case 2:cout<<"高 中 "<<endl;break;
case 3:cout<<"本 科 "<<endl;break;
case 4:cout<<"硕 士 "<<endl;break;
case 5:cout<<"博 士 "<<endl;break;
}
cout<<"所在部门 >";
switch (Edepart[i])
{
case 1:cout<<"董事会 "<<endl;break;
case 2:cout<<"市场部 "<<endl;break;
case 3:cout<<"公关部 "<<endl;break;
case 4:cout<<"客服中心 "<<endl;break;
case 5:cout<<"信息中心 "<<endl;break;
}
cout<<"所任职务 >";
switch (Eposition[i])
{
case 1:cout<<"临时成员 "<<endl;break;
case 2:cout<<"正式员工 "<<endl;break;
case 3:cout<<"主任 "<<endl;break;
case 4:cout<<"部门经理 "<<endl;break;
case 5:cout<<"董事长 "<<endl;break;
}
cout<<"工作时长 >"<<Eworktime[i]<<"小时"<<endl;
cout<<"额定工资 >"<<Epay[i]<<"元"<<endl;
cout<<""<<endl;
}
else continue;
}
}
void Employee::RefreshInfo() //修改员工信息的函数
{
int cNum = 1000;
DBOperate dbo;
dboReadOut();
void Employee::shownum(long number);
cout<<"请输入您要修改的员工编号: >";
cin>>cNum;
int MN;
MN = Employee::MaxNum();
for(int i=0;i<MN;i++) //遍历数据文件,查找要修改的员工数据
{
if(Enum[i] == cNum)
{
Employee::shownum(cNum);
cout<<"请输入该员工的新信息: "<<endl;
cout<<"新员工姓名: "; //录入员工的新的数据,员工号保持不变
cin>>Employee::Employeename;
Ename[i] = Employee::Employeename;
cout<<"新员工性别: [F为女性,M为男性]: ";
cin>>Employee::Employeesex;
Esex[i] = Employee::Employeesex;
cout<<"新员工年龄: ";
cin>>Employee::Employeeage;
Eage[i] = Employee::Employeeage;
cout<<"新员工婚姻状况(Y为已婚,N为未婚): ";
cin>>Employee::Employeemarriage;
Emarriage[i] = Employee::Employeemarriage;
cout<<"新员工学历,请输入相应学历的序号:"<<endl;
cout<<" [1:初中 2:高中 3:本科 4:硕士 5:博士] ";
cin>>Employee::Employeedegree;
while(Employee::Employeedegree !=1&&Employee::Employeedegree !=2&&Employee::Employeedegree !=3&&Employee::Employeedegree !=4&&Employee::Employeedegree !=5)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<" [1:初中 2:高中 3:本科 4:硕士 5:博士] ";
cin>>Employee::Employeedegree;
}
Edegree[i] = Employee::Employeedegree;
cout<<"新员工所在部门,请输入相应部门的序号: "<<endl;
cout<<" [1:董事会 2:市场部 3:公关部 4:客服中心 5:信息中心] ";
cin>>Employee::Employeedepart;
while(Employee::Employeedepart !=1&&Employee::Employeedepart !=2&&Employee::Employeedepart !=3&&Employee::Employeedepart !=4&&Employee::Employeedepart!=5)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<" [1:董事会 2:市场部 3:公关部 4:客服中心 5:信息中心] ";
cin>>Employee::Employeedepart;
}
Edepart[i] = Employee::Employeedepart;
cout<<"新员工职位,请输入相应职位的序号:"<<endl;
cout<<" [1:临时职员 2: 正式职员 3:主任 4:部门经理 5:董事长] ";
cin>>Employee::Employeeposition;
while(Employee::Employeeposition !=1&&Employee::Employeeposition !=2&&Employee::Employeeposition !=3&&Employee::Employeeposition !=4&&Employee::Employeeposition !=5)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<" [1:临时职员 2: 正式职员 3:主任 4:部门经理 5:董事长] ";
cin>>Employee::Employeeposition;
}
Eposition[i] = Employee::Employeeposition;
cout<<"新员工的工作时 (不需要输入单位): ";
cin>>Employee::Employeeworktime;
Eworktime[i] = Employee::Employeeworktime;
Epay[i] = Employee::Pay(Employee::Employeeposition);
break;
}
}
dboWriteIn(0);
}
void Employee::DeleteInfo() //删除员工数据的函数
{ char tmp;
int cNum = 1000;
DBOperate dbo;
dboReadOut();
void Employee::shownum(long number);
cout<<"请输入您要修改的员工编号>: ";
cin>>cNum;
int MN;
MN = Employee::MaxNum();
for(int i=0;i<MN;i++) //遍历数据文件,查找要删除的员工
{
if(Enum[i] == cNum)
Employee::shownum(cNum);
}
cout<<"确认要删除该员工信息?(Y为确认 N为放弃): ";
cin>>tmp;
if(tmp=='Y')
{
if(i==MN-1)
dboWriteIn(-1);
else
{
for(int j=i;j<MN-1;j++)
{ Enum[j] = Enum[j+1]; }
dboWriteIn(-1);
}
cout<<" 删除 *** 作成功 ! "<<endl;
}
}
float Employee::Pay(int Employeeposition) //根据员工职位计算工资的函数
{
float tmpPay;
tmpPay = Employee::EmployeeBasePay + Employee::Employeeposition Employee::EmployeeBasePay;
return tmpPay;
}
void DBOperate::WriteIn(int iflag) //数据 *** 作函数 写入
{
DBOperate::RefreshMaxNum(iflag);
ofstream myf("Employeetxt");
Employee e;
int MN;
MN = eMaxNum();
for(int i=0;i<MN;i++)
{
myf<<Enum[i]<<'\n'<<Ename[i]<<'\n'<<Esex[i]<<'\n'<<Eage[i]<<'\n'<<Emarriage[i]<<'\n'<<Edegree[i]<<'\n'<<Edepart[i]<<'\n'<<Eposition[i]<<'\n'<<Eworktime[i]<<'\n'<<Epay[i]<<'\n';
}
myfclose();
return;
}
void DBOperate::ReadOut() //数据 *** 作函数 读出
{
ifstream myf("Employeetxt");
Employee e;
int MN;
MN = eMaxNum();
for(int i=0 ;i<MN;i++)
{
myf>>DBOperate::Employeenum>>DBOperate::Employeename>>DBOperate::Employeesex>>DBOperate::Employeeage>>DBOperate::Employeemarriage
>>DBOperate::Employeedegree>>DBOperate::Employeedepart>>DBOperate::Employeeposition>>DBOperate::Employeeworktime>>DBOperate::Employeepay;
Enum[i] = DBOperate::Employeenum;
Ename[i] = DBOperate::Employeename;
Esex[i] = DBOperate::Employeesex;
Eage[i] = DBOperate::Employeeage;
Emarriage[i] = DBOperate::Employeemarriage;
Edegree[i] = DBOperate::Employeedegree;
Edepart[i] = DBOperate::Employeedepart;
Eposition[i] = DBOperate::Employeeposition;
Eworktime[i] = DBOperate::Employeeworktime;
Epay[i] = DBOperate::Employeepay;
}
myfclose();
}
void DBOperate::RefreshMaxNum(int iflag) //更新系统中员工计数文件的函数
{
int MaxNum = 0;
ifstream myif("EmployeeMaxNumtxt");
myif>>MaxNum;
myifclose();
MaxNum = MaxNum+iflag;
ofstream myof("EmployeeMaxNumtxt");
myof<<MaxNum;
myofclose();
}
int main() //主函数
{
system("color 06f"); //设置当前窗口的背景色和前景色 0 = 黑色 8 = 灰色
// 1 = 蓝色 9 = 淡蓝色
// 2 = 绿色 A = 淡绿色
// 3 = 浅绿色 B = 淡浅绿色
// 4 = 红色 C = 淡红色
// 5 = 紫色 D = 淡紫色
// 6 = ** E = 淡**
// 7 = 白色 F = 亮白色
int select = 0;
while(select!=5)
{
cout<<" ╭————————————《主菜单》———————————╮"<<endl;
cout<<" ∣ 请选择功能 ∣"<<endl;
cout<<" ├————————————————————————————┤"<<endl;
cout<<" ∣ 1新建并输入职工数据 ∣"<<endl;
cout<<" ∣ 2按条件输出职工数据 ∣"<<endl;
cout<<" ∣ 3修改指定职工的数据 ∣"<<endl;
cout<<" ∣ 4删除数据 ∣"<<endl;
cout<<" ∣ 5退出 ∣"<<endl;
cout<<" ╰————————————————————————————╯"<<endl;
cout<<" ——————————————————————————————"<<endl;
cout<<" 请选择您要服务的类别: " ;
cin>>select;
Employee e;
DBOperate dbo;
switch(select)
{
case 1:
eNewInfo(); break;
case 2:
dboReadOut();
eShowInfo(); break;
case 3:
eRefreshInfo(); break;
case 4:
eDeleteInfo(); break;
case 5: break;
default:
cout<<"命令错误!"<<endl;
}
if(select == 5)
break;
}
exit(1);
return 0;
}
企业员工信息系统业务流程图
相关延伸:
①员工考勤管理业务流图
②员工工资管理业务流图
③人员变动查询业务流程图
//---------------------------------------
#include <iostream>
#include <string>
using std::string;
//---------------------------------------
static int SerialNumber = 1000; // 人员编号基数:1000
//---------------------------------------
class Employee
{
private:
Employee();
string name; // 姓名
int serial; // 工号
int level; // 级别
float salary; // 薪水
public:
Employee(const string sName)
{
name = sName;
serial = SerialNumber + 1;
level = 1;
}
void setSerial(int iSerial)// 设置人员编号
{
serial = iSerial;
}
void setLevel(int iLevel) // 设置人员级别
{
level = iLevel;
}
void setPay(float iPay) // 设置人员薪水
{
salary = iPay;
}
float printPay()
{
std::cout << "员工:" << name << ", 本月薪水:" << salary << std::endl;
}
};
//---------------------------------------
class PartTime : public Employee
{
private :
float wage;
float hours;
public :
PartTime(const string sName)
: Employee(sName)
{
wage = 1000; // 兼职人员的小时薪金
hours = 80 22; // 兼职人员缺省每月工作小时数
}
void setWage(float wg)
{
wage = wg;
}
void setHours(float hrs)
{
hours = hrs;
}
float computePay()
{
setPay(wage hours);
}
};
//---------------------------------------
class Salesman : public Employee
{
private:
Salesman();
float comm;
float sale;
public:
Salesman(const sting sName) : Employee(sName)
{
comm = 500;
sale = 00;
}
void setCommission(float fComm)
{
comm = fComm;
}
void setSales(float fSale)
{
sale = fSale;
}
float computePay()
{
setPay(comm 004);
}
};
//---------------------------------------
class Manager : public Employee
{
private :
Manager();
public :
Manager(const string sName)
: Employee(sName)
{
}
void computePay(float fSalary)
{
setPay(80000 + fSalary);
}
};
//---------------------------------------
class SaleManager : public Employee
{
private :
SaleManager();
float basicsalary;
float saleroom;
public :
SaleManager(const string sName) : Employee(sName)
{
basicsalary = 50000;
}
void setSaleroom(float fSaleroom)
{
saleroom = fSaleroom;
}
float computePay()
{
setPay(basicsalary + saleroom 0005);
}
};
//---------------------------------------
int main(int argc, char argv[])
{
Manager aManager("经理");
SaleManager aSaleManager("销售经理");
PartTime aPartTime("兼职技术人员");
Salesman aSales("兼职推销员");
aManagercomputePay();
aSaleManagercomputePay();
aPartTimecomputePay();
aSalescomputePay();
return 0;
}
以上就是关于员工管理系统需要实现哪些功能全部的内容,包括:员工管理系统需要实现哪些功能、员工信息管理系统的系统简介、java程序为什么无法实现删除功能,这是员工管理系统的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)