職工信息管理系統(tǒng)(c語言源代碼)(精)_第1頁
職工信息管理系統(tǒng)(c語言源代碼)(精)_第2頁
職工信息管理系統(tǒng)(c語言源代碼)(精)_第3頁
職工信息管理系統(tǒng)(c語言源代碼)(精)_第4頁
職工信息管理系統(tǒng)(c語言源代碼)(精)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、#in elude #i nclude#i ncludestruct workerint num;char n ame20;char zhiche ng10;int wages;int reward;long birth;int salary;work500,work1; /* 定義結(jié)構(gòu)體 */void me nu(; 聲明菜單函數(shù)void typen(; /聲明錄入函數(shù)void baocu n(int; /聲明保存函數(shù)void scan(; /聲明瀏覽函數(shù)void del(; /聲明刪除函數(shù)void search(; /聲明查詢函數(shù)void search_zhiche ng(; /聲明按職稱

2、查詢函數(shù)void search_name(; /聲明按姓名查找函數(shù)void cha nge(; /聲明修改函數(shù)void order(; 聲明排序函數(shù)void add(; 聲明添加函數(shù)void order_wages(;void order_ name(;void menu( /* 菜單函數(shù) */ prin tf("n"prin tf(" welcome to n"printf("職工信息管理系統(tǒng)printf('*n"*printf('*n"printf(" 1.錄入職工信息n"printf

3、(" 2.瀏覽職工信息n"printf(" 3.查詢職工信息n"printf(" 4.刪除職工信息n"printf(" 5.修改職工信息n"printf(" 6.職工信息排序n"printf(" 7.添加職工信息n"printf(" 8.退出 n"*prin tf("n"/*/ void mai n( int n,f;while(1 domenu(; /*調(diào)用菜單函數(shù)*/printf("請輸入你需要操作的序號(1 8:n&qu

4、ot;sea nf("%d",&n;if(n >=1 &&n <=8f=1;break;elsef=0;printf("您輸入有誤,請重新選擇!"while(f=0;switch( ncase 1:printf("錄入職工信息 n"printf("n"type_in(;break;case 2:printf("瀏覽職工信息 n"printf("n"system("cls"scan(;break;case 3:printf

5、("查詢職工信息 n"printf("n"system("cls"search(;break;case 4:printf("刪除職工信息 n"printf("n"system("cls"del(;break;case 5:printf("修改職工信息 n"printf("n"system("cls"change(;break;case 6:printf("職工信息排序 n"printf("

6、;n"system("cls"order(;break;case 7:printf(” 添加職工信息 n"printf("n"system("sls"add(;break;case 8:goto loop;/*用goto語句跳至跳至指定的行*/default :break;loop:/ 行標(biāo)system("cls"prin tf("nnnnnn 謝謝使用! nnnnnn"/*/void type_in( /* 錄入函數(shù) */int i,m;printf("請輸入需要

7、創(chuàng)建信息的職工人數(shù)(1-500:n"sca nf("%d",&m;for (i=0;iprintf("請輸入職工號:"sca nf("%d",&worki. num;prin tf("n"printf("請輸入姓名:"sca nf("%s",worki. name;getchar(;printf("請輸入職稱:"sea nf("%s",&worki.zhiche ng;printf("請輸入基

8、本工資:"sea nf("%d",&worki.wages;printf("請輸入獎金:"sea nf("%d",&worki.reward;printf("請輸入生日(格式如19900101):"sea nf("%d",&worki.birth;getchar(;system("cls"printf("n 一個職工的信息檔案創(chuàng)建完畢!請輸入下一個職工的信息 n"worki.salary=worki.wages + wor

9、ki.reward;prin tf("n"baocun(m;/*/void baocun(int m /*保存文件函數(shù) */int i;FILE *fp;if (fp=fopen("E:worker_list.txt","wb"=NULL /* 創(chuàng)建文件并判斷是否能打開 */ printf ("此文件不能打開n"exit(0;for (i=O;i將內(nèi)存中職工的信息輸出到磁盤文件中去*/if (fwrite(&worki,sizeof(struct worker,1,fp!=1prin tf("fi

10、le write error'n"fclose(fp;/*/int load( /*導(dǎo)入函數(shù)*/FILE*fp;int i=0;if(fp=fope n( "E:worker_list.txt","rb"=NULLprintf ("cannot open filen"exit(0;elsedofread(&worki,sizeof(struct worker,1,fp;i+;while(feof(fp=0;fclose(fp;return(i-1;*/ void scan( /*瀏覽函數(shù) */int i;in

11、t m=load(;printf("n職工號t姓名t職稱t基本工資t獎金t實際工資t生日n" for(i=0;iprin tf("n %dt%st %st %d t%dt %dt %ldn",worki. nu m,worki. name, worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth; printf("按任意鍵繼續(xù)n"getchar(;getchar(;system("cls"void del( /*刪除函數(shù)*/int m=lo

12、ad(;in t i,j,n ,t,f;char name110;printf("n原來的職工信息:n"sean(; /*調(diào)用瀏覽函數(shù)*/prin tf("n"printf("請輸入要刪除的職工的姓名:n"sea nf("%s" ,n amel;for(f=1,i=0;f&&iif(strcmp(worki. name, name1=0printf("n已找到此人,原始記錄為:n"printf("n職工號t姓名t職稱t基本工資t獎金t實際工資t生日n"prin

13、 tf("n %dt%st %st %d t%dt %dt %ldn",worki. nu m,worki. name,worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth;printf("n確實要刪除此人信息請按1,不刪除請按0n"sca nf("%d",&n;if(n=1 /*如果刪除,則其他的信息都向前移一行*/for(j=i;jworkj=workj+1;f=0;if(!fm=m-1;elseprintf("n對不起,查無此人!n&

14、quot;printf("n瀏覽刪除后的所有職工信息:n"baocu n(m; /*調(diào)用保存函數(shù)*/scan(; /*調(diào)用瀏覽函數(shù)*/printf("n繼續(xù)刪除請按1,不再刪除請按0n"sca nf("%d", &t;switch(tcase 1:del(;break;case 0:break;default :break;system("cls"/*/void search(/*查詢函數(shù) */int t,f;doprintf("n按姓名查詢請按1 ;按職稱查詢請按2 ;進入主函數(shù)按3n"

15、;sca nf("%d", &t;if(t>=1 &&t<=3f=1;break;elsef=0;printf("您輸入有誤,請重新選擇!"while(f=0;system("cls"while(f=1switch(tcase 1:printf("按姓名查詢 n"search_name(;break;case 2:printf("按職稱查詢 n"search_zhicheng(;break;case 3:ma in (;break;default:break;

16、system("cls"/*/ void search_name(/按姓名查找函數(shù)*/char name110;int i,t;int m=load(;printf("請輸入要查找的姓名:n"sea nf("%s" ,n amel;for(i=0;iif(strcmp( name1,worki. name=0printf("n已找到此人,其記錄為:n"printf("n職工號t姓名t職稱t基本工資t獎金t實際工資t生日n"prin tf("n %dt%st %st %d t%dt %d

17、t %ldn",worki. nu m,worki. name, worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth; break;if(i=mprintf("n對不起,查無此人n"prin tf("n"printf("返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2n"sca nf("%d", &t;switch(tcase 1:search(;break;case 2: break;default:break;/*/voi

18、d search_zhicheng(/*按職稱查找函數(shù) */char zhiche ng110;int i,t;int m=load(;printf("請輸入要查找的職稱:n"sca nf("%s",zhiche ng1;for(i=0;iif(strcmp(zhiche ng1,worki.zhiche ng=0printf("n已找到此人,其記錄為:n"printf("n職工號t姓名t職稱t基本工資t獎金t實際工資t生日n"prin tf("n %dt%st %st %d t%dt %dt %ldn&

19、quot;,worki. nu m,worki. name, worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth; break;if(i=mprintf("n對不起,查無此人n"prin tf("n"sca nf("%d", &t;printf("返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2n"switch(t case 1:search(;break;case 2: break;default:break;/*/void chan

20、ge( /*修改函數(shù) */int num;char n ame20;char zhiche ng10;int wages;int reward;int birth;int salary;int b,c,i, n,t,f;int m=load(; /*導(dǎo)入文件內(nèi)的信息*/printf("n原來的職工信息:n"scan(; /*調(diào)用瀏覽函數(shù)*/prin tf("n"sca nf("%s", name;printf("請輸入要修改的職工的姓名:n"for(f=1,i=0;f&&iif(strcmp(wor

21、ki. name ,n ame=0printf("n已找到此人,原始記錄為:n"printf("n職工號t姓名t職稱t基本工資t獎金t實際工資t生日n"prin tf("n %dt%st %st %d t%dt %dt %ldn",worki. nu m,worki. name,worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth;printf("n確實要修改此人信息請按1 ;不修改請按0n"sca nf("%d",&

22、amp;n;if(n=1printf("n需要進行修改的選項n 1.職工號2.姓名3.職稱4.基本工資5.獎金6.生日7. 實際工資n"printf("請輸入你想修改的那一項序號:n"sca nf("%d",&c;if(c>7|c<1printf("n選擇錯誤,請重新選擇!n"f=0;Unit 6 Where are the jazz CDs?if(f=1 doprintf("n對不起,查無此人!n"switch(c /*因為當(dāng)找到第i個職工時,for語句后i自加了 1,所以

23、下面的應(yīng)該把改后的信息賦值給第i-1個人*/ case 1:printf("職工號改為:"sca nf("%d",#worki-1. num=num;break;case 2:printf('姓名改為:"sca nf("%s", name;strcpy(worki-1. name, name;break;case 3:printf("職稱改為"sca nf("%s",zhiche ng;strcpy(worki-1.zhiche ng,zhiche ng; break;case

24、 4:printf("基本工資改為:";sca nf("%d",&wages;worki-1.wages=wages;break;case 5:printf("獎金改為:"sca nf("%d",&reward;worki-1.reward=reward;break;case 6:printf("生日改為:"sea nf("%ld",&birth;worki-1.birth=birth;break;ease 7:printf("實際工資改為:

25、"sea nf("%d",&salary;worki-1.salary=salary;break;prin tf("n"printf("n是否確定所修改的信息?n是請按1 ; n不Topic: Music請按2: n"sea nf("%d",&b;Fun eti ons : Ask for and give direeti ons in side a buildi ngwhile(b=2;printf("n 瀏覽修改后的所有職工信息Struetures: Where What q

26、uestions printf("n"baoeun(m;sea n(;printf("n繼續(xù)修改請按1,不再修改請按0n"sea nf("%d", &t;switeh(tease 1:eha nge(;break;ease 0:break;default :break;system("els"/*/void order(/*排序函數(shù) */int k,f;doprintf("n按姓名排序請按1 ;按基本工資排序請按2 ;進入主函數(shù)按3n"sea nf("%d",&

27、;k;if(k>=1 &&k<=3f=1;break;elsef=0;printf("您輸入有誤,請重新選擇!"while(f=O;system("cls"while(f=1switch(kcase 1:printf("n按姓名排序為(字母由小到大排列:n"order_name(;break; case 2:printf("n按基本工資排序為(由高到低排列:n"order_wages(;break; case 3:system("cls"mai n(;break;de

28、fault:break;system("cls"/*/void order_name(/*按姓名排序函數(shù)*/int i,j,k;int m=load(;for(i=0;ifor(j=0;j起泡法排序*/if(strcmp(workj. name,workj+1. name>0 work仁workj;workj=workj+1;workj+1=work1;baocun(m;printf("n職工號t姓名t職稱t基本工資t獎金t實際工資t生日n" for(j=0;jprin tf("n %dt%st %st %d t%dt %dt %ldn&

29、quot;,workj. nu m,workj. name, workj.zhiche ng,workj.wages,workj.reward,workj.salary,workj.birth; printf("返回排序函數(shù)請按1,返回主菜單請按2n"sca nf("%d",&k;switch(k case 1:order(;break;case 2:system("cls" main (;break;default:break;system("cls"/*/void order_wages(/*按基本工資排序函數(shù)*/int i,k,j;int m=load(;for(i=0;ifor(j=0;jif(workj.wages用起泡法排序*/ work仁workj;workj=workj+1;workj+1=work1;baocun(m;printf("n職工號t姓名t職稱t基本工資t獎金t實際工資t生日n" for(j=0;jprin tf("n %dt%st %st %d t%dt %dt %ldn",workj. nu m,workj. name,w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論