📄 operater.cpp
字号:
#include "Operater.h"
void Operater::display()
{
cout<<endl<<endl;
cout<<"*****************************************************************"<<endl;
cout<<"*******************欢迎光临员工工资管理系统!********************"<<endl;
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;
cout<<"8: 保存数据"<<endl;
cout<<"0: 退出系统"<<endl;
cout<<"*******************************************************************"<<endl;
cout<<"请输入你的选择:"<<endl;
}
void Operater::Loop()
{
List L1; //List 对象
char ch[20];
nodetype *p, *head;
int i; //存放节点序号
// p=L1.load(); //初始化:从外部读入数据创建链表
head=p;
display();
while(1)
{
cout<<endl<<endl;
cout<<"请输入选择(帮助选项7 ): "<<endl;
cin>>ch;
system("cls");
if(L1.check(ch, "1"))
{
char again,c[100];
int b;
long d;
float e,f;
p=L1.insnode(0);
head=p;
system("cls");
cout<<endl;
do
{
cout<<"************** 添加一个员工信息 ******************"<<endl;
cout<<"下面输入个人信息: "<<endl;
cout<<"请输入姓名: "<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.name, c);
cout<<"请输入性别(F为女性,M为男性):"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.sex, c);
cout<<"请输入生日(格式举例:1985-5-19): "<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->birthday, c);
cout<<"请输入民族:"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.MZ, c);
cout<<"请输入国籍:"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.GJ, c);
cout<<"请输入学历编号:(1|中学、2|学士、3|硕士、4|博士)"<<endl;
cin>>b;
while(b!=1&&b!=2&&b!=3&&b!=4)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<" 1|中学、2|学士、3|硕士、4|博士";
cin>>b;
}
p->pe.XL=b;
cout<<"请输入职位:(1|董事长、2|总经理、3|销售经理、4|销售员)"<<endl;
cin>>b;
while(b!=1&&b!=2&&b!=3&&b!=4)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<"1|董事长、2|总经理、3|销售经理、4|销售员";
cin>>b;
}
p->pe.ZW=b;
cout<<"请输入所属部门:(1|董事会、2|市场部、3|公关部、4|客服中心、5|信息中心)"<<endl;
cin>>b;
while(b!=1&&b!=2&&b!=3&&b!=4&&b!=5)
{
cout<<"输入有误,请重新输入:"<<endl;
cout<<"1|董事会、2|市场部、3|公关部、4|客服中心、5|信息中心";
cin>>b;
}
p->pe.BM=b;
cout<<"请输入级别:(1---10)"<<endl;
cin>>b;
if(b<1||b>10)
{
cout<<"输入有误,请从新输入(1---10):"<<endl;
cin>>b;
}
p->pe.gread=b;
cout<<"请输入家庭住址(例如:洛阳市涧西区长江东路66号)"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->address, c);
cout<<"个人信息输入完毕!";
cout<<"下面输入联系方式: "<<endl;
cout<<"请输入手机号码(后八位): "<<endl;
cin>>d;
p->te.SJ=d;
cout<<"请输入家庭电话号码(不带区号): "<<endl;
cin>>d;
p->te.JD=d;
cout<<"联系方式输入完毕!";
cout<<"下面输入工资信息: "<<endl;
cout<<"请输入基本工资(100---10000): "<<endl;
cin>>e;
p->money.basepay=e;
cout<<"请输入工作时间(按天:1-31): "<<endl;
cin>>e;
p->money.worktime=e;
cout<<"请输入每天奖金(0---1000):"<<endl;
cin>>e;
p->money.dayrate=e;
cout<<"工资信息输入完毕!"<<endl;
cout<<"插入员工信息输入完毕!"<<endl;
f=L1.pay(p);
L1.dispnode(p);
cout<<"该员工的工资为:"<<f<<endl;
cout<<"数据添加成功!是否继续添加?(Y/N)"<<endl;
cin>>again;
}
while(again=='Y'||again=='y');
}
if(L1.check(ch, "2"))
{
system("cls");
cout<<endl;
cout<<"************** 删除一个员工信息 ******************"<<endl;
L1.dispname();
cout<<"请输入员工姓名: "<<endl;
cin>>ch;
i=L1.find2(ch);
if (i==1)
cout<<"没有你要删除员工的信息!"<<endl;
else
L1.delnode(i);
}
if(L1.check(ch, "3"))
{
system("cls");
cout<<endl;
cout<<"************** 显示所有员工姓名 ******************"<<endl;
L1.dispname();
}
if(L1.check(ch, "4"))
{
system("cls");
cout<<endl;
cout<<"************** 根据姓名显示单个员工所有信息 ******************"<<endl;
L1.dispname();
cout<<"请输入员工姓名: "<<endl;
cin>>ch;
p=L1.find(ch);
L1.dispnode(p);
}
if(L1.check(ch, "5"))
{
char c[20];
system("cls");
cout<<endl;
cout<<"*********** 根据姓名对单个员工进行编辑 **************"<<endl;
L1.dispname();
cout<<"请输入员工姓名: "<<endl;
cin>>c;
p=L1.find(c);
system("cls");
cout<<endl<<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<<"0: 返回上一级菜单"<<endl;
cout<<"*********************************************************"<<endl;
while(1)
{
cout<<endl<<endl;
cout<<"请输入选择(帮助选项8 ): "<<endl;
cin>>c;
system("cls");
if(L1.check(c, "1"))
{
system("cls");
cout<<endl;
cout<<"************** 编辑个人信息 ******************"<<endl;
L1.editperson(p);
}
else if(L1.check(c, "2"))
{
system("cls");
cout<<endl;
cout<<"************** 编辑工资信息 ******************"<<endl;
L1.editpay(p);
}
else if(L1.check(c, "3"))
{
system("cls");
cout<<endl;
cout<<"************** 编辑联系方式 ******************"<<endl;
L1.edittelephone(p);
}
else if(L1.check(c, "4"))
{
system("cls");
cout<<endl;
cout<<"************** 显示个人信息 ******************"<<endl;
L1.dispperson(p);
}
else if(L1.check(c, "5"))
{
system("cls");
cout<<endl;
cout<<"************** 显示工资信息 ******************"<<endl;
L1.disppay(p);
}
else if(L1.check(c, "6"))
{
system("cls");
cout<<endl;
cout<<"************** 显示联系方式 ******************"<<endl;
L1.disptelephone(p);
}
else if(L1.check(c, "7"))
{
system("cls");
L1.dispnode(p);
}
else if(L1.check(c, "8"))
{
system("cls");
L1.help();
}
else if(L1.check(c,"0"))
{
system("cls");
display();
break; //用 break 跳出本循环,不要用 return ,return 是退出程序
}
}
}
if(L1.check(ch, "6")) //统计员工信息
{
char c[20];
system("cls");
cout<<endl<<endl;
cout<<"*****************************************************"<<endl;
cout<<"1: 统计各学历的人数"<<endl;
cout<<"2: 统计各部门的人数"<<endl;
cout<<"3: 统计各职位的人数"<<endl;
cout<<"4: 帮助菜单"<<endl;
cout<<"0: 返回上一级菜单"<<endl;
cout<<"*********************************************************"<<endl;
while(1)
{
cout<<endl<<endl;
cout<<"请输入选择(帮助选项4): "<<endl;
cin>>c;
system("cls");
if(L1.check(c, "1"))
{
system("cls");
cout<<endl;
cout<<"**************统计各学历的人数 ******************"<<endl;
L1.tjxl();
}
else if(L1.check(c, "2"))
{
system("cls");
cout<<endl;
cout<<"**************统计各部门的人数 ******************"<<endl;
L1.tjbm();
}
else if(L1.check(c, "3"))
{
system("cls");
cout<<endl;
cout<<"**************统计各职位的人数 ******************"<<endl;
L1.tjzw();
}
else if(L1.check(c, "4"))
{
system("cls");
L1.help();
}
else if(L1.check(c,"0"))
{
system("cls");
display();
break; //用 break 跳出本循环,不要用 return ,return 是退出程序
}
}
}
if(L1.check(ch, "7"))
{
display();
}
if(L1.check(ch, "8")) //保存数据
{
FILE *fp;
if((fp=fopen("student.txt", "w"))==NULL)
{
cout<<"打开文件失败"<<endl;
return;
}
int i;
char t[255];
//将 L1.listlen() 赋予字符串中的数字
sprintf(t, "The Length Of Link: %d\n", L1.listlen());
fputs(t, fp);
strcpy(t, "\n");
fputs(t, fp);
p=L1.findnode(1); //将链表头指针赋予 p
for(i=0; i<L1.listlen(); i++)
{
cout<<"姓名:"<<p->pe.name<<endl; //输出姓名
cout<<"性别:"<<p->pe.sex<<endl; //输出性别
cout<<"国籍:"<<p->pe.GJ<<endl; //输出国籍
cout<<"民族:"<<p->pe.MZ<<endl; //输出民族
if(p->pe.XL==1) //输出学历
cout<<"学历:中学";
else
if(p->pe.XL==2)
cout<<"学历:学士";
else
if(p->pe.XL==3)
cout<<"学历:硕士";
else
cout<<"学历:博士";
if(p->pe.ZW==1) //输出职位
cout<<"职位:董事长";
else
{
if(p->pe.ZW==2)
cout<<"职位:总经理";
else
if(p->pe.ZW==3)
cout<<"职位:销售经理";
else
cout<<"职位:销售员";
}
if(p->pe.BM==1) //输出所属部门
cout<<"部门:董事会";
else
if (p->pe.BM==2)
cout<<"部门:市场部";
else
if(p->pe.BM==3)
cout<<"部门:公关部";
else
if(p->pe.BM==4)
cout<<"部门:客服中心";
else
cout<<"部门:信息中心";
cout<<"级别:"<<p->pe.gread<<endl; //输出级别
cout<<"地址:"<<p->address<<endl; //输出地址
cout<<"出生日期:"<<p->birthday<<endl; //输出生日
cout<<"手机号:"<<p->te.SJ<<endl; //输出手机
cout<<"家庭电话:"<<p->te.JD<<endl; //输出家庭电话
cout<<"基本工资:"<<p->money.basepay<<endl; //输出基本工资
cout<<"日酬金:"<<p->money.dayrate<<endl; //输出工作酬金
cout<<"工作日:"<<p->money.worktime<<endl; //输出工作时间
cout<<"月薪:"<<L1.pay(p); //输出月薪
p=p->next;
}
p=head;
fclose(fp);
cout<<"员工信息保存完毕!";
}
else if(L1.check(ch, "0"))
return;
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -