您当前的位置:首页 > 发表论文>论文发表

职工信息管理系统论文

2023-12-06 11:11 来源:学术参考网 作者:未知

职工信息管理系统论文

#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;
myf.open("EmployeeMaxNum.txt");
myf>>MN;
cout<<MN<<endl;
myf.close();
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;
dbo.ReadOut();

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;

dbo.WriteIn(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;
e.showdepart(choice2);break;
case 3: cout<<"请输入要查询职工的学历编号: [1:初中 2:高中 3:本科 4:硕士 5:博士] ";
cin>>choice2;
e.showdegree(choice2);break;
case 4: cout<<"请输入要查询的年龄范围: ";
cout<<"最小值: ";
cin>>min;
cout<<"最大值: ";
cin>>max;
e.showage(min,max);break;
case 5: cout<<"请输入要查询的员工号: ";
cin>>searchnum;
e.shownum(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;
dbo.ReadOut();
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;
}
}

dbo.WriteIn(0);
}

void Employee::DeleteInfo() //删除员工数据的函数
{ char tmp;
int cNum = 1000;
DBOperate dbo;
dbo.ReadOut();
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)
dbo.WriteIn(-1);
else
{
for(int j=i;j<MN-1;j++)
{ Enum[j] = Enum[j+1]; }
dbo.WriteIn(-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("Employee.txt");
Employee e;
int MN;
MN = e.MaxNum();
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';
}
myf.close();
return;
}

void DBOperate::ReadOut() //数据操作函数 读出
{
ifstream myf("Employee.txt");

Employee e;
int MN;
MN = e.MaxNum();
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;
}
myf.close();
}

void DBOperate::RefreshMaxNum(int iflag) //更新系统中员工计数文件的函数
{
int MaxNum = 0;
ifstream myif("EmployeeMaxNum.txt");
myif>>MaxNum;
myif.close();
MaxNum = MaxNum+iflag;
ofstream myof("EmployeeMaxNum.txt");
myof<<MaxNum;
myof.close();
}

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:
e.NewInfo(); break;
case 2:
dbo.ReadOut();
e.ShowInfo(); break;
case 3:
e.RefreshInfo(); break;
case 4:
e.DeleteInfo(); break;
case 5: break;
default:
cout<<"命令错误!"<<endl;
}

if(select == 5)
break;
}

exit(1);
return 0;
}
这个是以前有过的例子,你按照这个修改一下,希望对你会有帮助.

急求C语言程序设计论文有一个 职工信息管理系统设计

#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;
myf.open("EmployeeMaxNum.txt");
myf>>MN;
cout<<MN<<endl;
myf.close();
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;
dbo.ReadOut();

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;

dbo.WriteIn(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;
e.showdepart(choice2);break;
case 3: cout<<"请输入要查询职工的学历编号: [1:初中 2:高中 3:本科 4:硕士 5:博士] ";
cin>>choice2;
e.showdegree(choice2);break;
case 4: cout<<"请输入要查询的年龄范围: ";
cout<<"最小值: ";
cin>>min;
cout<<"最大值: ";
cin>>max;
e.showage(min,max);break;
case 5: cout<<"请输入要查询的员工号: ";
cin>>searchnum;
e.shownum(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;
dbo.ReadOut();
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;
}
}

dbo.WriteIn(0);
}

void Employee::DeleteInfo() //删除员工数据的函数
{ char tmp;
int cNum = 1000;
DBOperate dbo;
dbo.ReadOut();
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)
dbo.WriteIn(-1);
else
{
for(int j=i;j<MN-1;j++)
{ Enum[j] = Enum[j+1]; }
dbo.WriteIn(-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("Employee.txt");
Employee e;
int MN;
MN = e.MaxNum();
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';
}
myf.close();
return;
}

void DBOperate::ReadOut() //数据操作函数 读出
{
ifstream myf("Employee.txt");

Employee e;
int MN;
MN = e.MaxNum();
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;
}
myf.close();
}

void DBOperate::RefreshMaxNum(int iflag) //更新系统中员工计数文件的函数
{
int MaxNum = 0;
ifstream myif("EmployeeMaxNum.txt");
myif>>MaxNum;
myif.close();
MaxNum = MaxNum+iflag;
ofstream myof("EmployeeMaxNum.txt");
myof<<MaxNum;
myof.close();
}

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:
e.NewInfo(); break;
case 2:
dbo.ReadOut();
e.ShowInfo(); break;
case 3:
e.RefreshInfo(); break;
case 4:
e.DeleteInfo(); break;
case 5: break;
default:
cout<<"命令错误!"<<endl;
}

if(select == 5)
break;
}

exit(1);
return 0;
}

基于B/S架构的人事管理系统 毕业论文


我当时做的是一个网站,弄个主页再弄几个副页,主要是弄的漂亮一点,在找个懂asp的同学给弄个留言板。网站上的内容丰富点,素材漂亮点就差不多。
当时我们辅导员给我们要求的不是很高,很容易就过去了。
不知道你们的怎么样,当时我好多同学也是很多做 图书馆管理系统,学籍管理系统,餐饮管理系统 ,他们的辅导员要求他们的管理系统能做到 添加--删除--查找--提示 就差不多了。也是把布局弄的合理,漂亮(找会插图或能把界面用图片代替的朋友帮忙弄一下,请人家吃顿饭!)

祝你毕业论文顺利完成!

你们计科系网站上应该有题目找个自己拿手的做,下面是我们当时的题目:

1--住宅小区智能化物业管理系统总体设计-
2--网上测评系统的设计-
3--基于web网站的综合考评系统的设计-
4--基于web网站的考试系统设计-
5--网上教育资源库系统的设计-
6--浅谈网络协议的选用对网络性能的影响-
7--高校校园网信息管理平台研制-
8--实验室管理信息系统设计与实现-
9--基于互联网的学习课件的研制-
10--基于环联网的辅导答疑系统研制-
11--智能网络入侵检测技术初步研究-
12--电子政府信息处理总体实现架构研究-
13--企业管理信息系统设计与实现-
14--人事管理信息系统设计与实现-
15--学生信息管理系统设计与实现-
16--职工信息系统设计与实现-
17--职工工资管理系统设计与实现-
18--客房管理系统设计与实现-
19--中学考试管理信息系统设计与实现-
20--自学考试管理系统设计与实现-
21--超市管理系统设计与实现-
22--考试管理系统-
23--考务管理信息系统-
24--高校数学试题库-
25--拓扑排序算法的改进(给出AOV网的所有拓扑有序序列)-
26--哈希函数构造方法研究-
27--试卷自动生成系统设计-
28--自动检测系统设计-
29--教学中常见表现手法在AW平台上的实现-
30--教学中常见表现手法在PPT平台上的实现-
31--多媒体课件制作中的跨平台操作-
32--个人网络设计-
33--单片机时间控制器开发-
34--单片机通用数据采集和处理系统-
35--数据库系统开发-
36--网页制作-
37--网络数据库开发-
38--试题库软件设计-
39--图书馆管理系统-
40--学籍管理系统--
41--基于教学型软件的设计与实现-
42--基于练习型交互软件的设计与实现-
43--基于游戏型学习软件的设计与实
44--VC实现windows文件管理-
45--单片机与微机通信-
46--单片机与红外技术-
47--电子阅览室收费系统-
48--用户登陆与权限管理子系统-
49--网络环境中的数据共享问题的分析与对策-
50--Unix与Windows NT网络互联技术-
51--单片机控制的CO2焊机的设计(mcs-51系列)-
52--单片机控制的点焊控制器设计(mcs-51系列)-
53--利用网络实现互动功能
54--利用网络实现管理功能
56--如何防止IP地址盗用-
57--局域网主干网络的选型-
58--动态网站设计-
59--企业物流管理-
60--药品管理-
61--单片机遥控技术-
62--单片机与通讯-
63--家用电器与单片控制-
64--计算机教育教学探讨-
65--计算机硬件技术理解与应用-
66--计算机辅助教学理论与实践-
1 SMART芯片仿真器系统设计
2 程序执行结果模拟器
3 计算机硬件检测系统
4 图象处理软件
5 ITS信息平台的设计与分析
6 基于B/S的职工信息管理系统
7 iButton及其应用
8 工作备忘录的设计与实现
9 基于MATLAB数据仿真
10 基于Delphi的数据通信系统
11 **中学籍管理软件
12 动态网站制作
13 数据库信息管理系统
14 网站视频点播
15 24点游戏
16 趣味绘图
17 聊天程序
18 小学算术加减法教学软件设计
19 个人网页设计与友情连接
20 图像处理软件包
21 学生英语试题题库及判分系统软件设计
22 家庭理财管理信息系统设计
23 人事信息管理系统设计
24 计量管理信息系统
25 字符智能识别方法研究
25 基于图像分析的公路路面破损统计系统企业信息管理系统
27 VB数据采集系统设计
28 VC数据采集系统设计
29 虚拟仪器数据采集系统设计
30 光栅位移传感器原理图制作及仿真
31 网络搜索引擎性能分析系统模型及设计
32 基于短信的智能导行系统模型及设计
34 远程异步视频授课系统研究
35 规划设计中图形处理技术
36 计算机图形学在装饰设计中的应用
37 公路工程试验数据处理与分析(VB与Matlab)
38 城市信号交叉口禁左仿真
39 随机仿真模型
40 高等级公路新线中线坐标放样CAE
41 **大学上下水地下管网地理信息系统设计
42 油田测井数据绘图软件开发
42 企业管理系统
43 "**"课程的网络教学系统设计与开发
44 "**"课程试题库的设计
45 地球物理数据反演系统中的图形处理
46 电子教案中电路图的绘制方法研究
47 .NET实现Internet消息平台
48 远程打印及计费管理系统
49 机房无人值守系统
50 高速公路路网描述仿真模型构建
51 基于XML的数据交换在分布式WEB系统中的应用
52 基于关系数据库的OLAP研究
53 等值线自动生成方法及程序实现
54 基于LDAP的语音服务(IP电话)中心研究
55 人工智能多媒体教学软件
56 BUG系统的设计
57 教学管理系统
58 虚拟现实技术应用研究
60 客户管理系统
61 基于Web的教学系统设计与实现
62 信息工程学院资料室信息管理系统
63 基于网络的教材管理系统
64 石油工业仪器仪表质量监督检验中心网站设计
65 非线性流水线调度算法动态演示程序设计
66 存储体系地址映象及替换算法动态演示程序设计
67 医院药房管理系统
68 门诊划价收费系统
69 公交公司人事管理系统
70 固定资产管理系统
71 网上图书馆(在线浏览及在线查询)
72 工资计算系统
73 网上超市(电子商务网站的建设)
74 客户关系管理系统
75 旅游资源研发网的开发与设计
76 《****》试题库的设计
77 餐饮娱乐管理系统的开发与设计
78 文语转换系统
79 远程数据服务平台(网站设计,数据管理系统)
80 室外环境检测模拟平台(下分:控制台软件设计,网络传输程序,监测软件设计,硬件电路设计4个子题目)
81 图像识别技术(计算特定物体的个数,图像检索技术)
82 图像检索系统设计与开发
83 视频会议系统设计与开发
84 多媒体毕业纪念册及播放系统设计开发
85 网络媒体播放器设计与实现
86 《数据结沟》算法的动态演示
87 基于B/S结构的毕业设计题目管理系统
88 **大学计算机应用研究所网站
89 客户管理系统
90 设备管理系统
91 实验室管理系统
92 《多媒体软件设计技术》课程CAI的开发
93 新闻网页自动生成系统的开发
94 网站开发
95 电子白板的设计与实现
96 蚁群算法在动态TSP问题种的应用研究
97 基于Web的异步按需点播学习系统
98 多媒体同步实时授课系统中应用程序共享研究
99 协作编辑系统
100 基于web的远程测控制系统研究
101 基于B/S模式文献检索系统的设计与开发
102 在线课题项目选题系统的设计及实现
103 学生档案信息管理系统的开发
104 在线图书馆信息管理系统的设计及实现
105 浏览器过滤软件实现
106 基于局域网的IP数据包监控软件实现
107 WDM设备驱动程序开发-键盘过滤器
108 WDM设备驱动程序开发-鼠标过滤器
109 基于OpengGL的虚拟场景漫游软件设计
110 城市公交查询系统
111 J2EE框架的构建(Weblogic+JBuilder)
112 BrokerTool Project (C/S 结构)
113 多媒体开发与应用(Java2D,Java3D,JMF,Java图形制作与动画设计)
114 计算机辅修远程教学系统设计与实现
115 《操作系统》典型算法实现
116 "***"网站设计与实现
117 门禁管理系统实现
118 计算机系网站设计及建设
119 基于Internet的网络教学系统
120 视频点播系统
121 基于Internet的车辆管理、调度系统
122 武装工作管理系统
123 门禁式网络机房计费系统
124 成人教育学生档案及成绩管理系统
125 汽车综合性能工位测控系统设计与软件实现
126 汽车制动性能虚拟检测仪器设计与软件实现
127 基于LAN的汽车性能微机检测系统
128 汽车制动信号数字滤波及曲线拟合优化方法研究
129 动态存储器的刷新
130 电磁机构的计算机设计
131 服务器端安全监控软件的设计
132 校园网络地址管理模型的设计与实现

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页