?? qiye.txt
字號:
int i=0;
char delname[8];
FILE *fp;
if((fp=fopen("employee.txt","w"))==NULL)
{
printf("文件為空,不能夠打開\n");
printf("按任意鍵返回\n");
getch();
return;
}
printf("請你輸入要刪除的人的姓名:\n");//刪除的職工的信息
scanf("%s",delname);
for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
{
if(strcmp(em[i].name,delname)!=0)
fwrite(&em[i],sizeof(struct employee),1,fp);
}
fclose(fp);
if((fp=fopen("employee.txt","r"))==NULL)//顯示新的職工的信息
return;
printf("新的職工的信息為:\n");
for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
{
printf("工號%d",em[i].num);
printf("職位為%d",em[i].position);
printf("1為董事長2為總經理3為副總經理\n");
printf("4為經理5為副經理6為秘書\n");
printf("7為技術員8為領班9為員工\n");
printf("姓名為%s",em[i].name[8]);
printf("性別為%s",em[i].sex[2]);
printf("其中m為男f為女");
printf("文化程度為%d",em[i].cult);
printf("1為專家2為博士3為碩士4為學士5為其他\n");
printf("工資為%d",em[i].salary);
printf("身體情況為%d",em[i].state);
printf("1好2為一般3為差\n");
fclose(fp);
}
}
void count()
{
FILE *fp;
int i=0;
int num=0;//總人數統計
int mnum=0,fnum=0;//性別人數統計
int expernum=0,doctornum=0,masternum=0,bechelornum=0,othernum=0;//學位人數統計
int dsznum=0,zglnum=0,fzglnum=0,glnum=0,fglnum=0;//職位人數統計
int mishunum=0,jsynum=0,lbnum=0,ygnum=0;
if((fp=fopen("employee.txt","r"))==NULL)
{
printf("不能夠打開這個文件\n");
printf("按任意鍵繼續\n");
getch();
return;
}
do
{
fread(&em[i],sizeof(struct employee),1,fp);
if(feof(fp))
break;
num++;
if(strcmp(em[i].sex,"m")==0)
mnum++;
if(strcmp(em[i].sex,"f")==0)
fnum++;
if(em[i].cult==1)
expernum++;
if(em[i].cult==2)
doctornum++;
if(em[i].cult==3)
masternum++;
if(em[i].cult=4)
bechelornum++;
if(em[i].cult=5)
othernum++;
if(em[i].position==1)//職位統計
dsznum++;
if(em[i].position==2)
zglnum++;
if(em[i].position==3)
fzglnum++;
if(em[i].position==4)
glnum++;
if(em[i].position==5)
fglnum++;
if(em[i].position==6)
mishunum++;
if(em[i].position==7)
jsynum++;
if(em[i].position==8)
lbnum++;
if(em[i].position==9)
ygnum++;
i++;
}while(1);
printf("總人數為%d\n",num);
printf("====性別分類=====\n");
printf("男人數為%d\n",mnum);
printf("女人數為%d\n",fnum);
printf("=====文憑分類=====\n");
printf("專家數為%d\n",expernum);
printf("博士數為%d\n",doctornum);
printf("碩士數為%d\n",masternum);
printf("學士數為%d\n",bechelornum);
printf("其他的數為%d\n",othernum);
printf("=====職位分類========\n");
printf("董事長數為%d\n",dsznum);
printf("總經理數為%d\n",zglnum);
printf("副總經理數為%d",fzglnum);
printf("經理數為%d",glnum);
printf("副經理數為%d",fglnum);
printf("秘書數為%d",mishunum);
printf("技術員數為%d",jsynum);
printf("領班人數為%d",lbnum);
printf("員工數為%d",ygnum);
fclose(fp);
return;
}
void query()
{
FILE *fp;
int i=0;
char quename[8];
if((fp=fopen("employee.txt","r"))==NULL)
{
printf("不能夠打開文件,按任意鍵返回\n");
getch();
return;
}
printf("請你輸入要查詢的人的姓名\n");
scanf("%s",quename);
for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)
{
if(strcmp(em[i].name,quename)==0) /*找到,并顯示該職工記錄*/
{
printf("\t\t\n查詢到的職工號或姓名為的信息如下:\n");
printf("以下是你要查詢的人的信息\n");
printf("工號%d",em[i].num);
printf("職位為%d",em[i].position);
printf("\t1為董事長2為總經理3為副總經理\n");
printf("\t4為經理5為副經理6為秘書\n");
printf("\t7為技術員8為領班9為員工\n");
printf("姓名為%s",em[i].name);
printf("性別為%s",em[i].sex);
printf("\t其中m為男f為女");
printf("文化程度為%d",em[i].cult);
printf("\t1為專家2為博士3為碩士4為學士5為其他\n");
printf("工資為%d",em[i].salary);
printf("身體情況為%d",em[i].state);
printf("\n");
printf("查詢完畢,按任意鍵返回\n");
getch();
fclose(fp);
return;
}
}
printf("沒有這樣的人,按任意鍵返回\n");
getch();
fclose(fp);
return;
}
void querysalary()
{
int i;
FILE *fp1,*fp2;
creat();
if((fp1=fopen("employee.txt","w+"))==NULL)
return;
for(i=0;fread(&em[i],sizeof(struct employee),1,fp1)!=0;i++)
{
printf("輸出結果為:\n");
printf("工號%d",em[i].num);
printf("職位為%d",em[i].position);
printf("1為董事長2為總經理3為副總經理\n");
printf("4為經理5為副經理6為秘書\n");
printf("7為技術員8為領班9為員工\n");
printf("姓名為%s",em[i].name[8]);
printf("性別為%s",em[i].sex[2]);
printf("其中m為男f為女");
printf("文化程度為%d",em[i].cult);
printf("1為專家2為博士3為碩士4為學士5為其他\n");
printf("工資為%d",em[i].salary);
printf("身體情況為%d",em[i].state);
printf("1好2為一般3為差\n");
strcpy(emps[i].name,em[i].name);
emps[i].salary=em[i].salary;
}
if((fp2=fopen("empsalary.txt","w"))==NULL)
return;
for(i=0;i<N;i++)
fwrite(&emps[i],sizeof(struct empsalary),1,fp2);
fclose(fp1);
fclose(fp2);
}
void creat()
{
FILE *fp;
if((fp=fopen("employee.txt","w+"))==NULL)
return;
input();
fclose(fp);
}
void communicate()
{
int choicecommunicate;
printf("歡迎進入通訊錄系統\n");
printf("請你選擇操作類型:\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf("1為輸入通訊錄信息\n");
printf("2為查詢通訊錄信息\n");
printf("3為修改通訊錄信息\n");
printf("0為退出通訊錄系統\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
scanf("%d",&choicecommunicate);
switch(choicecommunicate)
{
case 1:
inputcommunicate();
break;
case 2:
querycommunicate();
break;
case 3:
changecommunicate();
break;
case 0:
{
printf("謝謝使用再見\n");
printf("按任意鍵返回\n");
getch();
return;
}
default:
printf("輸入有錯\n");
}
}
void inputcommunicate()
{
FILE *fp;
int choiceincom='y';
int i=0;
if((fp=fopen("empcom.txt","w"))==NULL)
{
printf("不能夠打開文件\n");
printf("任意鍵返回\n");
getch();
return;
}
printf("請你輸入通訊錄的信息:\n");
while(choiceincom=='y'||choiceincom=='Y')
{
i++;
printf("第%d個職工\n",i);
printf("請你輸入姓名:\n");
scanf("%s",empc[i].name);
printf("請你輸入辦公室電話號碼:\n");
scanf("%s",empc[i].officetel);
printf("請你輸入家庭電話號碼:\n");
scanf("%s",empc[i].hometel);
printf("請你輸入手機號碼:\n");
scanf("%s",empc[i].handtel);
printf("請你輸入地址:\n");
}
; scanf("%s",empc[i].address);
printf("是否繼續輸入?(y/n)\n");
choiceincom=getch();
fwrite(&empc[i],sizeof(struct communication),1,fp);
}
if(toupper(choiceincom)=='N')
{
fclose(fp);
printf("輸入完畢,任意鍵返回\n");
return;
}
}
void querycommunicate()
{
FILE *fp;
int i=0;
char qcname[8];
if((fp=fopen("empcom.txt","r"))==NULL)
{
printf("不能夠打開文件,按任意鍵返回\n");
getch();
return;
}
printf("請你輸入要查詢的人的姓名:\n");
scanf("%s",qcname);
for(i=0;fread(&empc[i],sizeof(struct communication),1,fp)!=0;i++)
{
if(strcmp(empc[i].name,qcname)==0)
{
printf("以下為您所要求的信息:\n");
printf("姓名為%s\n",empc[i].name);
printf("辦公室電話號碼為%s\n",empc[i].officetel);
printf("家庭電話號碼為%s\n",empc[i].hometel);
printf("手機號碼為%s\n",empc[i].handtel);
printf("家庭地址為%s\n",empc[i].address);
printf("查詢完畢,按任意鍵返回\n");
getch();
fclose(fp);
return;
}
}
printf("沒有這樣的人,按任意鍵返回\n");
getch();
fclose(fp);
return;
}
void changecommunicate()
{
FILE *fp;
int i=0;
char chcname[8];
int choicecom;
if((fp=fopen("empcom.txt","w+"))==NULL)
{
printf("打不開文件按任意鍵返回\n");
getch();
return;
}
printf("請你輸入你要修改的人的姓名:\n");
scanf("%s",chcname);
for(i=0;fread(&empc[i],sizeof(struct communication),1,fp)!=0;i++)
{
if(strcmp(empc[i].name,chcname)==0)
{
printf("以下為您所要修改的人的信息:\n");
printf("姓名為%s\n",empc[i].name);
printf("辦公室電話號碼為%s\n",empc[i].officetel);
printf("家庭電話號碼為%s\n",empc[i].hometel);
printf("手機號碼為%s\n",empc[i].handtel);
printf("家庭地址為%s\n",empc[i].address);
printf("請你選擇要修改的東西:\n");
printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
printf("1修改辦公室電話號碼\n");
printf("2修改家庭電話號碼\n");
printf("3修改手機電話號碼\n");
printf("0退出系統\n");
printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
scanf("%d",&choicecom);
switch(choicecom)
{
case 1:
changetel1();
break;
case 2:
changetel2();
break;
case 3:
changetel3();
break;
case 0:
return;
default:
printf("輸入有錯\n");
}
}
}
}
void changetel1()
{
printf("參照上面有時間再編\n");
}
void changetel2()
{
printf("參照上面有時間再編\n");
}
void changetel3()
{
printf("參照上面有時間再編\n");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -