當前位置:法律諮詢服務網 - 企業資訊 - 員工信息管理系統是用C語言(不是C++)寫的。

員工信息管理系統是用C語言(不是C++)寫的。

以下是我的程序,剛編譯的,應該可以用:

# include & ltstdio.h & gt

# include & ltwindows.h & gt

# include & lttime.h & gt

# include & ltstring.h & gt

#定義編號100

結構員工

{

int num

字符名稱[10];

迷人的性愛;

int age

夏爾·李雪[30];

int工資;

char addr[30];

long int tel

} em[100];/*定義壹個結構*/

void menu();

void輸入();

void save(int);

void顯示();

void del();

void add();

void search();

void search _ num();

void search _李雪();

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;

{

Printf("請選擇您需要操作的步驟(1-7):\ n ");

scanf("%d ",& ampn);

如果(n & gt=1。& ampn & lt=7)

{

flag = 1;

打破;

}

其他

{

flag = 0;

Printf("您輸入錯誤,請重新選擇!");

}

}

while(flag = = 0);

while(flag==1)

{

開關(n)

{

Case 1: printf ("◆◆◆◆輸入員工信息◆◆\ n ");printf(" \ n ");input();打破;

案例二:printf ("◆◆◆◆瀏覽員工信息◆◆\ n ");printf(" \ n ");顯示();打破;

案例三:printf ("◆◆◆◆按員工編號查詢員工信息◆◆\ n ");printf(" \ n ");search();打破;

案例四:printf ("◆◆◆◆刪除員工信息◆◆\ n ");printf(" \ n ");del();打破;

案例五:printf ("◆◆◆◆添加員工信息◆◆\ n ");printf(" \ n ");add();打破;

案例6: printf ("◆◆◆◆修改員工信息◆◆\ n ");printf(" \ n ");modify();打破;

案例7:出口(0);打破;

默認:break

}

getchar();

printf(" \ n ");

Printf("是否繼續(y或n):\ n ");

scanf("%c ",& ampa);

if(a=='y ')

{

flag = 1;

系統(“cls”);/*清空屏幕*/

menu();/*調用菜單功能*/

Printf("請重新選擇需要操作的步驟(1-6):\ n ");

scanf("%d ",& ampn);

printf(" \ n ");

}

其他

退出(0);

}

}

Void input() /*輸入函數*/

{

int i,m;

Printf("請輸入需要創建信息的員工人數(1-100):\ n ");

scanf("%d ",& ampm);

for(I = 0;我& ltm;i++)

{

Printf("員工號:");

srand((int)time(0));

em[i]。num = rand()% 10000+20000000;

if(em[i]。num!=em[i-1]。數字)

printf("%8d ",em[i]。num);

printf(" \ n ");

Printf("請輸入您的姓名:");

scanf("%s ",em[i]。姓名);

getchar();

Printf("請輸入性別(f-女m-男):");

scanf("%c ",& ampem[i]。性);

Printf("請輸入年齡:");

scanf("%d ",& ampem[i]。年齡);

Printf("請輸入學歷:");

scanf("%s ",em[i]。李雪);

Printf("請輸入薪資:");

scanf("%d ",& ampem[i]。工資);

Printf("請輸入地址:");

scanf("%s ",em[i]。addr);

Printf("請輸入電話號碼:");

scanf("%d ",& ampem[i]。電話);

printf(" \ n ");

}

printf(" \ n已創建!\ n ");

保存(m);

}

Void save(int m) /*保存文件函數*/

{

int I;

FILE * fp

If ((FP = fopen ("employee _ list "," WB ")= = null)/*創建壹個文件,判斷是否可以打開*/

{

printf("無法打開文件\ n ");

退出(0);

}

for(I = 0;我& ltm;I++) /*將內存中的員工信息輸出到磁盤文件*/

if(fwrite(& amp;em[i],sizeof(結構雇員),1,fp)!=1)

printf("文件寫入錯誤\ n ");

fclose(FP);

}

Int load() /*導入函數*/

{

FILE * fp

int I = 0;

if((fp=fopen("employee_list "," Rb ")= = NULL)

{

printf("無法打開文件\ n ");

退出(0);

}

其他

{

{

弗雷德(& ampem[i],sizeof(struct employee),1,FP);

i++;

}

while(feof(FP)= = 0);

}

fclose(FP);

返回(I-1);

}

Void display() /*瀏覽函數*/

{

int I;

int m = load();

printf(" \ n員工編號\ tName \ tSex \ tAge \教育\ tSalary \地址\ t電話\ n ");

for(I = 0;我& ltm;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]。姓名,em[i]。性,em[i]。年齡,em[i]。李雪,em[i]。工資,em[i]。地址,em[i]。電話);

}

Void del() /*刪除函數*/

{

int m = load();

int i,j,n,t,flag

char name[20];

printf(" \ n原始員工信息:\ n ");

顯示();/*調用瀏覽函數*/

printf(" \ n ");

Printf("請輸入要刪除的員工姓名:\ n ");

scanf("%s ",名稱);

for(flag=1,I = 0;旗幟& amp& amp我& ltm;i++)

{

if(strcmp(em[i].name,name)==0)

{

printf(" \ n此人已找到,原始記錄為:\ n ");

printf(" \ n員工編號\ tName \ tSex \ tAge \教育\ tSalary \地址\ 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]。姓名,em[i]。性,em[i]。年齡,em[i]。李雪,em[i]。工資,em[i]。地址,em[i]。電話);

printf(" \ n按1刪除此人信息,或按0\n "不刪除);

scanf("%d ",& ampn);

If(n==1) /*如果刪除,所有其他信息將上移壹行*/

{

for(j = I;j & ltm-1;j++)

{

strcpy(em[j].姓名,em[j+1]。姓名);

em[j]。num=em[j+1]。num

em[j]。sex=em[j+1]。性;

em[j]。年齡=em[j+1]。年齡;

strcpy(em[j].李雪,東地中海。李雪);

em[j]。工資=em[j+1]。工資;

strcpy(em[j].地址,em[j+1]。addr);

em[j]。tel=em[j+1]。電話;

}

flag = 0;

}

}

}

如果(!旗幟)

m = m-1;

其他

printf(" \ n抱歉,沒有這個人!\ n ");

printf(" \ n瀏覽所有刪除的員工信息:\ n ");

保存(m);/*調用保存函數*/

顯示();/*調用瀏覽函數*/

printf(" \ n按1繼續刪除,按0停止刪除\ n ");

scanf("%d ",& ampt);

開關(t)

{

案例1:del();打破;

案例0:破;

默認:break

}

}

Voideadd ()/*添加函數*/

{

FILE * fp

int n;

int count = 0;

int I;

int m = load();

printf(" \ n原始員工信息:\ n ");

顯示();/*調用瀏覽函數*/

printf(" \ n ");

fp=fopen("emploee_list "," a ");

Printf("請輸入您要增加的員工人數:\ n ");

scanf("%d ",& ampn);

for(I = m;我& lt(m+n);i++)

{

printf(" \ n請輸入新增加員工的信息:\ n ");

Printf("請輸入員工編號:");

srand((int)time(0));

em[i]。num = rand()% 10000+20000000;

if(em[i]。num!=em[i-1]。數字)

printf("%8d ",em[i]。num);

printf(" \ n ");

Printf("請輸入您的姓名:");

scanf("%s ",em[i]。姓名);

getchar();

Printf("請輸入性別(f-女m-男):");

scanf("%c ",& ampem[i]。性);

Printf("請輸入年齡:");

scanf("%d ",& ampem[i]。年齡);

Printf("請輸入學歷:");

scanf("%s ",em[i]。李雪);

Printf("請輸入薪資:");

scanf("%d ",& ampem[i]。工資);

Printf("請輸入地址:");

scanf("%s ",em[i]。addr);

Printf("請輸入電話號碼:");

scanf("%d ",& ampem[i]。電話);

printf(" \ n ");

count = count+1;

Printf("人數增加:\ n ");

printf("%d\n ",count);

}

printf(" \ n添加完畢!\ n ");

m = m+計數;

printf(" \ n瀏覽所有添加的員工信息:\ n ");

printf(" \ n ");

保存(m);

顯示();

fclose(FP);

}

Void search()/*查詢函數*/

{

int t,flag

{

printf(" \ n按員工號查詢請按1;按學歷查詢請按2;電話號碼查詢按3,主功能按4 \ n ");

scanf("%d ",& ampt);

if(t & gt;=1。& ampt & lt=4)

{

flag = 1;

打破;

}

其他

{

flag = 0;

Printf("您輸入錯誤,請重新選擇!");

}

}

while(flag = = 0);

while(flag==1)

{

開關(t)

{

Case 1:printf("按員工編號查詢\ n ");search_num()。打破;

案例二:printf("按學歷查詢\ n ");search _李雪();打破;

案例三:printf("按電話號碼查詢\ n ");search _ tel();打破;

案例四:main();打破;

默認:break

}

}

}

void搜索數量()

{

int num

int i,t;

int m = load();

Printf("請輸入您要找的員工編號(20001111-2000999):\ n ");

scanf("%d ",& ampnum);

for(I = 0;我& ltm;i++)

if(num==em[i]。數字)

{

printf(" \ n已找到此人,其記錄為:\ n ");

printf(" \ n員工編號\ tName \ tSex \ tAge \教育\ tSalary \地址\ 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]。姓名,em[i]。性,em[i]。年齡,em[i]。李雪,em[i]。工資,em[i]。地址,em[i]。電話);

打破;

}

如果(i==m)

printf(" \ n抱歉,沒有找到此人\ n ");

printf(" \ n ");

Printf("按1返回查詢功能,按2\n "繼續查詢員工號);

scanf("%d ",& ampt);

開關(t)

{

案例1:search();打破;

案例二:破;

默認:break

}

}

無效搜索_李雪()

{

夏爾·李雪[30];

int i,t;

int m = load();

Printf("請輸入妳想找的學歷:\ n ");

scanf("%s ",李雪);

for(I = 0;我& ltm;i++)

if(strcmp(em[i].李雪,李雪)==0)

{

printf(" \ n找到記錄:\ n ");

printf(" \ n員工編號\ tName \ tSex \ tAge \教育\ tSalary \地址\ 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]。姓名,em[i]。性,em[i]。年齡,em[i]。李雪,em[i]。工資,em[i]。地址,em[i]。電話);

}

如果(i==m)

printf(" \ n抱歉,沒有找到此人\ n ");

printf(" \ n ");

Printf("按1返回查詢功能,按2\n "繼續學歷查詢);

scanf("%d ",& ampt);

開關(t)

{

案例1:search();打破;

案例二:破;

默認:break

}

}

void search_tel()

{

long int tel

int i,t;

int m = load();

Printf("請輸入您要查找的電話號碼:\ n ");

scanf("%ld ",& amp電話);

for(I = 0;我& ltm;i++)

if(tel==em[i]。電話)

{

printf(" \ n已找到此人,其記錄為:\ n ");

printf(" \ n員工編號\ tName \ tSex \ tAge \教育\ tSalary \地址\ 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]。姓名,em[i]。性,em[i]。年齡,em[i]。李雪,em[i]。工資,em[i]。地址,em[i]。電話);

打破;

}

如果(i==m)

printf(" \ n抱歉,沒有找到此人\ n ");

printf(" \ n ");

Printf("按1返回查詢功能,按2\n "繼續查詢電話號碼);

scanf("%d ",& ampt);

開關(t)

{

案例1:search();打破;

案例二:破;

默認:break

}

}

Void modify() /*修改函數*/

{

int num

字符名稱[10];

迷人的性愛;

int age

夏爾·李雪[30];

int工資;

char addr[30];

long int tel

int b,c,I,n,t,flag

int m = load();/*導入文件中的信息*/

printf(" \ n原始員工信息:\ n ");

顯示();/*調用瀏覽函數*/

printf(" \ n ");

Printf("請輸入要修改的員工姓名:\ n ");

scanf("%s ",名稱);

for(flag=1,I = 0;旗幟& amp& amp我& ltm;i++)

{

if(strcmp(em[i].name,name)==0)

{

printf(" \ n此人已找到,原始記錄為:\ n ");

printf(" \ n員工編號\ tName \ tSex \ tAge \教育\ tSalary \地址\ 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]。姓名,em[i]。性,em[i]。年齡,em[i]。李雪,em[i]。工資,em[i]。地址,em[i]。電話);

printf(" \ n請按1修改此人的信息;按0\n”)不加修改;

scanf("%d ",& ampn);

如果(n==1)

{

printf(" \ n要修改的選項\n 1。員工2號。名字3。性別4。5歲。教育。工資7。地址8。電話\ n ");

Printf("請輸入您要修改的序列號:\ n ");

scanf("%d ",& ampc);

if(c & gt;8 | | c & lt1)

printf(" \ n選擇錯誤,請重新選擇!\ n ");

}

flag = 0;

}

}

if(flag==1)

printf(" \ n抱歉,沒有這個人!\ n ");

{

Switch(c) /*因為在找到第I個雇員時,我在for語句後添加了1,所以應將以下信息分配給i-1人員*/

{

案例1:printf("員工號更改為");

scanf("%d ",& ampnum);

em[i-1]。num = num

打破;

案例二:printf(“名稱改為”);

scanf("%s ",名稱);

strcpy(em[i-1])。姓名、名稱);

打破;

案例三:printf("性別改為");

getchar();

scanf("%c ",& amp性);

em[i-1]。性=性;

打破;

案例四:printf("年齡改為:");

scanf("%d ",& amp年齡);

em[i-1]。年齡=年齡;

打破;

案例五:printf("學歷改為");

scanf("%s ",李雪);

strcpy(em[i-1])。李雪、李雪);

打破;

案例6:printf("薪資改為");

scanf("%d ",工資);

打破;

案例7:printf("地址改為");

scanf("%s ",addr);

strcpy(em[i-1])。addr,addr);

打破;

案例8:printf(“電話改為”);

scanf("%ld ",& amp電話);

em[i-1]。電話=電話;

打破;

}

printf(" \ n ");

printf(" \ n您確定要修改信息嗎?\是的,請按1;否,請按2再次修改:\ n”);

scanf("%d ",& ampb);

}

while(b = = 2);

printf(" \ n瀏覽所有修改後的員工信息:\ n ");

printf(" \ n ");

保存(m);

顯示();

printf(" \ n按1繼續修改,按0\n "停止修改);

scanf("%d ",& ampt);

開關(t)

{

案例1:modify();打破;

案例0:破;

默認:break

}

}

  • 上一篇:浙裏辦社保認證怎麽操作
  • 下一篇:中國電子科技集團旗下的六家上市公司是
  • copyright 2024法律諮詢服務網