?? qiye.txt
字號:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define N 100
struct employee//職工基本情況
{
int num;//工號
int position;//職位1為董事長2為總經理3為副總經理等
char name[8];//姓名
char sex[2];//性別f為女m為男
int age;//年齡
int cult;//文化程度1為專家2為博士3為碩士4為學士5為其他
int salary;//工資
int state;//健康情況分為good,general,bad
}em[N];
struct communication//職工通訊錄
{
char name[8];
char officetel[13];
char hometel[13];
char handtel[13];
char address[13];
}empc[N];
struct empsalary//職工工資與姓名的文件
{
char name[8];
int salary;
}emps[N];
void manage();
void query();
void communicate();
void input();
void display();
void change();
void del();
void add();
void count();
int changeposition();
int changecult();
int changesalary();
int changestate();
void querysalary();
void creat();
void inputcommunicate();
void querycommunicate();
void changecommunicate();
void changetel1();
void changetel2();
void changetel3();
char password[7]="123456";
void main()
{
int choice;
char s[7];
int flag=0;
int n=3;
do
{
printf("請你輸入密碼:\n");
scanf("%s",s);
if(!strcmp(s,password))//若密碼正確
{
printf("恭喜你成功登陸了\n\n\n");
flag=1;
break;
}
else
{
printf("輸入有錯誤請重新輸入:\n");
n--;
}
}while(n>0);
if(!flag)
{
printf("由于你輸入次數已經沒有機會\n");
}
do
{
printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n");
printf("\t\t歡迎進入職工管理系統中文版\n");
printf("制作人:李華詩\t班級:計034班\t學號:2003041150\n");
printf("聯系地址:廣西工學院\n");
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
printf("\t\t請你選擇操作類型:\n");
printf("==============\t\t==============\n");
printf("\t\t1進入管理系統\n");
printf("\t\t2進入查詢系統\n");
printf("\t\t3進入通訊錄\n");
printf("\t\t0退出系統\n");
printf("==============\t\t==============\n");
printf("說明:版權歸作者所有違者必究\n\n\n\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
manage();
break;
case 2:
query();
break;
case 3:
communicate();
break;
case 0:
{
printf("謝謝使用再見\n");
exit(0);
}
default:
{
printf("輸入有錯誤請重新輸入:\n");
return;
}
}
}while(1);
}
void manage()
{
int choicemanage;
char choice='y';
while(choice=='y'||choice=='Y')
{
printf("\t\t歡迎進入管理系統\n");
printf("===================\n");
printf("\t\t請你選擇操作類型:\n");
printf("\t\t1輸入職工信息\n");
printf("\t\t2顯示職工信息\n");
printf("\t\t3修改職工信息\n");
printf("\t\t4追加一個職工信息\n");
printf("\t\t5刪除一個職工信息\n");
printf("\t\t6統計職工信息\n");
printf("\t\t0返回\n");
printf("=====================\n");
scanf("%d",&choicemanage);
switch(choicemanage)
{
case 1:
input();//輸入職工信息
break;
case 2:
display();//顯示職工信息
break;
case 3:
change();//修改職工信息
break;
case 4:
add();//追加一個職工信息
break;
case 5:
del();//刪除一個職工信息
break;
case 6:
count();//統計職工信息
break;
case 0:
printf("謝謝你的使用再見\n");
return;
default:
printf("你的輸入有錯請重新輸入\n");
}
printf("是否繼續管理?(y/n)");
scanf("%s",&choice);
}
if(toupper(choice)=='N'||(choice)=='n')
{
printf("輸入完畢,任意鍵返回\n");
getch();
return;
}
}
void input()
{
FILE *fp;
int i=0;
char choiceinput='y';
if((fp=fopen("employee.txt","w"))==NULL)
return;
while(choiceinput=='y'||choiceinput=='Y')
{
i++;
printf("第%d個職工\n",i);
printf("\n");
printf("請你輸入工號:\n");//輸入工號
scanf("%d",&em[i].num);
printf("\n");
printf("請你輸入職位:\n");//輸入職位
printf("1為董事長2為總經理3為副總經理\n");
printf("4為經理5為副經理6為秘書\n");
printf("7為技術員8為領班9為員工\n");
scanf("%d",&em[i].position);
printf("\n");
printf("請你輸入姓名:\n");//輸入姓名
scanf("%s",em[i].name);
printf("\n");
printf("請你輸入性別以m為男f為女:\n");//輸入性別
scanf("%s",em[i].sex);
printf("\n");
printf("請你輸入文化程度:\n");//輸入文化程度
printf("1為專家2為博士3為碩士4為學士5為其他\n");
scanf("%d",&em[i].cult);
printf("\n");
printf("請你輸入工資:\n");//輸入工資
scanf("%d",&em[i].salary);
printf("\n");
printf("請你輸入身體情況:\n");//身體情況
printf("1好2為一般3為差\n");
scanf("%d",&em[i].state);
printf("\n");
printf("是否繼續輸入?(y/n)\n");
scanf("%s",&choiceinput);
fwrite(&em[i],sizeof(struct employee),1,fp);
}
if(toupper(choiceinput)=='N')
{
fclose(fp);
printf("輸入完畢,任意鍵返回\n");
getch();
return;
}
}
void display()//顯示職工信息
{
FILE *fp;
int i;
if((fp=fopen("employee.txt","r"))==NULL)
return;
printf("輸出結果:\n");
printf("工號 職位 姓名 性別 文化程度 工資 身體情況\n");
for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
{
printf("工號%d\n",em[i].num);
printf("職位為%d\n",em[i].position);
printf("1為董事長2為總經理3為副總經理\n");
printf("4為經理5為副經理6為秘書\n");
printf("7為技術員8為領班9為員工\n");
printf("姓名為%s\n",em[i].name);
printf("性別為%s\n",em[i].sex);
printf("其中m為男f為女\n");
printf("文化程度為%d\n",em[i].cult);
printf("1為專家2為博士3為碩士4為學士5為其他\n");
printf("工資為%d\n",em[i].salary);
printf("身體情況為%d\n",em[i].state);
printf("1好2為一般3為差\n");
}
printf("完畢按任意鍵返回\n");
getch();
fclose(fp);
return;
}
void change()
{
FILE *fp;
int i;
char chname[8];
int choicechange;
printf("請你輸入要修改的人的姓名:\n");
scanf("%s",&chname);
if((fp=fopen("employee.txt","w+"))==NULL)
{
printf("不能夠打開這個文件\n");
return;
}
for(i=0;i<N;i++)
{
if(strcmp(chname,em[i].name)==0)
{
printf("這是你要修改的人的信息\n");
printf("工號為%d職位為%d姓名為%s性別為%s文化程度為%d工資為%d身體為%d\n",em[i].num,em[i].position,em[i].name,em[i].sex,em[i].cult,em[i].salary,em[i].state);
printf("------------------------------------------------------------\n");
printf("請你輸入要修改的部分:\n");
printf("======================\n");
printf("1修改職位\n");
printf("2修改文化程度\n");
printf("3修改工資\n");
printf("4修改身體情況\n");
printf("0退出系統\n");
printf("======================\n");
printf("請選擇\n");
scanf("%d",&choicechange);
switch(choicechange)
{
case 1:
em[i].position=changeposition();
break;
case 2:
em[i].cult=changecult();
break;
case 3:
em[i].salary=changesalary();
break;
case 4:
em[i].state=changestate();
break;
case 0:
return;
default :
printf("輸入有錯誤");
}
fwrite(&em[i],sizeof(struct employee),1,fp);
}
}
fclose(fp);
printf("操作完成按任意鍵返回\n");
getch();
return;
}
int changeposition()
{
int newposition;
printf("請你輸入新職位:\n");
printf("1為董事長2為總經理3為副總經理\n");
printf("4為經理5為副經理6為秘書\n");
printf("7為技術員8為領班9為員工\n");
scanf("%d",&newposition);
return(newposition);
}
int changecult()
{
int newcult;
printf("請你輸入新的文憑:\n");
printf("1為專家2為博士3為碩士4為學士5為其他\n");
scanf("%d",&newcult);
return(newcult);
}
int changesalary()
{
int newsalary;
printf("請你輸入新的工資:\n");
scanf("%d",&newsalary);
return(newsalary);
}
int changestate()
{
int newstate;
printf("請你輸入現在的身體情況:\n");
printf("1好2為一般3為差\n");
scanf("%d",&newstate);
return(newstate);
}
void add()//追加一個職工信息
{
struct employee emp;
FILE *fp;
int i=0;
if((fp=fopen("employee.txt","ab+"))==NULL)
{
printf("不能夠打開這個文件\n");
getch();
return;
}
printf("請你輸入新人的內容:\n");
printf("請你輸入工號:\n");//輸入工號
scanf("%d",&emp.num);
printf("請你輸入職位:\n");//輸入職位
printf("1為董事長2為總經理3為副總經理\n");
printf("4為經理5為副經理6為秘書\n");
printf("7為技術員8為領班9為員工\n");
scanf("%d",&emp.position);
printf("請你輸入姓名:\n");//輸入姓名
scanf("%s",emp.name);
printf("請你輸入性別以m為男f為女:\n");//輸入性別
scanf("%s",emp.sex);
printf("請你輸入文化程度:\n");//輸入文化程度
printf("1為專家2為博士3為碩士4為學士5為其他\n");
scanf("%d",&emp.cult);
printf("請你輸入工資:\n");//輸入工資
scanf("%d",&emp.salary);
printf("請你輸入身體情況:\n");//身體情況
printf("1好2為一般3為差\n");
scanf("%d",&emp.state);
fwrite(&emp,sizeof(struct employee),1,fp);
rewind(fp);
printf("插入完畢,按任意鍵返回\n");
getch();
fclose(fp);
return;
}
void del()//刪除一個職工信息
{
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -