c++职工管理系统
#include<iostream>
#include<string>
#define N 1000 //最多录入的职工人数
using namespace std;
string p; //选择是否返回主菜单的变量
//定义职工信息类
class Amployee {
public:
Amployee() {} //构造函数
void show(); //职工信息显示
~Amployee() {} //析构函数
friend class Amployee_List; //友元
private:
int ID; //定义职工号
char Name[20]; //定义职工姓名
string Sex; //定义职工性别
int Age; //定义职工年龄
string Education; //定义职工学历
float Wage; //定义职工工资
char Address[30]; //定义职工住址
int Telephone; //定义职工电话
};
//定义数组、函数类
class Amployee_List {
private:
Amployee Amplo[N]; //把职工定义成数组形式
int NUM; //用来计录职工数目
int n; //用来暂时记录当前操作第几个职工
public:
void add(); //录入职工信息
void find(); //查询职工信息
void deleate(); //删除职工信息
void change(); //修改职工信息
void save_file(); //以文件形式保存职工信息
void Show_Amployee(); //把职工信息显示在屏幕上
Amployee_List() {
NUM=0;
n=0;
}
};
//系统功能菜单
void menu() {
system ("color 30");
cout<<"\n";
cout<<" 欢迎使用公司职工信息管理软件\n"<<endl;
cout<<" ----------------------------"<<endl;
cout<<" -------1.录入职工信息-------"<<endl;
cout<<" -------2.修改职工信息-------"<<endl;
cout<<" -------3.删除职工信息-------"<<endl;
cout<<" -------4.查询职工信息-------"<<endl;
cout<<" -------5.浏览职工信息-------"<<endl;
cout<<" ---------6.退出系统---------"<<endl;
cout<<" ----------------------------"<<endl;
}
//主菜单
void main_menu() {
Amployee_List s;
int a;
while(1) {
menu();
cout<<"请选择功能编号1~6"<<endl;
cin>>a;
if(a<1||a>7) {
cout<<"输入错误,请选择有效指令1~6!"<<endl;
cin>>a;
}
switch(a) {
case 1:
s.add();
break;
case 2:
s.change();
break;
case 3:
s.deleate();
break;
case 4:
s.find();
break;
case 5:
s.Show_Amployee();
break;
case 6:
system ("color 8F");
cout<<"谢谢使用公司职工信息管理软件!"<<endl;
exit(0);
default:
break;
}
cout<<"是否返回主菜单 Y/N"<<endl;
cin>>p;
if(p=="n"||p=="N") {
cout<<"系统退出!!"<<endl;
exit(0);
}
}
}
//录入职工信息
void Amployee_List::add() {
system ("color B0");
int id;
cout<<"请输入职工信息:"<<endl;
cout<<"请输入职工号:";
cin>>id;
for(int i=0; i<NUM; i++)
while(id==Amplo[i].ID) { //判断是否有重复的职工号
cout<<"此职工号已存在,请重新输入:"<<endl;
cout<<"请输入职工号:";
cin>>id;
}
Amplo[NUM].ID=id;
cout<<"请输入职工姓名:";
cin>>Amplo[NUM].Name;
cout<<"请输入职工性别:";
cin>>Amplo[NUM].Sex;
cout<<"请输入职工年龄:";
cin>>Amplo[NUM].Age;
cout<<"请输入职工学历:";
cin>>Amplo[NUM].Education;
cout<<"请输入职工工资:";
cin>>Amplo[NUM].Wage;
cout<<"请输入职工地址:";
cin>>Amplo[NUM].Address;
cout<<"请输入职工电话:";
cin>>Amplo[NUM].Telephone;
++NUM;
n=NUM;
}
//修改职工信息
void Amployee_List::change() {
system ("color EC");
if(NUM<=0) {
cout<<"没有录入职工信息,系统将返回主菜单,请先录入!"<<endl;
menu();
}
cout<<"请输入需要修改信息职工的职工号:"<<endl;
int id;
cin>>id;
int j,k,f=1;
while(f) {
for(j=0; j<n; j++) {
if(id==Amplo[j].ID) {
f=0;
k=j;
break;
}
}
if(f) {
cout<<"此职工信息不存在,请重新输入:"<<endl;
j=0;
cin>>id;
}
}
cout<<"选择修改的职工原信息为:"<<endl;
cout<<"\n";
cout<<"职工号:"<<Amplo[k].ID<<endl;
cout<<"姓名:"<<Amplo[k].Name<<endl;
cout<<"年龄:"<<Amplo[k].Age<<endl;
cout<<"性别:"<<Amplo[k].Sex<<endl;
cout<<"学历:"<<Amplo[k].Education<<endl;
cout<<"工资:"<<Amplo[k].Wage<<endl;
cout<<"地址:"<<Amplo[k].Address<<endl;
cout<<"电话:"<<Amplo[k].Telephone<<endl;
cout<<endl;
cout<<"***********************"<<endl;
cout<<"1.修改职工号"<<endl;
cout<<"2.修改职工姓名"<<endl;
cout<<"3.修改职工性别"<<endl;
cout<<"4.修改职工年龄"<<endl;
cout<<"5.修改职工学历"<<endl;
cout<<"6.修改职工工资"<<endl;
cout<<"7.修改职工地址"<<endl;
cout<<"8.修改职工电话"<<endl;
cout<<"9.返回主菜单"<<endl;
cout<<"**********************"<<endl;
cout<<endl;
cout<<"请选择功能前的编号1~9"<<endl;
int b;
cin>>b;
while(b<1||b>9) {
cout<<"输入有误,请重新输入:"<<endl;
cin>>b;
}
switch(b) {
case 1: {
cout<<"请重新输入职工号:";
cin>>Amplo[k].ID;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 2: {
cout<<"请重新输入职工姓名:";
cin>>Amplo[k].Name;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 3: {
cout<<"请重新输入职工性别:";
cin>>Amplo[k].Sex;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 4: {
cout<<"请重新输入职工年龄:";
cin>>Amplo[k].Age;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 5: {
cout<<"请重新输入职工学历:";
cin>>Amplo[k].Education;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 6: {
cout<<"请重新输入职工工资:";
cin>>Amplo[k].Wage;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 7: {
cout<<"请重新输入工地址:";
cin>>Amplo[k].Address;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 8: {
cout<<"请重新输入职工电话:";
cin>>Amplo[k].Telephone;
cout<<"修改信息已保存,现返回主菜单:"<<endl;
menu();
break;
}
case 9:
menu();
default:
break;
}
}
//删除职工信息函数
void Amployee_List::deleate() {
system ("color DF");
int id;
if(NUM<=0) {
cout<<"没有录入职工信息,系统将返回主菜单,请先录入!"<<endl;
menu();
}
cout<<"请输入需要删除信息职工的职工号:"<<endl;
cin>>id;
int j,k,f=1;
while(f) {
for(j=0; j<n; j++) {
if(id==Amplo[j].ID) {
f=0;
k=j;
break;
}
}
if(f) {
cout<<"无此员工信息,请重新输入:"<<endl;
j=0;
cin>>id;
}
}
cout<<"将要删除的职工信息为:"<<endl;
cout<<"\n";
cout<<"职工号:"<<Amplo[k].ID<<endl;
cout<<"职工姓名:"<<Amplo[k].Name<<endl;
cout<<"职工性别:"<<Amplo[k].Sex<<endl;
cout<<"职工年龄:"<<Amplo[k].Age<<endl;
cout<<"职工学历:"<<Amplo[k].Education<<endl;
cout<<"职工工资:"<<Amplo[k].Wage<<endl;
cout<<"职工地址:"<<Amplo[k].Address<<endl;
cout<<"职工电话:"<<Amplo[k].Telephone<<endl;
cout<<endl;
cout<<"确认删除请输入Y,返回主菜单请输入N "<<endl;
cin>>p;
while(1) {
if(p=="y"||p=="Y") {
cout<<"员工信息已删除!"<<endl;
for(int i=0; i<n; i++)
if(Amplo[i].ID==id)
for(j=i; j<=n-1; j++)
Amplo[j]=Amplo[j+1];
n--;
break;
} else if(p=="n"||p=="N") {
menu();
break;
} else {
cout<<"输入有误,请重新输入:Y或者N:";
cin>>p;
}
}
}
//查询职工信息函数
void Amployee_List::find() {
system ("color F2");
int c;
if(NUM<=0) {
cout<<"没有录入职工信息,系统将返回主菜单,请先录入!"<<endl;
menu();
} else
cout<<"-----------------"<<endl;
cout<<"请选择查询方式:"<<endl;
cout<<"1.按职工号查询"<<endl;
cout<<"2.按职工姓名查询"<<endl;
cout<<"3.按职工学历查询"<<endl;
cout<<"4.返回主菜单"<<endl;
cout<<"-----------------"<<endl;
cout<<endl;
cout<<"请选择查询方式:1~4"<<endl;
cin>>c;
while(c<1||c>4) {
cout<<"输入有误,请重新输入:"<<endl;
cin>>c;
}
if(c==1) {
int id;
cout<<"请输入要查询的职工的工号:"<<endl;
cin>>id;
int j1,k1,f1=1;
while(f1) {
for(j1=0; j1<n; j1++) {
if(id==Amplo[j1].ID) {
f1=0;
k1=j1;
cout<<"查询的职工信息如下:"<<endl;
cout<<"职工号:"<<Amplo[k1].ID<<endl;
cout<<"职工姓名:"<<Amplo[k1].Name<<endl;
cout<<"职工性别:"<<Amplo[k1].Sex<<endl;
cout<<"职工年龄:"<<Amplo[k1].Age<<endl;
cout<<"职工学历:"<<Amplo[k1].Education<<endl;
cout<<"职工工资:"<<Amplo[k1].Wage<<endl;
cout<<"职工地址:"<<Amplo[k1].Address<<endl;
cout<<"职工电话:"<<Amplo[k1].Telephone<<endl;
break;
}
}
if(f1) {
f1=0;
cout<<"该公司不存在此职工的信息!!\n返回主菜单"<<endl;
break;
}
}
} else if(c==2) {
char name[20];
cout<<"请输入要查询的职工的姓名:"<<endl;
cin>>name;
int j2,k2,f2=1;
while(f2) {
for(j2=0; j2<n; j2++) {
if(name==Amplo[j2].Name) {
f2=0;
k2=j2;
cout<<"查询的职工信息如下:"<<endl;
cout<<"职工号:"<<Amplo[k2].ID<<endl;
cout<<"职工姓名:"<<Amplo[k2].Name<<endl;
cout<<"职工性别:"<<Amplo[k2].Sex<<endl;
cout<<"职工年龄:"<<Amplo[k2].Age<<endl;
cout<<"职工学历:"<<Amplo[k2].Education<<endl;
cout<<"职工工资:"<<Amplo[k2].Wage<<endl;
cout<<"职工地址:"<<Amplo[k2].Address<<endl;
cout<<"职工电话:"<<Amplo[k2].Telephone<<endl;
break;
}
}
if(f2) {
f2=0;
cout<<"该公司不存在此职工的信息!!\n返回主菜单"<<endl;
break;
}
}
} else if(c==3) {
string edu;
cout<<"请输入要查询的职工的学历:"<<endl;
cin>>edu;
int j3,k3,f3=1;
while(f3) {
for(j3=0; j3<n; j3++) {
if(edu==Amplo[j3].Education) {
f3=0;
k3=j3;
cout<<"查询的职工信息如下:"<<endl;
cout<<"职工号:"<<Amplo[k3].ID<<endl;
cout<<"职工姓名:"<<Amplo[k3].Name<<endl;
cout<<"职工性别:"<<Amplo[k3].Sex<<endl;
cout<<"职工年龄:"<<Amplo[k3].Age<<endl;
cout<<"职工学历:"<<Amplo[k3].Education<<endl;
cout<<"职工工资:"<<Amplo[k3].Wage<<endl;
cout<<"职工地址:"<<Amplo[k3].Address<<endl;
cout<<"职工电话:"<<Amplo[k3].Telephone<<endl;
break;
}
}
if(f3) {
f3=0;
cout<<"该公司不存在此职工的信息!!\n返回主菜单"<<endl;
break;
}
}
} else if(c=4)
menu();
}
//显示职工信息函数实现
void Amployee_List::Show_Amployee() {
system ("color F0");
if(NUM<=0) {
cout<<"没有录入职工信息,系统将返回主菜单,请先录入!"<<endl;
menu();
} else
cout<<"已保存的职工信息如下:"<<endl;
for(int i=0; i<n; i++) {
cout<<"------------------"<<endl;
cout<<"职工号:"<<Amplo[i].ID<<endl;
cout<<"职工姓名:"<<Amplo[i].Name<<endl;
cout<<"职工性别:"<<Amplo[i].Sex<<endl;
cout<<"职工学历:"<<Amplo[i].Education<<endl;
cout<<"职工年龄:"<<Amplo[i].Age<<endl;
cout<<"职工工资:"<<Amplo[i].Wage<<endl;
cout<<"职工地址:"<<Amplo[i].Address<<endl;
cout<<"职工电话:"<<Amplo[i].Telephone<<endl;
cout<<"------------------"<<endl;
}
}
//主函数
int main() {
main_menu();
return 0;
}
在这里插入代码片