📄 employeer.cpp
字号:
#include"employeer.h"
#include<vector>
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<fstream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<stdio.h>
extern std::vector<employeer> vec;
void employeer::add()//增加员工
{
system("CLS");
int a,q;
employeer EM;
int N;
do{
system("CLS");
cout<<"\n\n\n\n\t\t\t\t请输入您要增加的教职工的编号(想返回按0):\n"<<"\t\t\t\t"<<'?';
cin>>N;
for(int i = 0; i<vec.size(); i++) { //核查所要增加的资料是否原来就已经存在
EM = (employeer)(vec[i]);
if(EM.number==N) {
break;
}
}
if(EM.number==N) {
cout<<"\n\n\n\n\t\t\t\t-_-对不起,该编号已经存在"<<endl;
cout<<"\t\t\t\t想重新增加新学生资料请按1"<<'\n'<<"\t\t\t\t想退回请按其他任意键"<<endl;
char answer;
cin>>answer;
if(answer=='1') a=1;
else return;
}
else {
a = 0;
system("CLS");
}
}while(a==1);
EM.number = N;
cout<<"\n\n\n\n\t\t\t\t新建编号成功\n"<<"\t\t\t\t请输入您所要增加教职工的姓名\n"
<<"\t\t\t\t"<<'?';
cin>>EM.name;
B: cout<<"\n\n\n\n\t\t\t\t请选择性别:?";
cout<<"\n\n\n\n\t\t\t\t1.男性"<<'\t'<<"2.女性"<<endl;
cout<<"请选择:?";
int b;
cin>>b;
switch(b)
{ case 1: strcpy(EM.sex,"男");break;
case 2: strcpy(EM.sex,"女");break;
default : cout<<"您的输入有误,请重新输入!"<<endl;goto B;
}
redo: cout<<"\n\n\n\n\t\t\t\t请输入年龄?";
cin>>EM.age;
if(EM.age<18 || EM.age>80) {
cout<<"\t\t\t\t年龄必须在18至80岁之间,请重新输入"<<endl;
goto redo;
}
C: cout<<"\n\n\n\n\t\t\t\t请选择教工职位?"<<endl;
cout<<"\t\t\t\t1.领导"<<endl;
cout<<"\t\t\t\t2.助教"<<endl;
cout<<"\t\t\t\t3.教授"<<endl;
cout<<"\t\t\t\t4.临时工"<<endl;
cout<<"\t\t\t\t5.固定工"<<endl;
cout<<"请选择:?";
int c;
cin>>c;
system("CLS");
switch(c)
{ case 1: { strcpy(EM.state,"领导");
D: cout<<"\t\t\t\t请输入学历"<<endl;
cout<<"\t\t\t\t1。研究生"<<endl;
cout<<"\t\t\t\tt2。博士"<<endl;
cout<<"\t\t\t\t3。博士后 "<<endl;
cout<<"请选择:?";
int x;
cin>>x;
switch(x)
{ case 1: strcpy(EM.xueli,"研究生");
strcpy(EM.level,"unknow");strcpy(EM.zhicheng,"unkonw");break;
case 2: strcpy(EM.xueli,"博士");
strcpy(EM.level,"unknow"); strcpy(EM.zhicheng,"unkonw");break;
case 3: strcpy(EM.xueli,"博士后");
strcpy(EM.level,"unknow");strcpy(EM.zhicheng,"unkonw");break;
default : cout<<"\n\n\n\n\t\t\t\t输入错误!!请重新输入!"<<endl;goto D;
}
break;}
case 2: { strcpy(EM.state,"助教");
E: cout<<"\n\n\n\n\t\t\t\t请输入学历"<<endl;
cout<<"\t\t\t\t1。大学本科"<<endl;
cout<<"\t\t\t\t2。研究生 "<<endl;
int y;
cin>>y;
switch(y)
{ case 1: strcpy(EM.xueli,"大学本科");
strcpy(EM.zhicheng,"unknow");break;
case 2: strcpy(EM.xueli,"研究生");
strcpy(EM.zhicheng,"unknow");break;
default : cout<<"/n/n/t/t/t/t/t/t/t/t/t输入错误!!请重新输入!"<<endl;goto E;
}
F: cout<<"\n\n\n\n\t\t\t\t请输入助教的工龄:"<<endl;
cout<<"\t\t\t\t1.1年"<<endl;
cout<<"\t\t\t\t2.2年"<<endl;
cout<<"\t\t\t\t3.3年"<<endl;
cin>>q;
switch(q)
{case 1:strcpy(EM.level,"初级");break;
case 2:strcpy(EM.level,"中级");break;
case 3:strcpy(EM.level,"高级");break;
default : cout<<"/n/n/t/t/t/t/t输入错误!!请重新输入!"<<endl;goto F;
}
break;
}
case 3: { strcpy(EM.state,"教授");
G: cout<<"\n\n\n\n\t\t\t\t请输入学历:?"<<endl;
cout<<"\t\t\t\t1。研究生"<<endl;
cout<<"\t\t\t\t2。博士"<<endl;
cout<<"\t\t\t\t3。博士后 "<<endl;
int z;
cin>>z;
switch(z)
{ case 1: strcpy(EM.xueli,"研究生");
strcpy(EM.zhicheng,"unkonw");break;
case 2: strcpy(EM.xueli,"博士");
strcpy(EM.zhicheng,"unkonw");break;
case 3: strcpy(EM.xueli,"博士后");
strcpy(EM.zhicheng,"unkonw");break;
default : cout<<"输入错误!!请重新输入!"<<endl;goto G;
}
H: cout<<"\n\n\n\n\t\t\t\t请输入教授的级别:?"<<endl;
cout<<"\t\t\t\t1,初级"<<endl;
cout<<"\t\t\t\t2.中级"<<endl;
cout<<"\t\t\t\t3.高级"<<endl;
int t;
cin>>t;
switch(t)
{case 1:strcpy(EM.level,"初级");break;
case 2:strcpy(EM.level,"中级");break;
case 3:strcpy(EM.level,"高级");break;
default : cout<<"/n/n/t/t/t/t/t输入错误!!请重新输入!"<<endl;goto H;
}
break;
}
case 4: { strcpy(EM.state,"临时工");
strcpy(EM.xueli,"unknow");
strcpy(EM.level,"unknow");
strcpy(EM.zhicheng,"unkonw");break;
}
case 5: { strcpy(EM.state,"固定工");
strcpy(EM.xueli,"unkonw");
strcpy(EM.level,"unknow");
strcpy(EM.zhicheng,"unkonw");break;}
default : cout<<"输入错误!!请重新输入!"<<endl;goto C;
cout<<"\n\n\t\t\t已经在资料库中增加了教职工工资料"<<endl;
}
EM.salary=0; //初始化工资=0
vec.push_back(EM);
}
void employeer::display() //输出全部教工基本信息
{
system("CLS");
employeer EM;
cout<<"\n\n"<<setw(15)<<"编号"<<setw(10)<<"姓名"<<setw(10)
<<"性别"<<setw(10)
<<"年龄"<<setw(10)<<"职位"<<endl;
for(int i = 0; i<vec.size(); i++) {
EM = (employeer)(vec[i]);
cout<<setw(15)<<EM.number<<setw(10)<<EM.name<<setw(10)<<EM.sex
<<setw(10)<<EM.age<<setw(10)<<EM.state<<endl;
}
system("PAUSE");
}
void employeer::search() //查询具体职工的具体信息
{employeer EM;
int a=1;
while(a==1)
{ cout<<"\n\n\n\n\n\t\t\t请输入要查询的员工的编号:?";
int i;
cin>>i;
for(int j = 0; j<vec.size(); j++) { //查找该职工
EM = (employeer)(vec[j]);
if(EM.number==i) {
break;
}
}
cout<<"\n\n"<<setw(5)<<"编号"<<setw(8)<<"姓名"<<setw(8)<<"性别"
<<setw(5)<<"年龄"
<<setw(10)<<"职位"<<setw(10)<<"学历"<<setw(8)<<"职称"<<setw(12)<<"技术等级"
<<setw(8)<<"工资"<<endl;
if(EM.number==i)
{
cout<<setw(5)<<EM.number<<setw(8)<<EM.name<<setw(8)<<EM.sex<<setw(5)
<<EM.age<<setw(10)<<EM.state<<setw(10)<<EM.xueli<<setw(8)<<EM.zhicheng<<setw(12)
<<EM.level<<setw(8)<<EM.salary<<endl;
a=0;
}
else cout<<"查找不到此教职工资料此教职工!!"<<endl;}system("PAUSE");
}
void employeer::remove() //删除职工的信息
{employeer EM;
int a=1;
while(a==1)
{ cout<<"\n\n\n\n\n\t\t请输入要删除的员工的编号:(返回主菜单请输入0)?";
int i;
int k;
cin>>i;
if(i==0) {
system("CLS");
return;
}
for(int j = 0; j<vec.size(); j++) {
EM = (employeer)(vec[j]);
if(EM.number==i) {
k = j;
break;
}
}
cout<<"\n\n"<<setw(5)<<"编号"<<setw(8)<<"姓名"<<setw(8)<<"性别"
<<setw(5)<<"年龄"
<<setw(10)<<"职位"<<setw(10)<<"学历"<<setw(8)<<"职称"<<setw(12)<<"技术等级"
<<setw(8)<<"工资"<<endl;
if(EM.number==i)
{
cout<<setw(5)<<EM.number<<setw(8)<<EM.name<<setw(8)<<EM.sex<<setw(5)
<<EM.age<<setw(10)<<EM.state<<setw(10)<<EM.xueli<<setw(8)<<EM.zhicheng<<setw(12)
<<EM.level<<setw(8)<<EM.salary<<endl;
a=0;
std::vector<employeer> vec2;
for(int j = 0; j<vec.size(); j++) {
EM = (employeer)(vec[j]);
if(EM.number!=i) {
vec2.push_back(EM);
}
}
vec = vec2;
cout<<"成功删除教职工!"<<endl;
}
else cout<<"查找不到此教职工资料!!"<<endl;
}system("PAUSE");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -