📄 复件2 operater.txt
字号:
#include "operater.h"
void Operater::display()
{
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<<"0: 退出系统"<<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<<"请输入选择(帮助选项--> 6 ): "<<endl;
cin>>ch;
system("cls");
if(L1.check(ch, "1"))
{
p=L1.insnode(0);
head=p;
system("cls");
cout<<endl;
cout<<"------------------添加一个职工信息-------------"<<endl;
cout<<"下面输入个人信息: "<<endl;
L1.editworker(p);
}
if(L1.check(ch, "2"))
{
system("cls");
cout<<endl;
cout<<"------------------删除一个职工信息------------"<<endl;
L1.dispname();
cout<<"请输入职工姓名: "<<endl;
cin>>ch;
i=L1.find2(ch);
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, "6"))
{
display();
}
if(L1.check(ch, "7")) //保存数据
{
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()) ;\\把整数L1.listlen() 打印成一个字符串保存在t 中。
fputs(t, fp); \\打印“the length of link:L1.listlen”覆盖原来的
strcpy(t, "\n");
fputs(t, fp); \\打印空格行
p=L1.findnode(1); //将链表头指针赋予 p
for(i=0; i<L1.listlen(); i++)
{
fputs(p->someone.name, fp);
fputs(p->someone.sex, fp);
fputs(p->someone.num, fp);
fputs(p->someone.birthday, fp);
fputs(p->someone.partment, fp);
fputs(p->someone.workyear, fp);
fputs(p->someone.E-mail, fp);
fputs(p->someone.telphone, fp);
fputs(p->someone.graduate, fp);
fputs(p->someone.address, fp);
fputs(p->someone.duty, fp);
fputs(p->someone.notice, fp);
fputs(p->someone.in_time, fp);
fputs(t, fp);
p=p->next;
}
p=head;
fclose(fp);
}
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<<"------------------------------------------------------------"<<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.dispworker(p);
}
else if(L1.check(c, "3"))
{
system("cls");
L1.dispnode(p);
}
else if(L1.check(c, "4"))
{
system("cls");
L1.help();
}
else if(L1.check(c, "5"))
{
display();
break; //用 break 跳出本循环,不要用 return ,return 是退出程序
}
}
}
else if(L1.check(ch, "0"))
return;
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -