當前位置:首頁 » 編程語言 » c語言更改員工信息
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言更改員工信息

發布時間: 2023-01-29 16:01:35

A. c語言課程設計之公司員工信息管理系統怎麼做

1、員工信息管理系統是事業單位科學、全面、高效進行人事管理的系統,參考大量中國人力資源管理理論,根植於國內管理的實際情況,實用而科學。內容包括機構的建立和維護,人員信息的錄入和輸出,工資的調整和發放以及各類報表的繪制和輸出等功能。在操作上集輸入、維護、查詢、統計、列印、輸出等處理為一體,簡便靈活,自動化功能強大。


2、常式:

#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<string.h>
#defineN100
structemployee
{
intnum;
charname[10];
charsex;
intage;
charxueli[30];
intwage;
charaddr[30];
longinttel;
}em[100];/*定義一個結構體*/
voidmenu();
voidinput();
voidsave(int);
voiddisplay();
voiddel();
voidadd();
voidsearch();
voidsearch_num();
voidsearch_xueli();
voidsearch_tel();
voidmodify();/*定義各函數*/
voidmenu()/*菜單函數*/
{
printf("☆☆☆計算機科學與技術學系☆☆☆ ");
printf(" ");
printf("∮08802班關麗霞∮ ");
printf(" ");
printf("******************職工信息管理**************** ");
printf("1.錄入職工信息");
printf("2.瀏覽職工信息 ");
printf("3.查詢職工信息");
printf("4.刪除職工信息 ");
printf("5.添加職工信息");
printf("6.修改職工信息 ");
printf("7.退出 ");
printf("********************謝謝使用****************** ");
printf(" ");
printf(" ");

}
voidmain()
{
menu();/*調用菜單函數*/
intn,flag;
chara;
do
{
printf("請選擇你需要操作的步驟(1--7): ");
scanf("%d",&n);
if(n>=1&&n<=7)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(n)
{
case1:printf("◆◆◆輸入職工信息◆◆◆ ");printf(" ");input();break;
case2:printf("◆◆◆瀏覽職工信息◆◆◆ ");printf(" ");display();break;
case3:printf("◆◆◆按職工號查詢職工信息◆◆◆ ");printf(" ");search();break;
case4:printf("◆◆◆刪除職工信息◆◆◆ ");printf(" ");del();break;
case5:printf("◆◆◆添加職工信息◆◆◆ ");printf(" ");add();break;
case6:printf("◆◆◆修改職工信息◆◆◆ ");printf(" ");modify();break;
case7:exit(0);break;
default:break;
}
getchar();
printf(" ");
printf("是否繼續進行(yorn): ");
scanf("%c",&a);
if(a=='y')
{
flag=1;
system("cls");/*清屏*/
menu();/*調用菜單函數*/
printf("請再次選擇你需要操作的步驟(1--6): ");
scanf("%d",&n);
printf(" ");
}

else
exit(0);
}

}
voidinput()/*錄入函數*/
{
inti,m;
printf("請輸入需要創建信息的職工人數(1--100): ");
scanf("%d",&m);
for(i=0;i<m;i++)
{
printf("職工號:");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d",em[i].num);
printf(" ");
printf("請輸入姓名:");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女m--男):");
scanf("%c",&em[i].sex);
printf("請輸入年齡:");
scanf("%d",&em[i].age);
printf("請輸入學歷:");
scanf("%s",em[i].xueli);
printf("請輸入工資:");
scanf("%d",&em[i].wage);
printf("請輸入住址:");
scanf("%s",em[i].addr);
printf("請輸入電話:");
scanf("%d",&em[i].tel);
printf(" ");

}
printf(" 創建完畢! ");
save(m);
}
voidsave(intm)/*保存文件函數*/
{
inti;
FILE*fp;
if((fp=fopen("employee_list","wb"))==NULL)/*創建文件並判斷是否能打開*/
{
printf("cannotopenfile ");
exit(0);
}
for(i=0;i<m;i++)/*將內存中職工的信息輸出到磁碟文件中去*/
if(fwrite(&em[i],sizeof(structemployee),1,fp)!=1)
printf("filewriteerror ");
fclose(fp);
}
intload()/*導入函數*/
{
FILE*fp;
inti=0;
if((fp=fopen("employee_list","rb"))==NULL)
{
printf("cannotopenfile ");
exit(0);
}
else
{
do
{
fread(&em[i],sizeof(structemployee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}
voiddisplay()/*瀏覽函數*/
{
inti;
intm=load();
printf(" 職工號 姓名 性別 年齡 學歷 工資 住址 電話 ");
for(i=0;i<m;i++)/*m為輸入部分的職工人數*/
printf(" %d %s %c %d %s %d %s %ld ",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
}
voiddel()/*刪除函數*/
{

intm=load();
inti,j,n,t,flag;
charname[20];
printf(" 原來的職工信息: ");
display();/*調用瀏覽函數*/
printf(" ");
printf("請輸入要刪除的職工的姓名: ");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf(" 已找到此人,原始記錄為: ");
printf(" 職工號 姓名 性別 年齡 學歷 工資 住址 電話 ");
printf(" %d %s %c %d %s %d %s %ld ",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf(" 確實要刪除此人信息請按1,不刪除請按0 ");
scanf("%d",&n);
if(n==1)/*如果刪除,則其他的信息都往上移一行*/
{
for(j=i;j<m-1;j++)
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
em[j].tel=em[j+1].tel;
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf(" 對不起,查無此人! ");
printf(" 瀏覽刪除後的所有職工信息: ");
save(m);/*調用保存函數*/
display();/*調用瀏覽函數*/
printf(" 繼續刪除請按1,不再刪除請按0 ");
scanf("%d",&t);
switch(t)
{
case1:del();break;
case0:break;
default:break;
}
}
voidadd()/*添加函數*/
{
FILE*fp;
intn;
intcount=0;
inti;
intm=load();
printf(" 原來的職工信息: ");
display();/*調用瀏覽函數*/
printf(" ");
fp=fopen("emploee_list","a");
printf("請輸入想增加的職工數: ");
scanf("%d",&n);
for(i=m;i<(m+n);i++)
{
printf(" 請輸入新增加職工的信息: ");
printf("請輸入職工號:");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d",em[i].num);
printf(" ");
printf("請輸入姓名:");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女m--男):");
scanf("%c",&em[i].sex);
printf("請輸入年齡:");
scanf("%d",&em[i].age);
printf("請輸入學歷:");
scanf("%s",em[i].xueli);
printf("請輸入工資:");
scanf("%d",&em[i].wage);
printf("請輸入住址:");
scanf("%s",em[i].addr);
printf("請輸入電話:");
scanf("%d",&em[i].tel);
printf(" ");
count=count+1;
printf("已增加的人數: ");
printf("%d ",count);
}
printf(" 添加完畢! ");
m=m+count;
printf(" 瀏覽增加後的所有職工信息: ");
printf(" ");
save(m);
display();
fclose(fp);
}
voidsearch()/*查詢函數*/
{
intt,flag;
do
{
printf(" 按職工號查詢請按1;按學歷查詢請按2;按電話號碼查詢請按3,進入主函數按4 ");
scanf("%d",&t);
if(t>=1&&t<=4)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(t)
{
case1:printf("按職工號查詢 ");search_num();break;
case2:printf("按學歷查詢 ");search_xueli();break;
case3:printf("按電話號碼查詢 ");search_tel();break;
case4:main();break;
default:break;
}

}
}
voidsearch_num()
{
intnum;
inti,t;
intm=load();
printf("請輸入要查找的職工號(20001111---20009999): ");
scanf("%d",&num);
for(i=0;i<m;i++)
if(num==em[i].num)
{
printf(" 已找到此人,其記錄為: ");
printf(" 職工號 姓名 性別 年齡 學歷 工資 住址 電話 ");
printf(" %d %s %c %d %s %d %s %ld ",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf(" 對不起,查無此人 ");
printf(" ");
printf("返回查詢函數請按1,繼續查詢職工號請按2 ");
scanf("%d",&t);
switch(t)
{
case1:search();break;
case2:break;
default:break;
}
}
voidsearch_xueli()
{
charxueli[30];
inti,t;
intm=load();
printf("請輸入要查找的學歷: ");
scanf("%s",xueli);
for(i=0;i<m;i++)
if(strcmp(em[i].xueli,xueli)==0)
{
printf(" 已找到,其記錄為: ");
printf(" 職工號 姓名 性別 年齡 學歷 工資 住址 電話 ");
printf(" %d %s %c %d %s %d %s %ld ",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}
if(i==m)
printf(" 對不起,查無此人 ");
printf(" ");
printf("返回查詢函數請按1,繼續查詢學歷請按2 ");
scanf("%d",&t);
switch(t)
{
case1:search();break;
case2:break;
default:break;
}

}
voidsearch_tel()
{
longinttel;
inti,t;
intm=load();
printf("請輸入要查找的電話號碼: ");
scanf("%ld",&tel);
for(i=0;i<m;i++)
if(tel==em[i].tel)
{
printf(" 已找到此人,其記錄為: ");
printf(" 職工號 姓名 性別 年齡 學歷 工資 住址 電話 ");
printf(" %d %s %c %d %s %d %s %ld ",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf(" 對不起,查無此人 ");
printf(" ");
printf("返回查詢函數請按1,繼續查詢電話號碼請按2 ");
scanf("%d",&t);
switch(t)
{
case1:search();break;
case2:break;
default:break;
}

}

B. 員工信息管理系統,C語言做

以下是我的程序,剛編好的,剛好符合你的要求,看看吧,對你應該有幫助:
呵呵
#include
#include
#include
#include
#define N 100
struct employee
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
}em[100]; /*定義一個結構體*/

void menu();
void input();
void save(int);
void display();
void del();
void add();
void search();
void search_num();
void search_xueli();
void search_tel();
void modify(); /*定義各函數*/

void menu() /*菜單函數*/
{
printf(" ☆☆☆計算機科學與技術學系☆☆☆\n");
printf("\n");
printf(" ∮08802班 關麗霞∮\n");
printf("\n");
printf(" ******************職工信息管理****************\n");
printf(" 1.錄入職工信息");
printf(" 2.瀏覽職工信息\n");
printf(" 3.查詢職工信息");
printf(" 4.刪除職工信息\n");
printf(" 5.添加職工信息");
printf(" 6.修改職工信息\n");
printf(" 7.退出\n");
printf(" ********************謝謝使用******************\n");
printf("\n");
printf("\n");

}

void main()
{
menu(); /*調用菜單函數*/
int n,flag;
char a;
do
{
printf("請選擇你需要操作的步驟(1--7):\n");
scanf("%d",&n);
if(n>=1&&n<=7)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(n)
{
case 1:printf(" ◆◆◆輸入職工信息◆◆◆\n");printf("\n");input();break;
case 2:printf(" ◆◆◆瀏覽職工信息◆◆◆\n");printf("\n");display();break;
case 3:printf(" ◆◆◆按職工號查詢職工信息◆◆◆\n");printf("\n");search();break;
case 4:printf(" ◆◆◆刪除職工信息◆◆◆\n");printf("\n");del();break;
case 5:printf(" ◆◆◆添加職工信息◆◆◆\n");printf("\n");add();break;
case 6:printf(" ◆◆◆修改職工信息◆◆◆\n");printf("\n");modify();break;
case 7:exit(0);break;
default :break;
}
getchar();
printf("\n");
printf("是否繼續進行(y or n):\n");
scanf("%c",&a);
if(a=='y')
{
flag=1;
system("cls"); /*清屏*/
menu(); /*調用菜單函數*/
printf("請再次選擇你需要操作的步驟(1--6):\n");
scanf("%d",&n);
printf("\n");
}

else
exit(0);
}

}

void input() /*錄入函數*/
{
int i,m;
printf("請輸入需要創建信息的職工人數(1--100):\n");
scanf("%d",&m);
for (i=0;i<m;i++)
{
printf("職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");

}
printf("\n創建完畢!\n");
save(m);
}

void save(int m) /*保存文件函數*/
{
int i;
FILE*fp;
if ((fp=fopen("employee_list","wb"))==NULL) /*創建文件並判斷是否能打開*/
{
printf ("cannot open file\n");
exit(0);
}
for (i=0;i<m;i++) /*將內存中職工的信息輸出到磁碟文件中去*/
if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}

int load() /*導入函數*/
{
FILE*fp;
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)
{
printf ("cannot open file\n");
exit(0);
}
else
{
do
{
fread(&em[i],sizeof(struct employee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}

void display() /*瀏覽函數*/
{
int i;
int m=load();
printf("\n 職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
for(i=0;i<m;i++) /*m為輸入部分的職工人數*/
printf("\n %d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
}

void del() /*刪除函數*/
{

int m=load();
int i,j,n,t,flag;
char name[20];
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要刪除的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要刪除此人信息請按1,不刪除請按0\n");
scanf("%d",&n);
if(n==1) /*如果刪除,則其他的信息都往上移一行*/
{
for(j=i;j<m-1;j++)
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
em[j].tel=em[j+1].tel;
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n對不起,查無此人!\n");
printf("\n 瀏覽刪除後的所有職工信息:\n");
save(m); /*調用保存函數*/
display(); /*調用瀏覽函數*/
printf("\n繼續刪除請按1,不再刪除請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:del();break;
case 0:break;
default :break;
}
}

void add()/*添加函數*/
{
FILE*fp;
int n;
int count=0;
int i;
int m=load();
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
fp=fopen("emploee_list","a");
printf("請輸入想增加的職工數:\n");
scanf("%d",&n);
for (i=m;i<(m+n);i++)
{
printf("\n 請輸入新增加職工的信息:\n");
printf("請輸入職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");
count=count+1;
printf("已增加的人數:\n");
printf("%d\n",count);
}
printf("\n添加完畢!\n");
m=m+count;
printf("\n瀏覽增加後的所有職工信息:\n");
printf("\n");
save(m);
display();
fclose(fp);
}

void search()/*查詢函數*/
{
int t,flag;
do
{
printf("\n按職工號查詢請按1 ; 按學歷查詢請按2 ; 按電話號碼查詢請按3,進入主函數按4\n");
scanf("%d",&t);
if(t>=1&&t<=4)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(t)
{
case 1:printf("按職工號查詢\n");search_num();break;
case 2:printf("按學歷查詢\n");search_xueli();break;
case 3:printf("按電話號碼查詢\n");search_tel();break;
case 4:main();break;
default:break;
}

}

}

void search_num()
{
int num;
int i,t;
int m=load();
printf("請輸入要查找的職工號(20001111---20009999):\n");
scanf("%d",&num);
for(i=0;i<m;i++)
if(num==em[i].num)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢職工號請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2: break;
default:break;
}
}

void search_xueli()
{
char xueli[30];
int i,t;
int m=load();
printf("請輸入要查找的學歷:\n");
scanf("%s",xueli);
for(i=0;i<m;i++)
if(strcmp(em[i].xueli,xueli)==0)
{
printf("\n已找到,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢學歷請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2:break;
default :break;
}

}

void search_tel()
{
long int tel;
int i, t;
int m=load();
printf("請輸入要查找的電話號碼:\n");
scanf("%ld",&tel);
for(i=0;i<m;i++)
if(tel==em[i].tel)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢電話號碼請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2:break;
default :break;
}

}

void modify() /*修改函數*/
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
int b,c,i,n,t,flag;
int m=load(); /*導入文件內的信息*/
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要修改的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要修改此人信息請按1 ; 不修改請按0\n");
scanf("%d",&n);
if(n==1)
{
printf("\n需要進行修改的選項\n 1.職工號 2.姓名 3.性別 4.年齡 5.學歷 6.工資 7.住址 8.電話\n");
printf("請輸入你想修改的那一項序號:\n");
scanf("%d",&c);
if(c>8||c<1)
printf("\n選擇錯誤,請重新選擇!\n");
}
flag=0;
}

}
if(flag==1)
printf("\n對不起,查無此人!\n");
do
{
switch(c) /*因為當找到第i個職工時,for語句後i自加了1,所以下面的應該把改後的信息賦值給第i-1個人*/
{
case 1:printf("職工號改為: ");
scanf("%d",&num);
em[i-1].num=num;
break;
case 2:printf("姓名改為: ");
scanf("%s",name);
strcpy(em[i-1].name,name);
break;
case 3:printf("性別改為: ");
getchar();
scanf("%c",&sex);
em[i-1].sex=sex;
break;
case 4:printf("年齡改為: ");
scanf("%d",&age);
em[i-1].age=age;
break;
case 5:printf("學歷改為: ");
scanf("%s",xueli);
strcpy(em[i-1].xueli,xueli);
break;
case 6:printf("工資改為: ");
scanf("%d",wage);
break;
case 7:printf("住址改為: ");
scanf("%s",addr);
strcpy(em[i-1].addr,addr);
break;
case 8:printf("電話改為: ");
scanf("%ld",&tel);
em[i-1].tel=tel;
break;
}
printf("\n");
printf("\n是否確定所修改的信息?\n 是 請按1 ; 不,重新修改 請按2: \n");
scanf("%d",&b);

}
while(b==2);
printf("\n瀏覽修改後的所有職工信息:\n");
printf("\n");
save(m);
display();
printf("\n繼續修改請按1,不再修改請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();break;
case 0:break;
default :break;
}

}

C. C語言:麻煩給程序加個輸入一個職工號,用折半查找法找出改職工的姓名的功能,謝謝了

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void inputstud (struct employee *stud);
void printstud (struct employee *stud);
void savestud (struct employee *stud);
void SR(struct employee *stud);
struct employee
{
unsigned unm; /*這應該用無符號整型吧!*/
char sex[15];
char old[15];
char nation[15];
}
stud[100];
int n=0; /*職工數*/
void main()
{
int x;
meun: while (1)
{
system ("cls"); /*清屏*/
printf ("\n");
printf ("\t\t\t\t 職工信息管理系統\n");
printf ("\n");
printf ("\t\t\t\t 1:職工信息錄入\n");
printf ("\t\t\t\t 2:職工信息輸出\n");
printf ("\t\t\t\t 3:職工信息保存\n");
printf ("\t\t\t\t 4:退出\n");
printf("\t\t\t\t\t5:查找並替換職工信息");
printf ("\n");
printf ("\t 請按序號(1~4)選擇:");
scanf ("%d",&x);
switch (x)
{
case 1:inputstud (stud);break;
case 2:printstud (stud);break;
case 3:savestud (stud);break;
case 5:SR(stid);break;
default :exit (0);
}
}
}
void inputstud (struct employee *stud) /*數據輸入*/
{
char ch1, ch;
system ("cls");
while (1)
{
printf ("請輸入職工號:");
scanf ("%u",&stud[n].num);
printf ("請輸入姓名:");
scanf ("%s",stud[n].name);
printf ("請輸入性別:");
scanf ("%s",stud[n].sex);
printf ("請輸入年齡");
scanf ("%s",stud[n].old);
printf ("請輸入民族");
scanf ("%s",stud[n].nation);
printf ("是否繼續輸入數據(y/n):");
ch=getchar();
ch1=getchar();
n++;
if (ch=='n'||ch=='N') break;
} /*統計人數*/
printf ("\n\t 數據輸入完畢!\n");
}

void printstud (struct employee *stud)
{
int i,j;
struct employee b; /*定義結構體變數b*/
system ("cls");
for (i=0;i<n-1;i++) /*冒泡*/
{
if ( stud[i].unm>stud[i+1].unm) /*串比較大小用strcmp*/
{
b=stud[i];
stud[i]=stud[i+1];
stud[i+1]=b;
}
}
printf ("以下是所有職工的信息\n");
for (i=0;i<n;i++)
{
printf ("%6u%6s%6s%6s%6s\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].old,stud[i].nation);
}
printf ("請按任意數字鍵返回主菜單")
/*這句看不懂,不知道他的作用,不懂*/
getchar();
getchar();
}
void savestud (struct employee *stud)
{
int i;
FILE *fp;
fp=fopen ("d:\\employee.dat","w"); (二進制好像是.bin)
for (i=0;i<n;i++)
if (fwrite (&stud[i],sizeof(struct employee),1,fp)!=1)

printf ("不能保存文件!\n");

fclose (fp);
printf ("文件保存完畢!\n");
printf ("請按任意數字鍵返回主菜單");
scanf ("%d",&i);
}
void SR(struct employee *stud)
{ unsigned scompare;
char compare[15];
swhil(1)
{ char C;
if(n==0) {printf(」還未錄入數據\n");goto meun;}
printf("請選擇查找方式(1.工號查找2姓名查找、輸入#停止)\n");
C=getchar();
if (C==#) break;
int i;
if(C==1)
{ scanf("%u",&scampare);
for(i=0;i<n;n++)
if(scompare==stud[i].unm)
{printf ("%6s%6s%6s%6s%6s\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].old,stud [i].nation);
printf("請重新錄入該職工檔案:\n");}
}
eles
{ scanf("%s",scampare);
for(i=0;i<n;n++)
if(strcmp(compare,stud[i].name)==0)
{printf ("%6s%6s%6s%6s%6s\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].old,stud [i].nation);
printf("請重新錄入該職工檔案:\n");}
}
printf ("請輸入職工號:");
scanf ("%u",&stud[n].num);
printf ("請輸入姓名:");
scanf ("%s",stud[n].name);
printf ("請輸入性別:");
scanf ("%s",stud[n].sex);
printf ("請輸入年齡");
scanf ("%s",stud[n].old);
printf ("請輸入民族");
scanf ("%s",stud[n].nation);
for (i=0;i<n-1;i++) /*冒泡*/
{ if ( stud[i].unm>stud[i+1].unm) /*排序*/
{
b=stud[i];
stud[i]=stud[i+1];
stud[i+1]=b;
}
}
}}

D. c語言員工管理系統求教 急!!

樓主,我編出來了
第一次編這個,算算用了12個小時左右,汗~
程序如下
----------------------------------------------------
/*每個員工的信息包括:編號、姓名、性別、出生年月、學歷、職務、電話、住址等。系統能夠完成員工信息的查詢、更新、插入、刪除、排序等功能。
(1) 排序:按不同關鍵字,對所有員工的信息進行排序。
(2) 查詢:按特定條件查找員工。
(3) 更新:按編號對某個員工的某項信息進行修改。
(4) 插入:加入新員工的信息。
(5) 刪除:按編號刪除已離職的員工的信息。
(6) 程序要求操作方便,靈活。*/

#include <stdio.h>
#include <stdlib.h>
#include <windows.h> //清屏函數頭文件
#include <string.h>

struct Stuff
{
char number[10]; //員工編號
char name[10]; //員工姓名
char sex[8]; //員工性別
char borth[10]; //員工生日
char degree[20]; //員工學歷
char business[20]; //員工職務
char phone[15]; //員工電話
char place[50]; //員工住址
char con[50]; //判斷關鍵字專用
struct Stuff *next;
};

char Menu(void); //菜單顯示
struct Stuff *App(struct Stuff *head); //添加
void Sort(struct Stuff *head); //排序
struct Stuff *Ser(struct Stuff *head); //查找
void Chn(struct Stuff *head,char n[10]); //更改
void Scpy(char *p,char *q); //排序中用於交換員工信息
struct Stuff *Del(struct Stuff *head,char n[10]); //刪除
int Sel(char ch,struct Stuff *p,struct Stuff *q); //判斷排序及關鍵字專用函數
void Prf(struct Stuff *head); //輸出
void Fre(struct Stuff *head); //釋放
int i=1; //定義全局變數,實現實時員工人數統計

int main(void)
{
char n[10];
struct Stuff *head=NULL; //鏈表頭指針定義
while(1)
{
switch(Menu())
{
case '1':
printf("請輸入員工信息,直接輸入'#'結束\n");
head=App(head);
break;
case '2':
Sort(head);
break;
case '3':
head=Ser(head);
break;
case '4':
printf("員工信息如下:\n");
Prf(head);
break;
case '5':
printf("請輸入員工編號:");
scanf("%s",n);
Chn(head,n);
break;
case '6':
printf("請輸入員工編號:");
scanf("%s",n);
head=Del(head,n);
break;
case '0':
printf("歡迎下次光臨,88!\n");
exit(0);
default:
printf("輸入錯誤,請重新輸入!\n");
}
fflush(stdin); //清楚緩沖區
printf("按任意鍵繼續~");
getchar();
system("cls"); //清屏效果
}
Fre(head);

return 0;
}

//菜單函數
char Menu(void)
{
char ch;
printf("------------請選擇-----------\n");
printf("1.添加員工信息\n2.員工信息排序\n3.查找員工信息\n4.輸出員工信息\n5.更改員工信息\n6.刪除員工信息\n0.退出\n-----------------------------\n");
scanf(" %c",&ch);
return ch;
}

//添加成員函數
//輸入參數:鏈表頭指針
//返回參數:鏈表頭指針
struct Stuff *App(struct Stuff *head)
{
struct Stuff *p=NULL,*q=head;
while(i)
{
p=(struct Stuff *)malloc(sizeof(struct Stuff)); //申請結構體空間
if(p==NULL)
{
printf("內存不夠!\n");
exit(0);
}
p->next =NULL; //指針域為空
printf("請輸入第%d名員工:\n",i);
printf(" 編號 | 姓名 | 性別 | 出生年月 | 學歷 | 職務 | 電話 | 住址 :\n");
fflush(stdin);
scanf("%s",p->number );
if(!strcmp(p->number ,"#"))
{
free(p); //釋放不需要的結構體內存
break;
}
else
{
++i;
scanf("%s%s%s%s%s%s%s",p->name ,p->sex ,p->borth ,p->degree ,p->business ,p->phone ,p->place );
p->con[0]='\0'; //防止後面判斷出現隨機值
if(head==NULL)
head=p;
else
{
while(q->next !=NULL) //防止結束後再次輸入時出現問題
q=q->next ;
q->next =p;
}
q=p; //每次都加在鏈表尾
}
}
return head;
}

//排序函數
//輸入參數:頭指針
void Sort(struct Stuff *head)
{
char ch;
struct Stuff *p,*q,*r;
while(1)
{
printf("請選擇排序條件:1.編號2.姓名3.性別4.出生年月5.學歷6.職務7.電話8.地址0.退出\n");
scanf(" %c",&ch);
if(ch=='0')
break;
if(ch<'1'||ch>'8')
{
printf("輸入錯誤,請重新輸入!\n");
continue;
}
p=head;
while(p->next!=NULL) //選擇排序
{
q=p->next;
r=p;
while(q!=NULL)
{
if(Sel(ch,r,q)) //調用判斷函數
r=q;
q=q->next;
}
if(r!=p) //交換內容
{
Scpy(r->number,p->number);
Scpy(r->name,p->name);
Scpy(r->sex,p->sex);
Scpy(r->borth,p->borth);
Scpy(r->degree,p->degree);
Scpy(r->business,p->business);
Scpy(r->phone,p->phone);
Scpy(r->place,p->place);
}
p=p->next;
}
Prf(head); //輸出
}
}

//交換函數
void Scpy(char *p,char *q)
{
char c[50];
strcpy(c,p);
strcpy(p,q);
strcpy(q,c);
}

//判斷函數
//輸出參數:1為真,0為假
int Sel(char ch,struct Stuff *p,struct Stuff *q)
{
switch(ch) //實現各個關鍵字查找
{
case '1':
return strcmp(q->number ,p->number )<0||strcmp(q->con ,p->number )==0 ; //排序條件及查找條件
case '2':
return strcmp(q->name ,p->name )<0||strcmp(q->con ,p->name )==0 ;
case '3':
return strcmp(q->sex ,p->sex )<0||strcmp(q->con ,p->sex )==0 ;
case '4':
return strcmp(q->borth ,p->borth)<0 ||strcmp(q->con ,p->borth )==0 ;
case '5':
return strcmp(q->degree ,p->degree )<0||strcmp(q->con ,p->degree )==0 ;
case '6':
return strcmp(q->business ,p->business )<0||strcmp(q->con ,p->business)==0 ;
case '7':
return strcmp(q->phone ,p->phone )<0 ||strcmp(q->con ,p->phone)==0;
case '8':
return strcmp(q->place ,p->place )<0||strcmp(q->con ,p->place )==0;
default :
exit(0);
}
}

//查找函數
struct Stuff *Ser(struct Stuff *head)
{
struct Stuff *p=NULL,*q,a={"\0","\0","\0","\0","\0","\0","\0","\0"}; //防止判斷時錯誤
int flag; //查找判斷
char ch,sh;
q=&a;
while(1)
{
printf("請輸入要查找的條件:1.編號2.姓名3.性別4.出生年月5.學歷6.職務7.電話8.住址0.退出\n");
scanf(" %c",&ch);
if(ch=='0')
break;
if(ch<'1'||ch>'8')
{
printf("輸入錯誤,請重新輸入!\n");
continue;
}
fflush(stdin);
printf("請輸入:");
gets(q->con );
p=head; //指向表頭
flag=0;
while(p!=NULL)
{
if(Sel(ch,p,q))
{
printf("員工信息如下:\n");
printf(" 編號 | 姓名 | 性別 | 出生年月 | 學歷 | 職務 | 電話 | 住址 \n%s %s %s %s %s %s %s %s\n"
,p->number ,p->name ,p->sex ,p->borth ,p->degree ,p->business ,p->phone ,p->place );
printf("是否需要:1.更改 2.刪除 3.繼續\n");
scanf(" %c",&sh);
if(sh=='1')
Chn(head,p->number); //調用更改函數
else if(sh=='2')
head=Del(head,p->number); //調用刪除函數,得到的head必須return
flag=1;
break;
}
p=p->next ;
}
if(flag==0)
printf("沒有找到該員工信息!\n");
}
return head;
}

//更改函數
//輸入參數:n[10] 為員工編號
void Chn(struct Stuff *head,char n[10])
{
struct Stuff *p=head;
int flag=0;
if(head==NULL)
printf("未找到員工信息!\n");
else
{
while(p!=NULL)
{
if(!strcmp(p->number,n))
{
printf("請輸入新的信息:\n編號|姓名|性別|出生年月|學歷|職務|電話|住址\n");
scanf("%s%s%s%s%s%s%s%s",p->number ,p->name ,p->sex ,p->borth ,p->degree ,p->business ,p->phone ,p->place );
printf("員工信息如下:\n");
flag++;
break;
}
p=p->next;
}
if(flag==0)
printf("未找到該員工信息!\n");
}
Prf(head);
}

//刪除函數
//輸入參數:n為員工編號
//輸出參數:頭指針
struct Stuff *Del(struct Stuff *head,char n[10])
{

struct Stuff *p,*pr;
int flag;
flag=0;
p=head,pr=head;
if(head==NULL)
printf("未找到員工信息!\n");
else
{
while(strcmp(p->number ,n)&&p->next !=NULL)
{
pr=p;
p=p->next ;
}
if(!strcmp(p->number ,n))
{
if(p==head)
head=p->next ;
else
pr->next=p->next ;
free(p);
printf("刪除成功!\n");
i--;
}
else
printf("未找到員工信息!\n");
}
Prf(head);
return head;
}

//輸出函數
void Prf(struct Stuff *head)
{
struct Stuff *p=head;
int i=1;
while(p!=NULL)
{
printf("%d. %s %s %s %s %s %s %s %s\n"
,i++,p->number ,p->name ,p->sex ,p->borth ,p->degree ,p->business ,p->phone ,p->place);
p=p->next ;
}
}

//釋放函數
void Fre(struct Stuff *head)
{
struct Stuff *p;
while(head!=NULL)
{
p=head;
head=head->next ;
free(p);
}
}

E. 求大神 用C語言編寫一個 公司員工管理系統 要求如下 急!!T.T 謝謝了!!

#include<stdio.h>
#defineNUM2//員工人數

constcharMale='M';
constcharFemale='F';
constcharOutstanding='O';
constcharExcellent='E';
constcharAcceptable='A';
constcharPoor='P';
constcharDreadful='D';
structemployee
{
inteid;//員工號
charname[30];//姓名,
chargender;//性別,
intage;//年齡
doublescore;//綜合得分
charlevel;//等級,
}emp[NUM];
voidInput()
{
inti;
printf("註:每個員工屬性用空格分隔,員工之間用回車分隔 ");
printf("----------------------------------------- ");
printf("員工號姓名性別(M/F)年齡成績 ");
for(i=0;i<NUM;++i)
{
scanf("%d%s%*c%c%d%lf",&emp[i].eid,emp[i].name,&emp[i].gender,&emp[i].age,&emp[i]
.score);//%*c用於濾過前面%s輸入的空格
}
getchar();
}

voidPrintEmployee(inti)
{
printf("%d %s %c %d %.2lf %c ",emp[i].eid,emp[i].name,emp[i].gender,emp[i].age,emp
[i].score,emp[i].level);
}
voidPrintEmployees()
{
inti=0;
printf(" ===公司員工信息表=== ");
printf("員工號 姓名 性別 年齡 得分 等級 ");
printf("----------------------------------------------- ");
while(i<NUM)
{
PrintEmployee(i);
i++;
}
putchar(' ');
}
chargetLevel(doublescore)
{
charlevel;
if(score>=90&&score<=100)
level=Outstanding;
elseif(score>=80&&score<=89)
level=Excellent;
elseif(score>=70&&score<=79)
level=Acceptable;
elseif(score>=60&&score<=69)
level=Poor;
else
level=Dreadful;
returnlevel;
}
voidsetLevel()//功能:設置員工等級
{
inti;
for(i=0;i<NUM;i++)
emp[i].level=getLevel(emp[i].score);
}
voidSort(intmax[])
{
inti,j,t,y;
for(i=0;i<NUM;i++)
max[i]=i;//用一個數組存放結構體數組元素的序號,
for(i=0;i<NUM-1;i++)
{
y=0;//序號數組從第一個開始進行新一輪排序
for(j=0;j<NUM-1-i;j++)
{
if(emp[max[y]].score<emp[max[y+1]].score)
{
t=max[y];//序號進行交換,
max[y]=max[y+1];
max[y+1]=t;
}
++y;
}
}
}
voidPrintSorted()
{
inti;
inta[NUM];//獲取排序後的序號數組
Sort(a);
printf(" ===公司員工信息表(按得分排序)=== ");
printf("員工號 姓名 性別 年齡 得分 等級 ");
printf("----------------------------------------------- ");
for(i=0;i<NUM;i++)
PrintEmployee(a[i]);
}
//查詢和修改
intexplore()
{
inti,id;
printf("請輸入要查找的員工號:");
scanf("%d",&id);
getchar();
for(i=0;i<NUM;++i)
if(emp[i].eid==id)
returni;
printf("沒有找到員工信息。請檢查輸入的員工號是否正確。 ");
return-2;
}
voidchangeage(inti)
{
intage;
printf("員工名字%s原來的年齡為%d ",emp[i].name,emp[i].age);
printf("年齡只支持小寫 ");
printf("請輸入他/她現在的年齡:");
scanf("%d",&age);
getchar();
printf("修改成功 ");
emp[i].age=age;
PrintEmployee(i);
}
voidchangescore(inti)
{
intscore;
printf("員工名字%s原來的得分為%f ",emp[i].name,emp[i].score);
printf("得分只支持小寫 ");
printf("請輸入他/她現在的得分:");
scanf("%d",&score);
getchar();
printf("修改成功 ");
emp[i].score=score;
PrintEmployee(i);
}
voidgetbestworst()//查詢得分最高和最低的員工
{
inti,best,worst;
doublemax,min;
max=emp[0].score;
for(i=1;i<NUM;i++)
{
if(emp[i].score>max)
{
max=emp[i].score;
best=i;
}
}
printf(" 員工號 姓名 性別 年齡 得分 等級 ");
printf("%d %s %c %d %lf %c ",emp[best].eid,emp[best].name,emp[best].gender,emp[best].age,emp[best].score,emp[best].level);
min=emp[NUM-1].score;
for(i=0;i<NUM;i++)
{
if(emp[i].score<min)
{
min=emp[i].score;
worst=i;
}
}
printf(" 員工號 姓名 性別 年齡 得分 等級 ");
printf("%d %s %c %d %lf %c ",emp[worst].eid,emp[worst].name,emp[worst].gender,emp[worst].age,emp[worst].score,emp[worst].level);
}
intlevel1(charlevel)
{
intb=0;
for(inta=0;a<NUM;a++)
{
if(emp[a].level==level)
b++;
}
returnb;

}
voidlevel2()
{
charlevels[5]={Outstanding,Excellent,Acceptable,Poor,Dreadful};
for(inti=0;i<5;i++)
printf("等級%c:一共有%d個員工 ",levels[i],level1(levels[i]));
}
voidwenjian()
{

inti;
FILE*fp;
fp=fopen("aaaaa.plg","wt");
for(i=0;i<NUM;i++)
fprintf(fp,"員工號:%d姓名:%s性別:%c年齡:%d得分:%lf等級:%c ",emp[i].eid,emp[i].name,emp[i].gender,
emp[i].age,emp[i].score,emp[i].level);
fclose(fp);
printf("創建文件成功 ");

}

intmain()
{
charchoice;
intendflag=1;
inti;
intx;

while(endflag)
{
fflush(stdin);//清空輸入緩沖區
printf(">>>>>>>>>>>>>>>>>> 請選擇你要做的工作: ");
printf("1.輸入員工信息 "
"2.顯示/排序 "
"3.查詢並修改員工信息___選擇1為修改年齡,選擇2為修改得分 "
"4.查詢得分最高和最低的員工信息 "
"5.統計每一等級的員工數目 "
"6.將所有信息存儲到一個文件中 "
"7.退出 ");
printf("請用1-7以為的數字表達: ");

choice=getchar();
getchar();
switch(choice)
{
case'1'://能接收從鍵盤輸入的20位員工的信息,並能存儲在內存中
Input();
setLevel();
PrintEmployees();
break;
case'2'://按照得分從高到低進行排序
PrintSorted();
break;
case'3'://根據員工號查詢並修改某位員工的信息;
i=explore();
if(i!=-2)
printf("請輸入1或者2:");
scanf("%d",&x);
switch(x)
{
case1:changeage(i);break;
case2:changescore(i);break;
default:printf("選擇錯誤");
}
PrintEmployees();
break;
case'4'://查出得分最高和最低的員工信息
getbestworst();
break;
case'5'://統計每一等級的員工數目
level2();
break;
case'6':
wenjian();//用文件保存信息
break;
case'7':
endflag=0;
break;
default:
printf("選擇錯誤。請重新選擇。 ");
}
}
return0;
}

出自網路文庫http://wenku..com/link?url=-2WE__JiXTE5QODCG

F. 跪求各路大神,這是一個簡單的c語言程序,要求將此工資管理系統再加一項修改員工信息的功能,拜託了 。

void Edit()
{
int i,c;
printf("\n\t\t請輸入要編輯的員工工號:\n");
scanf("%d",&c);
for(i=0;i<N;i++)
{
if(a[i].gonghao==c)
break;
}
if(i>=N)
{
printf("\n\t\t沒有找到相關記錄\n");
getch();
}
else
{
printf("\n\t\t請重新輸入信息\n");
printf("\n\t\t請輸入員工的工號:");
scanf("%d",&a[i].gonghao);
printf("\t\t姓名:");
scanf("%s",a[i].name);
printf("\t\t員工的總工資:");
scanf("%f",&a[i].zgz);
for(int mi = 0;mi<12;mi++){
printf("\t\t員工已方工資:");
scanf("%f",&m[mi].yingfagongzi);
printf("\t\t員工水費:");
scanf("%f",&m[mi].shuifei);
printf("\t\t員工電費:");
scanf("%f",&m[mi].dianfei);
printf("\t\t員工shuijin:");
scanf("%f",&m[mi].shuijin);
printf("\t\t員工釋放工資:");
scanf("%f",&m[mi].shifanggongzi);
}
printf("\n\t\t數據已更新\n");
getch();
}
}

G. 用C語言設計並實現一個員工信息管理系統

#include<iostream>
#include<cstring>
usingnamespacestd;

typedefstructwage{
charunit[8];
charname[10];
charsex[4];
charbirthdate[12];
chartitle[20];
doublebasewage;
doublesubsidy;
doubletax;
doubleexpenses;
doubleresialwage;
}WAGE;

voidComputerResialwage(WAGEa[],intn){
for(inti=0;i<n;++i)
a[i].resialwage=a[i].basewage+a[i].subsidy-a[i].tax-a[i].expenses;
}

voidPrintTitle(void){
cout<<"單位姓名性別出生年月職稱基本工資津貼個稅水電費實發工資 ";
for(inti=0;i<79;++i)cout<<"*";cout<<endl;
}

voidRowShow(WAGEa[],inti){
cout<<a[i].unit<<"";
if(strlen(a[i].name)==4){
a[i].name[6]=a[i].name[4];
a[i].name[5]=a[i].name[3];
a[i].name[4]=a[i].name[2];
a[i].name[2]=a[i].name[3]='';
}
cout<<a[i].name<<""<<a[i].sex<<""<<a[i].birthdate;
if(strlen(a[i].title)==4){
a[i].title[6]=a[i].title[4];
a[i].title[5]=a[i].title[3];
a[i].title[4]=a[i].title[2];
a[i].title[2]=a[i].title[3]='';
}
cout<<""<<a[i].title<<"";
cout.precision(2);
cout.width(8);
cout<<fixed<<a[i].basewage<<"";cout.width(6);
cout<<fixed<<a[i].subsidy<<"";
cout.width(8);
cout<<fixed<<a[i].tax<<"";
cout.width(6);
cout<<fixed<<a[i].expenses<<"";
cout.width(8);
cout<<fixed<<a[i].resialwage<<endl;
}

voidShow(WAGEa[],intn){
for(inti=0;i<n;++i)RowShow(a,i);
}

voidSearch1(WAGEa[],intn){
inti,flag=1;
for(i=0;i<n;++i){
if(strcmp(a[i].unit,"理學院")==0&&a[i].basewage>900.00&&
strcmp(a[i].title,"副教授")==0&&strcmp(a[i].sex,"男")==0){
RowShow(a,i);
flag=0;
}
}
if(flag)cout<<"(沒找到符合條件者) ";
}

voidSearch2(WAGEa[],intn){
inti,flag=1;
for(i=0;i<n;++i){
if(strcmp(a[i].unit,"理學院")==0&&a[i].basewage<1200.00&&
strcmp(a[i].title,"教授")==0&&strcmp(a[i].sex,"男")==0){
RowShow(a,i);
flag=0;
}
}
if(flag)cout<<"(沒找到符合條件者) ";
}

intmain(){
WAGEa[]={
{"理學院","趙志軍","男","1957-06-25","教授",1150,411,176.6,90},
{"商學院","於銘","女","1979-10-21","助教",500,471,208.9,91},
{"工學院","許炎鋒","女","1954-03-08","教授",1250,630,306.2,96},
{"理學院","王嘉","女","1971-06-06","講師",850,475,100.3,89},
{"工學院","李新江","男","1962-10-02","教授",950,399,49.5,87},
{"商學院","郭海英","女","1963-02-07","副教授",950,332,77.6,85},
{"工學院","馬淑恩","女","1960-06-09","副教授",900,791,60.5,45},
{"理學院","王金科","男","1956-09-10","教授",1050,480,325.6,93},
{"理學院","李東慧","女","1950-08-07","教授",1350,364,52.3,94},
{"工學院","張寧","女","1980-01-01","助教",500,395,78,89},
{"商學院","王孟","男","1966-09-08","講師",800,463,220.3,98},
{"工學院","馬會爽","女","1970-02-09","講師",800,368,101.1,69},
{"工學院","史曉贇","女","1952-06-06","教授",1200,539,520.3,50},
{"理學院","劉燕鳳","女","1959-08-07","教授",1200,892,180.9,86},
{"工學院","齊飛","男","1961-04-05","副教授",1200,626,245.6,74},
{"商學院","張娟","女","1975-09-25","助教",650,374,625.3,86},
{"理學院","潘成文","男","1965-10-09","講師",950,402,1050,90},
{"工學院","邢易","女","1981-02-25","助教",600,325,300,90},
{"商學院","謝梟豪","女","1950-11-18","教授",1350,516,200,90},
{"工學院","胡洪靜","女","1952-06-24","教授",1350,277,100,86},
{"工學院","李雲飛","男","1969-05-04","講師",960,729,56,89},
{"商學院","張奇","女","1970-05-28","講師",960,331,69,89},
{"理學院","夏小波","女","1968-08-01","講師",960,482,89,45},
{"工學院","王瑋","女","1972-11-05","講師",960,340,98,79},
{"理學院","張帝","女","1950-03-26","教授",1300,335,124,90},
{"商學院","孫帥","男","1966-05-24","講師",900,748,326,79},
{"工學院","卜輝娟","女","1960-05-23","教授",960,481,651,78},
{"工學院","李輝玲","女","1978-09-09","助教",630,379,400,77},
{"理學院","劉亞靜","男","1969-08-09","副教授",890,377,23,66},
{"工學院","尹嫻","女","1958-06-09","教授",1050,955,59,65},
{"商學院","馬春英","男","1964-12-06","講師",850,387,78,69},
{"工學院","孟夢","女","1965-08-09","副教授",850,753,485.6,93},
{"工學院","梁曉萌","女","1975-06-09","助教",650,551,136.5,99},
{"理學院","張然","女","1973-03-03","講師",800,761,203.1,100},
{"工學院","彭雁南","男","1978-05-09","助教",650,200,200,90}
};
inti,n=sizeof(a)/sizeof(a[0]);
if(n==0)return1;
ComputerResialwage(a,n);
PrintTitle();
for(i=0;i<n;++i)RowShow(a,i);
for(i=0;i<79;++i)cout<<"*";
cout<<endl;cout<<" 理學院,基本工資高於900元的男副教授有: ";
PrintTitle();
Search1(a,n);
for(i=0;i<79;++i)cout<<"*";
cout<<endl;
cout<<" 理學院,基本工資低於1200元的男教授有: ";
PrintTitle();
Search2(a,n);
for(i=0;i<79;++i)cout<<"*";
cout<<endl<<endl;
return0;
}

H. C語言職工信息管理系統設計

以下是我的程序,剛編好的,剛好符合你的要求,看看吧,對你應該有幫助:
呵呵
#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <string.h>
#define N 100
struct employee
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
}em[100]; /*定義一個結構體*/

void menu();
void input();
void save(int);
void display();
void del();
void add();
void search();
void search_num();
void search_xueli();
void search_tel();
void modify(); /*定義各函數*/

void menu() /*菜單函數*/
{
printf(" ☆☆☆計算機科學與技術學系☆☆☆\n");
printf("\n");
printf(" ∮08802班 關麗霞∮\n");
printf("\n");
printf(" ******************職工信息管理****************\n");
printf(" 1.錄入職工信息");
printf(" 2.瀏覽職工信息\n");
printf(" 3.查詢職工信息");
printf(" 4.刪除職工信息\n");
printf(" 5.添加職工信息");
printf(" 6.修改職工信息\n");
printf(" 7.退出\n");
printf(" ********************謝謝使用******************\n");
printf("\n");
printf("\n");

}

void main()
{
menu(); /*調用菜單函數*/
int n,flag;
char a;
do
{
printf("請選擇你需要操作的步驟(1--7):\n");
scanf("%d",&n);
if(n>=1&&n<=7)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(n)
{
case 1:printf(" ◆◆◆輸入職工信息◆◆◆\n");printf("\n");input();break;
case 2:printf(" ◆◆◆瀏覽職工信息◆◆◆\n");printf("\n");display();break;
case 3:printf(" ◆◆◆按職工號查詢職工信息◆◆◆\n");printf("\n");search();break;
case 4:printf(" ◆◆◆刪除職工信息◆◆◆\n");printf("\n");del();break;
case 5:printf(" ◆◆◆添加職工信息◆◆◆\n");printf("\n");add();break;
case 6:printf(" ◆◆◆修改職工信息◆◆◆\n");printf("\n");modify();break;
case 7:exit(0);break;
default :break;
}
getchar();
printf("\n");
printf("是否繼續進行(y or n):\n");
scanf("%c",&a);
if(a=='y')
{
flag=1;
system("cls"); /*清屏*/
menu(); /*調用菜單函數*/
printf("請再次選擇你需要操作的步驟(1--6):\n");
scanf("%d",&n);
printf("\n");
}

else
exit(0);
}

}

void input() /*錄入函數*/
{
int i,m;
printf("請輸入需要創建信息的職工人數(1--100):\n");
scanf("%d",&m);
for (i=0;i<m;i++)
{
printf("職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");

}
printf("\n創建完畢!\n");
save(m);
}

void save(int m) /*保存文件函數*/
{
int i;
FILE*fp;
if ((fp=fopen("employee_list","wb"))==NULL) /*創建文件並判斷是否能打開*/
{
printf ("cannot open file\n");
exit(0);
}
for (i=0;i<m;i++) /*將內存中職工的信息輸出到磁碟文件中去*/
if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}

int load() /*導入函數*/
{
FILE*fp;
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)
{
printf ("cannot open file\n");
exit(0);
}
else
{
do
{
fread(&em[i],sizeof(struct employee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}

void display() /*瀏覽函數*/
{
int i;
int m=load();
printf("\n 職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
for(i=0;i<m;i++) /*m為輸入部分的職工人數*/
printf("\n %d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
}

void del() /*刪除函數*/
{

int m=load();
int i,j,n,t,flag;
char name[20];
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要刪除的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要刪除此人信息請按1,不刪除請按0\n");
scanf("%d",&n);
if(n==1) /*如果刪除,則其他的信息都往上移一行*/
{
for(j=i;j<m-1;j++)
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
em[j].tel=em[j+1].tel;
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n對不起,查無此人!\n");
printf("\n 瀏覽刪除後的所有職工信息:\n");
save(m); /*調用保存函數*/
display(); /*調用瀏覽函數*/
printf("\n繼續刪除請按1,不再刪除請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:del();break;
case 0:break;
default :break;
}
}

void add()/*添加函數*/
{
FILE*fp;
int n;
int count=0;
int i;
int m=load();
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
fp=fopen("emploee_list","a");
printf("請輸入想增加的職工數:\n");
scanf("%d",&n);
for (i=m;i<(m+n);i++)
{
printf("\n 請輸入新增加職工的信息:\n");
printf("請輸入職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");
count=count+1;
printf("已增加的人數:\n");
printf("%d\n",count);
}
printf("\n添加完畢!\n");
m=m+count;
printf("\n瀏覽增加後的所有職工信息:\n");
printf("\n");
save(m);
display();
fclose(fp);
}

void search()/*查詢函數*/
{
int t,flag;
do
{
printf("\n按職工號查詢請按1 ; 按學歷查詢請按2 ; 按電話號碼查詢請按3,進入主函數按4\n");
scanf("%d",&t);
if(t>=1&&t<=4)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(t)
{
case 1:printf("按職工號查詢\n");search_num();break;
case 2:printf("按學歷查詢\n");search_xueli();break;
case 3:printf("按電話號碼查詢\n");search_tel();break;
case 4:main();break;
default:break;
}

}

}

void search_num()
{
int num;
int i,t;
int m=load();
printf("請輸入要查找的職工號(20001111---20009999):\n");
scanf("%d",&num);
for(i=0;i<m;i++)
if(num==em[i].num)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢職工號請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2: break;
default:break;
}
}

void search_xueli()
{
char xueli[30];
int i,t;
int m=load();
printf("請輸入要查找的學歷:\n");
scanf("%s",xueli);
for(i=0;i<m;i++)
if(strcmp(em[i].xueli,xueli)==0)
{
printf("\n已找到,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢學歷請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2:break;
default :break;
}

}

void search_tel()
{
long int tel;
int i, t;
int m=load();
printf("請輸入要查找的電話號碼:\n");
scanf("%ld",&tel);
for(i=0;i<m;i++)
if(tel==em[i].tel)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢電話號碼請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2:break;
default :break;
}

}

void modify() /*修改函數*/
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
int b,c,i,n,t,flag;
int m=load(); /*導入文件內的信息*/
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要修改的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要修改此人信息請按1 ; 不修改請按0\n");
scanf("%d",&n);
if(n==1)
{
printf("\n需要進行修改的選項\n 1.職工號 2.姓名 3.性別 4.年齡 5.學歷 6.工資 7.住址 8.電話\n");
printf("請輸入你想修改的那一項序號:\n");
scanf("%d",&c);
if(c>8||c<1)
printf("\n選擇錯誤,請重新選擇!\n");
}
flag=0;
}

}
if(flag==1)
printf("\n對不起,查無此人!\n");
do
{
switch(c) /*因為當找到第i個職工時,for語句後i自加了1,所以下面的應該把改後的信息賦值給第i-1個人*/
{
case 1:printf("職工號改為: ");
scanf("%d",&num);
em[i-1].num=num;
break;
case 2:printf("姓名改為: ");
scanf("%s",name);
strcpy(em[i-1].name,name);
break;
case 3:printf("性別改為: ");
getchar();
scanf("%c",&sex);
em[i-1].sex=sex;
break;
case 4:printf("年齡改為: ");
scanf("%d",&age);
em[i-1].age=age;
break;
case 5:printf("學歷改為: ");
scanf("%s",xueli);
strcpy(em[i-1].xueli,xueli);
break;
case 6:printf("工資改為: ");
scanf("%d",wage);
break;
case 7:printf("住址改為: ");
scanf("%s",addr);
strcpy(em[i-1].addr,addr);
break;
case 8:printf("電話改為: ");
scanf("%ld",&tel);
em[i-1].tel=tel;
break;
}
printf("\n");
printf("\n是否確定所修改的信息?\n 是 請按1 ; 不,重新修改 請按2: \n");
scanf("%d",&b);

}
while(b==2);
printf("\n瀏覽修改後的所有職工信息:\n");
printf("\n");
save(m);
display();
printf("\n繼續修改請按1,不再修改請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();break;
case 0:break;
default :break;
}

}

I. 求一個c語言人事管理系統

不滅王朝

碼齡9年

關注
int menu(){
printf("請按提示輸入完成操作!\n");
printf("1.查詢員工信息\n");
printf("2.統計員工數量\n");
printf("3.錄入員工信息\n");
printf("4.刪除員工信息\n");
printf("5.按id排序所有員工\n");
printf("6.列印所有員工信息\n");
printf("7.退出系統\n");
return 0;
}

如menu()函數所示,該系統一共有7個功能

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct emp{
int id;
char name[50];
struct emp * next;
// struct emp * prev;
};

struct emp * initList();

struct emp * addListTailNode(struct emp * head);

struct emp * deleteListNode(struct emp * head,int id);

struct emp * searchEmp(struct emp * head,int id);

int printList(struct emp * l);

int printNode(struct emp * p);

struct emp * sortList(struct emp * head);

int getListLen(struct emp * head);

int writeToDisk(struct emp * head);

struct emp * readFromDisk();

int menu();

int usage(struct emp * head);

#include "emp.h"

int main(){
struct emp * head;
head=readFromDisk();
usage(head);
return 0;
}

struct emp * initList(){
struct emp * head;
head=(struct emp *)malloc(sizeof(struct emp));
head->next=NULL;
return head;
}

struct emp * addListTailNode(struct emp * head){
int id;
char name[50];
struct emp * p, * last , * check;
last = head;
while(last->next!=NULL){
last=last->next;
}
printf("依次輸入:員工id號,姓名!\n");
scanf("%d%s",&id,&name);
check = head;
while(check!=last){ //遍歷
check=check->next;
if(id==check->id){
printf("添加失敗!員工id號重復!\n");
return head;
}
}
p=(struct emp *)malloc(sizeof(struct emp));
p->id=id;
strcpy(p->name,name);
//
last->next=p;
last=p;
p->next=NULL;
printf("%s員工信息已添加!\n",p->name);
return head;
}

struct emp * deleteListNode(struct emp * head,int id){
struct emp * p,* q;
p = head->next;
while(p!=NULL){
if(p->next->id==id){
break;
}
p=p->next;
}
if(head->next==NULL){
printf("書籍信息為空!刪除失敗!\n");
}
else{
q = p->next;
p->next = q->next;
printf("%s書籍信息被刪除!\n",q->name);
free(q);
}
return head;
}

struct emp * searchEmp(struct emp * head,int id){//查詢,返回節點信息
struct emp * p;
p = head->next;
while(p!=NULL){
if(p->id==id){
break;
}
p=p->next;
}
return p;
}

int printNode(struct emp * p){//列印節點信息
if(p!=NULL){
printf("員工id: %d 員工姓名:%s\n",p->id,p->name);
}
else{
printf("系統內無該員工信息!\n");
}
return 0;
}

int printList(struct emp * head){ //列印整條鏈表
struct emp * p;
p = head->next;
while(p!=NULL){
printNode(p);
p=p->next;
}
return 0;
}

struct emp * sortList(struct emp * head){//排序
struct emp * p,* q;
int temp_id;
char temp_name[50];
for(p=head->next;p!=NULL;p=p->next){
for(q=p->next;q!=NULL;q=q->next){
if(p->id>q->id){
temp_id = q->id;
q->id = p->id;
p->id = temp_id;
//
strcpy(temp_name,q->name);
strcpy(q->name,p->name);
strcpy(p->name,temp_name);
}
}
}
return head;
}

int getListLen(struct emp * head){
int len=0;
struct emp * p;
p=head->next;
while(p!=NULL){
len++;
p=p->next;
}
return len;
}

int writeToDisk(struct emp * head){
FILE * fp;
struct emp * p;
if((fp = fopen("D:\\emp.hhtx", "w")) == 0){
printf("寫入失敗……!\n");
return 0;
}
//
p=head->next;
while(p!=NULL){
fwrite(p,sizeof(struct emp),1,fp);
printf("%d %s\n",p->id,p->name);
p=p->next;
}
fclose(fp);
return 0;
}

struct emp * readFromDisk(){
FILE * fp;
struct emp * head,* last,* p,* temp;
head = initList();
if((fp = fopen("D:\\emp.hhtx", "r")) == 0){
printf("載入失敗……未找到存檔數據!\n\n");
return head;
}
//
last = head;
p=(struct emp *)malloc(sizeof(struct emp));
while(p!=NULL){
p=(struct emp *)malloc(sizeof(struct emp));
fread(p,sizeof(struct emp),1,fp);
printf("讀取數據: %d %s\n",p->id,p->name);
//
last->next=p;
last=p;
p=p->next;
}
fclose(fp);
printf("系統數據初始化完成!");
return head;
}

int menu(){
printf("請按提示輸入完成操作!\n");
printf("1.查詢員工信息\n");
printf("2.統計員工數量\n");
printf("3.錄入員工信息\n");
printf("4.刪除員工信息\n");
printf("5.按id排序所有員工\n");
printf("6.列印所有員工信息\n");
printf("7.退出系統\n");
return 0;
}

int usage(struct emp * head){
int x,id;
struct emp * p;
menu();
while(1){
printf("請輸入序列號:");
scanf("%d",&x);
switch(x){
case 1:
printf("輸入所要查詢的員工的id號:");
scanf("%d",&id);
p = searchEmp(head,id);
printNode(p);
printf("---------------------------------\n");
break;
case 2:
printf("系統中一共存在%d個員工\n",getListLen(head));
break;
case 3:
head=addListTailNode(head);
printf("---------------------------------\n");
break;
case 4:
printf("輸入所要刪除的員工的id號:");
scanf("%d",&id);
head=deleteListNode(head,id);
printf("---------------------------------\n");
break;
case 5:
printf("排序開始……\n");
head=sortList(head);
printf("排序已完成!\n");
printf("---------------------------------\n");
break;
case 6:
printList(head);
printf("------