C++職工工資管理源代碼_第1頁
C++職工工資管理源代碼_第2頁
C++職工工資管理源代碼_第3頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、附錄源程序#i nclude <stdio.h>#i nclude <stdlib.h>#in elude <stri ng.h>struct workerchar n ame30;char ID10;int salary1,salary2,salary3;int dq(struct worker wo);void show();void bc(struct worker wo);void add();void see();void search();void ghcz();void xmcz();void del();void xmsc();void gh

2、sc();void statistics。;void modify。;void ghxg();void xmxg();void reserve。;void back();void author();struct worker wo100; /保存所有的職工信息int Number=0; /記錄總的職工人數(shù)void mai n()int choose=0;while(true)show();prin tf("tt=>請選擇:”);sca nf("%d",&choose);system("cls");switch(choose)cas

3、e 0: exit(O);/ 退出break;case 1: add();back();添加職工信息break;case 2: see();back();查看職工信息break;case 3: search();back();查找職工信息break;case 4: del();back();刪除職工信息break;case 5: statistics。; back();/統(tǒng)計職工工資 break;case 6: modify。;back();/修改職工信息 break;case 7:reserve();back();/保存數(shù)據(jù) break;case 8:author();back();作者信息

4、break;default:break;fflush(stdi n);getchar();system("cls");int dq(struct worker wo)FILE *fp=NULL;int i=0;fp=fope n( "C:/worker.dat","rb");while(fread(&woi,sizeof(struct worker),1,fp) i+;fclose(fp);return i;prin tf("t*n");prin t("tAAAAAAAAAAAAAAA1添加職丄信

5、息AAAAAAAAAAAAAAAAA門")prin tf("tAAAAAAAAAAAAAAA2查看職工信息AAAAAAAAAAAAAAAAAn")卩命 tf("tAAAAAAAAAAAAAAA3查找職丄信息AAAAAAAAAAAAAAAAA門")卩命 tf("tAAAAAAAAAAAAAAA4刪除職工信息AAAAAAAAAAAAAAAAA門")卩命 tf("tAAAAAAAAAAAAAAA5統(tǒng)計職工工資AAAAAAAAAAAAAAAAA門")卩命 tf("tAAAAAAAAAAAAAAA6修改職

6、工信息AAAAAAAAAAAAAAAAA門")卩命 tf("tAAAAAAAAAAAAAAA7保存 數(shù)據(jù) AAAAAAAAAAAAAAAAAn");卩命 tf("tAAAAAAAAAAAAAAA8作者信 息 AAAAAAAAAAAAAAAAA門")卩命 tf("tAAAAAAAAAAAAAAA0退 出 系統(tǒng) AAAAAAAAAAAAAAAAAnn");prin tf("t*;void show()prin tf("n");prin tf("t*職工工資管理系統(tǒng)*nn");vo

7、id bc(struct worker *wo)FILE *fp=NULL;fp=fope n( "C:/worker.dat","ab+");fwrite(wo,sizeof(struct worker),1,fp);fclose(fp);/添加職工信息void add()int nu mberTemp=O;int i=0;struct worker temp;printf(”請輸入要添加職工個數(shù):");sca nf("%d",&nu mberTemp);for(i=0;i< nu mberTemp;i+)p

8、rintf("輸入第%d個職工信息n",i+1);printf("姓名:");sca nf("%s",temp .n ame);printf("工號:");sca nf("%s",tempD);printf("基本工資:");sca nf("%d", &temp.salary1);printf("職務工資:");sca nf("%d", &temp.salary2);printf("津貼:&

9、quot;);sea nf("%d", &temp.salary3);woNumber+=temp; /寫入到數(shù)組be(& temp); /寫入到文件printf("添加成功 n");/查看職工信息void see()int i=0;printf("以下是全部職工n”);printf("t姓名t工號t基本工資t職務工資t津貼n");while(i<Number)prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.

10、salary2,woi.salary3);i+;/查找職工信息void seareh()int n=0;printf("1按姓名查找n");printf("2按工號查找n");sea nf("%d",&n);switch( n)case 1: xmcz();break;case 2: ghcz();break;default: printf("輸入錯誤!n");break;void xmcz()按姓名查找char n ame30;int i=0;printf(”請輸入要查找職工姓名:”);sca nf(&q

11、uot;%s", name);system("cls");printf("t姓名t工號t基本工資t職務工資t津貼n");for (i=O;i<Number;i+) if (strcmp( name,woi. name)=0)prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);void ghcz() 按工號查找char id10;int i=0;printf(”請輸入要查找職工工號:”);sca nf(&qu

12、ot;%s",id);system("cls");printf("t姓名t工號t基本工資t職務工資t津貼n");for (i=0;i<Number;i+)if (strcmp(id,woi.ID)=0)prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);/刪除職工信息void del()int n=0;printf("1按姓名刪除n");printf("2按工號刪除n"

13、;);sca nf("%d",&n);switch( n)case 1: xmsc();break;case 2: ghsc();break;void xmsc()/ 按姓名刪除FILE *fp=NULL;char n ame30;int i=0;int j=0;printf(”請輸入要刪除的職工姓名:”);sca nf("%s", name);for(i=0;i<Number;i+)if (strcmp( name,woi. name)=O)for (j=i;j<Number-1;j+)wo j=wo j+1;Number-;/將剩

14、余數(shù)據(jù)寫入文件擦除以前的數(shù)據(jù) fp=fope n("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf("刪除成功;n");void ghsc()按工號刪除FILE *fp=NULL;char id60;int i=0;int j=0;printf(”請輸入要刪除的職工工號:");sca nf("%s",id);for(i=0;i<Numb

15、er;i+)if (strcmp(id,woi.ID)=0)for (j=i;j<Number-1;j+)wo j=woj+1;Number-;/將剩余數(shù)據(jù)寫入文件擦除以前的數(shù)據(jù)fp=fope n("C:/worker.dat","wb");for (i=O;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf("刪除成功;n");/統(tǒng)計職工工資void statistics()int i=0;double s=0.0;doubl

16、e sum100;for(i=0;i<Number;i+)sumi=woi.salary1+woi.salary2+woi.salary3;prin tf("%s的總工資為:%fn",woi. name,sumi);for(i=0;i<Number;i+)s+=sumi;printf("平均工資為:%fn”,s/Number);/修改職工信息void modify。int mode=0;printf(”請選擇修改查找方式n");printf("1按姓名查找修改n");printf("2按工號查找修改n"

17、);sca nf("%d",&mode);switch(mode)case 1: xmxg();break;case 2: ghxg();break;default: printf("輸入錯誤!n");break;void xmxg()按姓名修改FILE *fp=NULL;char n ame30;int i=0;printf(”請輸入要修改的職工姓名:");sca nf("%s", name);for (i=O;i<Number;i+)if (strcmp( name,woi. name);elsebreak

18、;printf("t姓名t工號t基本工資t職務工資t津貼n");prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);printf(”請重新輸入該職工信息");printf("姓名:");sca nf("%s",woi. name);printf(” 工號:”);sea nf("%s",woi.ID);printf("基本工資:");sea nf(&quo

19、t;%d",&woi.salary1);printf("職務工資:");sea nf("%d",&woi.salary2);printf("津貼:");sea nf("%d",&woi.salary3);以保持數(shù)據(jù)一致性/信息修改后重新更新文件里面的數(shù)據(jù)fp=fope n("C:/worker.dat","wb");for (i=O;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,

20、fp);fclose(fp);void ghxg()按工號修改FILE *fp=NULL;char id30;int i=0;printf(”請輸入要修改的職工工號:”);sea nf("%s",id);for (i=O;i<Number;i+)if (strcmp(id,woi.ID);elsebreak;printf("t姓名t工號t基本工資t職務工資t津貼n");prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);printf(”請重新輸入該職工信息");printf("姓名:");printf("姓名:");sca nf("%s",woi. name);printf("工號:");sca nf("%s",woi.ID);printf("基本工資:");sca nf("%d"

溫馨提示

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

評論

0/150

提交評論