當前位置:法律諮詢服務網 - 企業資訊 - 如何做公司員工信息管理系統的C語言課程設計?

如何做公司員工信息管理系統的C語言課程設計?

1.員工信息管理系統是壹個科學、全面、高效的事業單位人事管理系統。它參考了大量的中國人力資源管理理論,並植根於國內管理的實際情況。它既實用又科學。內容包括機構的建立和維護,人員信息的輸入和輸出,工資的調整和發放,各種報表的繪制和輸出。在操作上,集輸入、維護、查詢、統計、打印、輸出於壹體,簡單靈活,自動化功能強大。

2.常規:

#包含?& ltstdio.h & gt

#包含?& ltwindows.h & gt

#包含?& lttime.h & gt

#包含?& ltstring.h & gt

#定義?n?100

struct?雇員

{

int?num

夏爾?名稱[10];

夏爾?性;?

int?年齡;

夏爾?李雪[30];

int?工資;

夏爾?addr[30];

龍?int?電話;

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

作廢?menu();

作廢?input();

作廢?save(int);

作廢?顯示();

作廢?del();

作廢?add();

作廢?search();

作廢?search_num()。

作廢?search _李雪();

作廢?search _ tel();

作廢?modify();?/*定義每個函數*/

作廢?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 ");

}

作廢?主()

{

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

int?n,旗幟;

夏爾?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)

{

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

案子?2:printf("?◆◆\n瀏覽員工信息◆◆\ n”);printf(" \ n ");顯示();打破;

案子?3:printf("?◆◆◆\n按員工編號查詢員工信息◆◆\ n”);printf(" \ n ");search();打破;?

案子?4:printf("?◆◆\n刪除員工信息◆◆\ n”);printf(" \ n ");del();打破;

案子?5:printf("?◆◆\n添加員工信息◆◆\ 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);

}

}

作廢?Input()/*輸入函數*/

{

int?我,m;

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

scanf("%d ",& ampm);

為了什麽?(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);

}

作廢?保存(int?m)?/*保存文件功能*/

{

int?我;

FILE * fp

如果?((fp=fopen("employee_list "," WB ")= = NULL)?/*創建壹個文件,判斷是否可以打開*/

{

printf?(“不能?開放?file \ n ");

退出(0);

}

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

如果?(fwrite(& amp;em[i],sizeof(struct?員工),1,fp)!=1)

printf("file?寫?錯誤\ n ");

fclose(FP);

}

int?load()?/*導入函數*/

{

FILE * fp

int?I = 0;

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

{

printf?(“不能?開放?file \ n ");

退出(0);

}

不然呢?

{

做什麽?

{

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

i++;

}

while(feof(FP)= = 0);

}

fclose(FP);

返回(I-1);

}

作廢?顯示()?/*瀏覽功能*/

{

int?我;

int?m = load();

printf("\n?員工編號\ tName \ tSex \ tAge \ t education \ t salary \ t address \ t phone \ 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]。電話);?

}

作廢?Del()/*刪除函數*/

{

int?m = load();

int?I,j,n,t,flag

夏爾?名稱[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

}

}

作廢?Add()/*添加函數*/

{

FILE * fp

int?n;

int?count = 0;

int?我;

int?m = load();

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

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

printf(" \ n ");

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

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

scanf("%d ",& ampn);

為了什麽?(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);

}

作廢?Search()/*查詢函數*/

{

int?t,旗幟;

{

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)

{?

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

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

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

案子?4:main();打破;

默認:break

}

}

}

作廢?search_num()

{

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]。電話);?

打破;

}

if(i==m)?

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

printf(" \ n ");

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

scanf("%d ",& ampt);

開關(t)

{?

案子?1:search();打破;

案子?2:?打破;

默認: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]。電話);?

}

if(i==m)?

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

printf(" \ n ");

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

scanf("%d ",& ampt);

開關(t)

{?

案子?1:search();打破;

案子?2:破;

違約?:break

}

}

作廢?search_tel()

{

龍?int?電話;

int?我,?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]。電話);?

打破;

}

if(i==m)?

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

printf(" \ n ");

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

scanf("%d ",& ampt);

開關(t)

{?

案子?1:search();打破;

案子?2:破;

違約?:break

}

}

  • 上一篇:求壹篇項目質量管理論文,3000字左右。
  • 下一篇:如何填寫企業所得稅優惠備案項目申請表!!!1
  • copyright 2024法律諮詢服務網