📄 职工管理系统.cpp
字号:
getch();
return;
}
case 50:
return;
default:
goto again15;
}
}
else
{
system("cls");
printf("\n没有你要修改的职工!\n\n按任意键返回...");
fflush(stdin);
getch();
}
}
void amend_()
{
int i;
again14:
system("cls");
printf("\n\n");
printf(" ╔════════════╗\n");
printf(" ║ 按 1 修改职工号 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 2 修改姓名 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 3 修改性别 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 4 修改年龄 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 5 修改学历 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 6 修改工资 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 7 修改地址 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 8 修改电话号码 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 9 修改职工全部信息 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 0 返回上一级 ║\n");
printf(" ╚════════════╝\n");
fflush(stdin);
i=getch();
switch(i)
{
case 49:
amend_1(49);
reopen();
goto again14;
case 50:
amend_1(50);
reopen();
goto again14;
case 51:
amend_1(51);
reopen();
goto again14;
case 52:
amend_1(52);
reopen();
goto again14;
case 53:
amend_1(53);
reopen();
goto again14;
case 54:
amend_1(54);
reopen();
goto again14;
case 55:
amend_1(55);
reopen();
goto again14;
case 56:
amend_1(56);
reopen();
goto again14;
case 57:
amend_1(57);
reopen();
goto again14;
case 48:
return;
default:
goto again14;
}
}
void amend()
{
int i;
again11:
system("cls");
printf("\n\n\n\n\n\n");
printf(" ╔════════════╗\n");
printf(" ║ 按 1 添加职工信息 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 2 删除职工信息 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 3 修改职工信息 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 4 返回上一级 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 5 退出程序 ║\n");
printf(" ╚════════════╝\n");
fflush(stdin);
i=getch();
switch(i)
{
case 49:
add();
reopen();
goto again11;
case 50:
del();
goto again11;
case 51:
amend_();
reopen();
goto again11;
case 52:
return;
case 53:
fclose(fp);
exit(0);
default:
goto again11;
}
}
void openfile()
{
int i;
filehead *p;
system("cls");
printf("\n\n\t请输入文件名或路径: ");
scanf("%s",filename);
strcat(filename,filenamepostfix);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\n\t打开%s文件失败!\n\n\t按任意键返回...",filename);
fflush(stdin);
getch();
return;
}
p=(filehead*)malloc(HL);
fread(p,HL,1,fp);
if(p->on_off==1)
{
system("cls");
printf("\n\n\t该文件已经加密!\n");
printf("\n\t请输入密码:");
inputkeys_2(password_);
if(strcmp(password_,p->password))
{
system("cls");
printf("密码错误!\n");
printf("\n按任意键返回...");
free(p);
fflush(stdin);
getch();
return;
}
}
free(p);
again6:
system("cls");
printf("\n\n\n\n\n\n");
printf(" ╔════════════╗\n");
printf(" ║ 按 1 职工信息浏览 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 2 职工信息搜索和排序║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 3 职工信息删除或修改║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 4 返回上一级 ║\n");
printf(" ╠════════════╣\n");
printf(" ║ 按 5 退出程序 ║\n");
printf(" ╚════════════╝\n");
fflush(stdin);
i=getch();
switch(i)
{
case 49:
look();
reopen();
goto again6;
case 50:
search();
rewind_(fp);
goto again6;
case 51:
amend();
rewind_(fp);
goto again6;
case 52:
fclose(fp);
return;
case 53:
fclose(fp);
exit(0);
default:
goto again6;
}
}
void setnewpassword() //创建新密码
{
filehead *p;
int i;
p=(filehead*)malloc(HL);
fread(p,HL,1,fp);
if(p->on_off==1)
{
system("cls");
printf("创建密码失败!\n");
printf("\n该文件密码已经存在!\n");
printf("\n按任意键返回...");
free(p);
fflush(stdin);
getch();
return;
}
system("cls");
printf("\n\n\t请输入新密码(按回城键结束): ");
inputkeys_1(password_); //输入新密码
printf("\n\t请确认新密码(按回城键结束): ");
fflush(stdin);
inputkeys_2(p->password); //输入确认密码
if(!strcmp(password_,p->password))
{
system("cls");
printf("密码创建成功!\n");
printf("\n按任意键返回...");
rewind(fp);
p->on_off=1;
fwrite(p,HL,1,fp);
free(p);
fflush(stdin);
getch();
return;
}
system("cls");
printf("创建密码失败!\n");
printf("\n按任意键返回...");
free(p);
fflush(stdin);
getch();
return;
}
void amendoldpassword() //修改密码
{
filehead *p;
p=(filehead*)malloc(HL);
fread(p,HL,1,fp);
if(p->on_off==0)
{
system("cls");
printf("修改密码失败!\n");
printf("\n该文件没有设置密码!\n");
printf("\n按任意键返回...");
free(p);
fflush(stdin);
getch();
return;
}
system("cls");
printf("\n\n\t请输入密码确认身份(按回城键结束): ");
inputkeys_2(password_);
if(!strcmp(password_,p->password))
{
system("cls");
printf("\n\n\t请输入新密码(按回城键结束): ");
inputkeys_1(password_);
printf("\n\t请确认新密码(按回城键结束): ");
inputkeys_2(p->password);
if(!strcmp(password_,p->password))
{
system("cls");
printf("密码修改成功!\n");
printf("\n按任意键返回...");
rewind(fp);
fwrite(p,HL,1,fp);
free(p);
fflush(stdin);
getch();
return;
}
system("cls");
printf("修改密码失败!\n");
printf("\n按任意键返回...");
free(p);
fflush(stdin);
getch();
return;
}
system("cls");
printf("密码错误!\n");
printf("\n按任意键返回...");
free(p);
fflush(stdin);
getch();
return;
}
void cancelpassword() //取消密码设置
{
filehead *p;
int i;
p=(filehead*)malloc(HL);
fread(p,HL,1,fp);
if(p->on_off==0)
{
system("cls");
printf("取消密码设置失败!\n");
printf("\n该文件没有设置密码!\n");
printf("\n按任意键返回...");
free(p);
fflush(stdin);
getch();
return;
}
system("cls");
printf("\n\n\t请输入密码确认身份(按回城键结束): ");
inputkeys_2(password_);
if(!strcmp(password_,p->password))
{
again20:
system("cls");
printf("\n\n\n\n\n");
printf(" ╔═══════════╗\n");
printf(" ║ 按 1 确定取消密码 ║\n");
printf(" ╠═══════════╣\n");
printf(" ║ 按 2 返回上一级 ║\n");
printf(" ╚═══════════╝\n");
fflush(stdin);
i=getch();
switch(i)
{
case 49:
p->on_off=0;
rewind(fp);
fwrite(p,HL,1,fp);
system("cls");
printf("密码取消成功!\n");
printf("\n按任意键返回...");
fflush(stdin);
getch();
return;
case 50:
return;
default:
goto again20;
}
}
system("cls");
printf("密码错误!\n");
printf("\n按任意键返回...");
fflush(stdin);
getch();
return;
}
void setpassword()//************************************************************************************
{
int i;
system("cls");
printf("\n\n\t请输入文件名或路径: ");
scanf("%s",filename);
strcat(filename,filenamepostfix);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\n\t%s文件无效!\n\n\t按任意键返回...",filename);
fflush(stdin);
getch();
return;
}
again0:
system("cls");
printf("\n\n\n\n\n");
printf(" ╔═══════════╗\n");
printf(" ║ 按 1 创建密码 ║\n");
printf(" ╠═══════════╣\n");
printf(" ║ 按 2 修改密码 ║\n");
printf(" ╠═══════════╣\n");
printf(" ║ 按 3 取消密码设置 ║\n");
printf(" ╠═══════════╣\n");
printf(" ║ 按 4 返回上一级 ║\n");
printf(" ╠═══════════╣\n");
printf(" ║ 按 5 退出程序 ║\n");
printf(" ╚═══════════╝\n");
fflush(stdin);
i=getch();
switch(i)
{
case 49:
setnewpassword();
rewind(fp);
goto again0;
case 50:
amendoldpassword();
rewind(fp);
goto again0;
case 51:
cancelpassword();
rewind(fp);
goto again0;
case 52:
fclose(fp);
return;
case 53:
fclose(fp);
exit(0);
default:
goto again0;
}
}
void main()
{
int i;
again1:
system("cls");
printf("\n\n\n\n\n");
printf(" ╔══════════╗\n");
printf(" ║ 职工管理系统 ║\n");
printf(" ╚══════════╝\n");
printf(" ╔══════════════════╗\n");
printf(" ║ 按 1 建立一个新的职工信息文件 ║\n");
printf(" ╠══════════════════╣\n");
printf(" ║ 按 2 打开一个已存在的职工信息文件 ║\n");
printf(" ╠══════════════════╣\n");
printf(" ║ 按 3 加密职工信息文件 ║\n");
printf(" ╠══════════════════╣\n");
printf(" ║ 按 4 退出程序 ║\n");
printf(" ╚══════════════════╝\n");
fflush(stdin);
i=getch();
switch(i)
{
case 49:
creat();
goto again1;
case 50:
openfile();
goto again1;
case 51:
setpassword();
goto again1;
case 52:
return;
default:
goto again1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -