?? 職工管理系統.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(" ╠═══════════╣\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 + -