本文用c语言分享了一个简单的员工信息管理系统的代码,该系统采用面向对象的编程方法,所有方法都是基于类的。感兴趣的朋友可以参考一下。
本文分享C员工信息管理系统的具体代码,供大家参考。具体内容如下
功能主模块描述
模块1:添加人事函数Add();增加员工的基本信息。
模块二:删除人员功能Delete();删除指定员工的基本信息和工资。
模块3:修改人事功能Modify();修改员工的基本信息。
模块4:查询员工信息功能search();查询指定的员工信息和薪资。
模块5:排序员工信息函数Sort();员工信息排序功能的实现
模块6:基础数据设置函数集();设置五种岗位的基本工资。
模块7:数据保存,加载函数Save()和load();存储员工基本信息,工资和五种岗位的基本工资。
本系统采用面向对象的编程方法。的所有方法都基于类。
代码实现:
#includeiostream
#包含“字符串”
# include流
#包含stdlib.h
#包含stdio.h
#将N 100 //N定义为员工总数的最大值
int f=0;//f作为开关
使用命名空间std
字符串p;//p作为字符串接收菜单选项
void menu();//显示菜单
工人阶级
{
公共:
worker(){}
void show();//员工信息显示
~worker(){}
友类WorkerList
私人:
字符串编号、姓名、性别、edu、地址、电话;
int年龄,工资;
};
工人阶级列表
{
私人:
工人w[N];
int NUM//用于计算员工人数
int计数;//用来临时记录当前操作的是哪个员工。
公共:
void add();//员工信息录入
void sort();//排序员工信息
void search();//员工信息搜索
void dele();//删除员工信息
void modify();//员工信息修改
void save();//员工信息保存为文件。
void show worker();//在屏幕上显示员工信息
WorkerList(){
NUM=0;
count=0;
}
};
Void menu() //显示菜单
{
coutendl
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
cout“* * * *”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
Cou' * * 0。Exit * * ' endl
cout“* * * *”endl;
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
coutendl
}
void domain() //主菜单函数的实现
{
WorkerList wl
while(1)
{
系统(“cls”);
menu();
Cout '请选择数字0 ~ 7 ' endl
int i1
cini1
而(!(i1=0i1=7))
{
' Cout '输入不正确,请重新输入:' endl
cini1
}
开关(i1)
{
案例一:wl . add();打破;
案例二:wl . modify();打破;
案例三:wl . dele();打破;
案例四:wl . sort();打破;
案例五:wl . search();打破;
案例六:wl . show worker();打破;
案例7:wl . save();打破;
0: cout '系统退出!'endl
退出(0);
默认值:
打破;
}
Cout '返回主菜单?y/N ' endl;
cinp
if(p=='n'||p=='N ')
{
Cout的系统退出!endl
退出(0);
}
}
}
Void WorkerList:add() //员工信息添加函数的实现
{
' Cout '请输入员工信息:' endl
Cout '工作编号:';
字符串编号;
cinnum
for(int I=0;iNUM我)
while(num==w[i])。数字)
{
' Cout '该员工编号已经存在,请重新输入:' endl
Cout '工作编号:';
cinnum
}
w[数字]。num=num
“Cout”名称:“”;cinw[NUM]。姓名;
Cout '性别:';cinw[NUM]。性;
cout ' Education:';cinw[NUM]。edu;
Cout '年龄:';cinw[NUM]。年龄;
Cout的工资:';cinw[NUM]。工资;
“Cout”地址:“”;cinw[NUM]。地址;
cout ' Tel:';cinw[NUM]。电话;
NUM
计数=数量;
}
Void worker:show() //实现员工信息显示功能
{
Cout '工号:' numendl
cout ' Name:' nameendl;
cout ' gender:' sexendl;
cout’education:‘edu endl;
cout ' age:' ageen dl;
cout ' salary:' salary endl;
cout ' address:' address endl;
cout ' tel:' telendl;
coutendl
}
Void WorkerList:modify() //员工信息修改函数的实现
{
如果(数量=0)
{
Cout '如果没有存储员工信息,系统将返回到主菜单' endl
menu();
}
' Cout '请输入需要修改信息的员工的工号:' endl
字符串num1
cinnum1
int j=0,k;
int flag=1;
while(标志)
{
for(;jcountj)
{
if(num1==w[j])。数字)
{
flag=0;
k=j;
打破;
}
}
if(标志)
{
cout '中不存在该员工,请重新输入:' endl
j=0;
cinnum1
}
}
t选择的职员cout的信息为:' endl
“Cout”工作编号:“w[k]”。numendl
' Cout '名称:' w[k]。nameendl
' Cout '性别:' w[k]。sexendl
Cout' Education:' w[k]。eduendl
Cout的年龄:' w[k]。ageendl
Cout的工资:' w[k]。salaryendl
Cout '地址:' w[k]。addressendl
Cout' Tel:' w[k].telendl
coutendl
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
Cout'** 1。修改工作编号* * ' endl
Cou' * * 2。修改名称* * ' endl
Cou' * * 3。修改性别* * ' endl
Cou' * * 4。修改学历* * ' endl
五分钟。修改年龄* * ' endl
Cou' * * 6。修订薪资* * ' endl
Cou' * * 7。修改地址* * ' endl
Cou' * * 8。修改电话* * ' endl
Cout'** 0。返回主菜单* * ' endl
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
coutendl
Cout '请选择数字0 ~ 8 ' endl
int i3
cini3
while(i30||i38)
{
' Cout '输入不正确,请重新输入:' endl
cini3
}
开关(i3)
{
案例1:
Cout '请输入新的员工编号:';
cinw[k]。num
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例二:
Cout '请输入新的员工姓名:';
cinw[k]。姓名;
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例三:
Cout '请输入新的员工性别:';
cinw[k]。性;
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例4:
Cout '请输入新员工的教育程度:';
cinw[k]。edu;
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例5:
Cout '请输入新员工的年龄:';
cinw[k]。年龄;
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例6:
Cout '请输入新员工的薪金:';
cinw[k]。工资;
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例7:
Cout '请输入新的员工地址:';
cinw[k]。地址;
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例8:
Cout '请输入新的员工电话号码:';
cinw[k]。电话;
Cout '修改信息已经保存,现在返回主菜单:' endl
menu();
打破;
案例0:
menu();
默认值:
打破;
}
}
Void WorkerList:showworker() //实现员工信息显示功能
{
如果(数量=0)
{
Cout '如果没有存储员工信息,系统将返回到主菜单' endl
menu();
}
其他
' Cout '保存的员工信息如下:' endl
for(int I=0;icount我)
{
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
“Cout”工作编号:“w[i]。numendl
Cout' name:' w[i]。nameendl
Cout' gender:' w[i]。sexendl
Cout' Education:' w[i]。eduendl
Cout的年龄:' w[i]。ageendl
Cout的工资:' w[i]。salaryendl
Cout '地址:' w[i]。addressendl
Cout' Tel:' w[i]。telendl
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
}
}
Void WorkerList:search() //员工信息查询函数的实现
{
如果(数量=0)
{
Cout '如果没有存储员工信息,系统将返回到主菜单' endl
menu();
}
其他
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
Cout'** *请选择搜索方法:* ' endl
Cout'** 1。通过工作编号查找* * ' endl
Cout'** 2。按名称查找* * ' endl
Cout'** 3。凭学历找* *‘endl;
Cout'** 0。返回主菜单* * ' endl
cout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
coutendl
Cout '请选择数字0 ~ 3 ' endl
int i4
cini4
while(i40||i43)
{
' Cout '输入不正确,请重新输入:' endl
cini4
}
如果(i4==1)
{
字符串num2
' Cout '请输入员工的工号进行查询:' endl
cinnum2
int j=0,k;
int flag=1;
while(标志)
{
for(;jcountj)
{
if(num2==w[j])。数字)
{
flag=0;
k=j;
Cout的员工信息如下:endl
“Cout”工作编号:“w[k]”。numendl
' Cout '名称:' w[k]。nameendl
嘿,嘿性别* w[k].性结局;
嘿,嘿学历* w[k].教育终结;
嘿,嘿年龄* w[k].阿吉芬;
嘿,嘿工资* w[k].萨拉莱德;
嘿,嘿地址* w[k].终止地址;
嘿,嘿电话* w[k].电话号码;
打断;打断;
}
}
如果旗标
{
旗标=0;
嘿,嘿不存在此职工!\n返回主菜单'结束;
打断;打断;
}
}
}
else if(i4==2)
{
字符串名称2;
嘿,嘿请输入要查询的职工的姓名*结束;
肉桂2;
内部j2=0,k2;
(同Internationalorganizations)国际组织标志2=1;
在…期间旗标2
{
为(;J2计数;(j2)
{
如果(名称2==w[j2].名称)
{
旗标2=0;
k2=J2;
嘿,嘿查询的职工信息如下*结束;
嘿,嘿工号* w[k2].无穷数;
嘿,嘿姓名* w[k2].名称结尾;
嘿,嘿性别* w[k2].性结局;
嘿,嘿学历* w[k2].教育终结;
嘿,嘿年龄* w[k2].阿吉芬;
嘿,嘿工资* w[k2].萨拉莱德;
嘿,嘿地址* w[k2].终止地址;
嘿,嘿电话* w[k2].电话号码;
打断;打断;
}
}
如果旗标2
{
旗标2=0;
嘿,嘿不存在此职工!\n返回主菜单'结束;
打断;打断;
}
}
}
else if(i4==3)
{
教育2字符串;
嘿,嘿请输入要查询的职工的学历*结束;
电影院2;
内部j4=0,k4;
(同Internationalorganizations)国际组织标志4=1;
在…期间旗标四
{
为(;j4计数;(j4)
{
if(edu2==w[j4].教育)
{
标志4=0;
k4=j4
嘿,嘿查询的职工信息如下*结束;
嘿,嘿工号*宽[k4].无穷数;
嘿,嘿姓名*宽[k4].名称结尾;
嘿,嘿性别*宽[k4].性结局;
嘿,嘿学历*宽[k4].教育终结;
嘿,嘿年龄*宽[k4].阿吉芬;
嘿,嘿工资*宽[k4].萨拉莱德;
嘿,嘿地址*宽[k4].终止地址;
嘿,嘿电话*宽[k4].电话号码;
打断;打断;
}
}
如果旗标四
{
旗标4=0;
嘿,嘿不存在此职工!\n返回主菜单'结束;
打断;打断;
}
}
}
else if(i4==0)
menu();
}
请参阅WorkerList:sort() //职工信息排序功能实现
{
如果(数量=0)
{
嘿,嘿没有职工信息存入,系统将返回主菜单'结束;
menu();
}
其他语句
-好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧。
成本**请选择排序方式* '结束;
成本** 1。按工资排序(升序)* '结束;
成本** 2。按工资排序(降序)* '结束;
成本** 0。返回主菜单* '结束;
-好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧。
-床垫;
嘿,嘿请选择数字编号0 ~ 2'结束;
int i5
中国五国;
while(i50||i52)
{
嘿,嘿输入有误,请重新输入*结束;
中国五国;
}
如果(i5==1)
{
for(int I=0);icumount-1号文件:(一)
for(int j=0);jcount-I-1;(j)
if(w[j]).薪水,薪水.(薪金)
{
临时工人;
临时=w[j];
w[j]=w[J1];
w[J1]=temp;
}
嘿,嘿按工资升序后的信息如下*结束;
for(I=0);伊科蒙特;(一)
{
-好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧。
嘿,嘿工号* w[I].无穷数;
嘿,嘿姓名* w[I].名称结尾;
嘿,嘿性别* w[I].性结局;
嘿,嘿学历* w[I].教育终结;
嘿,嘿年龄* w[I].阿吉芬;
嘿,嘿工资* w[I].萨拉莱德;
嘿,嘿地址* w[I].终止地址;
嘿,嘿电话* w[I].电话号码;
-好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧。
}
}
else if(i5==2)
{
for(int I=0);icumount-1号文件:(一)
for(int j=0);jcount-I-1;(j)
if(w[j]).薪水,薪水.(薪金)
{
临时工人;
临时=w[j];
w[j]=w[J1];
w[J1]=temp;
}
嘿,嘿按工资降序后的信息如下*结束;
for(I=0);伊科蒙特;(一)
{
-好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧。
嘿,嘿工号* w[I].无穷数;
嘿,嘿姓名* w[I].名称结尾;
嘿,嘿性别* w[I].性结局;
嘿,嘿学历* w[I].教育终结;
嘿,嘿年龄* w[I].阿吉芬;
嘿,嘿工资* w[I].萨拉莱德;
嘿,嘿地址* w[I].终止地址;
嘿,嘿电话* w[I].电话号码;
-好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧,好吧。
}
}
else if(i5==0)
menu();
}
请参见workerlist:del()//职工信息删除函数实现
{
如果(数量=0)
{
嘿,嘿没有职工信息存入,系统将返回主菜单'结束;
menu();
}
嘿,嘿请输入需要删除信息职工的工号*结束;
字符串3;
第三条:
内部j=0,k;
int flag=1:
在…期间旗标
{
为(;jco计数:(j)
{
if(num3==w[j].一个)
{
旗标=0;
k=j
打断;打断;
}
}
如果旗标
{
嘿,嘿不存在此员工,请重新输入*结束;
j=0
第三条:
}
}
嘿,嘿你选择的职工的信息为*结束;
嘿,嘿工号* w[k].无穷数;
嘿,嘿姓名* w[k].名称结尾;
嘿,嘿性别* w[k].性结局;
嘿,嘿学历* w[k].教育终结;
嘿,嘿年龄* w[k].阿吉芬;
Cout的工资:' w[k]。salaryendl
Cout '地址:' w[k]。addressendl
Cout' Tel:' w[k].telendl
coutendl
Cout '请输入y确认删除,输入N 'endl返回主菜单;
字符串p;
cinp
while(1)
{
if(p=='y'||p=='Y ')
{
Cout '员工信息已被删除!'endl
for(int I=0;icount我)
if(w[i]。数量==数量3)
int j=I;
for(;j=计数-1;j)
w[j]=w[j 1];
count-;
打破;
}
else if(p=='n'||p=='N ')
{
menu();
}
其他
{
' Cout '输入不正确,请重新输入:';
cinp
}
}
}
Void WorkerList:save() //员工信息保存函数的实现
{
如果(数量=0)
{
Cout '如果没有存储员工信息,系统将返回到主菜单' endl
menu();
}
其他
{
ofstream fout
fout.open('D:\\worker.txt ',IOs:out);
正在保存“Cout”文件.请稍候!'endl
Cout数据保存成功!'endl
' Fout '保存的员工信息如下:' endl
for(int I=0;icount我)
{
fout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
Fout '工号:' w[i]。numendl
Fout' Name:' w[i]。nameendl
Fout' gender:' w[i]。sexendl
Fout' Education:' w[i]。eduendl
年龄:w[i]。ageendl
Fout的工资:' w[i]。salaryendl
地址:w[i]。addressendl
福特尔:w[i]。telendl
fout ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' endl;
}
Cout '系统返回主菜单:' endl
menu();
fout . close();
}
}
int main()
{
domain();
返回0;
}
运行效果:
程序运行时,首先出现主界面菜单,用户可以选择不同的数字进入不同的功能区。如图1所示。
图1程序操作主界面
1、显示二级菜单,进入员工信息添加界面,如图2所示。
图2员工信息添加界面
选择Y返回程序操作主界面,继续选择6显示二级菜单,进入如图3所示的员工信息浏览显示界面。
图3员工信息显示界面
要搜索员工信息,选择5,可以通过工号、姓名、学历三种方式搜索,选择1确认按工号搜索,如图4所示。
图4员工信息排序界面
4.可以按薪水排序,选择1按升序排序,如图5所示。
图5员工信息搜索界面
返回程序操作主界面,选择2,修改员工1的信息,在二级菜单中选择选项1~8进行修改,如图6所示。
图6员工信息修改界面
3.选择并删除员工信息,如图7所示。
图7员工信息删除界面
返回程序操作主界面,选择7,保存员工信息操作,同时返回系统主界面,如图8所示。
图8员工信息保存界面
请点击《管理系统专题》了解管理系统的更多信息。
这就是本文的全部内容,希望对大家的学习有所帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。