C語言人事檔案管理系統(tǒng)_第1頁
C語言人事檔案管理系統(tǒng)_第2頁
C語言人事檔案管理系統(tǒng)_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、#include <stdio.h>#include <string.h> #include <stdlib.h> #define N 10 struct worker char num20; / 職工編號 char name20; / 職工名稱 char sex;/ 職工性別 int age;/ 職工年齡 char remark20;/ 職工備注 stu10;void input()/ 職工根本信息錄入int i=0;FILE *fp; / 文件指針 for(i=0;i<N;i+) / 錄入信息 printf("n 請輸入第 %d 個職工的

2、根本信息 :n",i+1); printf(" 職工編號 : ");scanf("%s",stui.num); printf(" 職工名稱 : "); scanf("%s",); fflush(stdin); printf(" 職工性別 : "); scanf("%c",&stui.sex); printf(" 職工年齡 :"); scanf("%d",&stui.age); printf(&

3、quot; 備注 : "); scanf("%s",stui.remark);/判斷文件翻開是否成功if(fp=fopen("worker-massge","wb")=NULL) printf(" 文件翻開失敗 "); exit(0);for(i=0;i<N;i+)if(fwrite(&stui,sizeof(struct worker),1,fp)!=1) printf("file writer errorn");fclose(fp);void show(int j)/

4、 顯示職工信息int i;FILE *fp;if(fp=fopen("worker-massge","rb")=NULL)/ 判斷文件翻開是否成功printf(" 文件翻開失敗 ");exit(0);for(i=0;i<j;i+)fread(&stui,sizeof(struct worker),1,fp); /* 讀磁盤文件 */ printf("n* 職工根本信息表 *n"); / 顯示職工信息 printf(編號t名稱t性別t年齡t備注n);for(i=0;stui.age!=-1&&a

5、mp;i<N;i+) printf("n%st%st%ct%dt%sn",stui.num,,stui.sex,stui.age,stui.remark); void search()/ 按照職工名稱進(jìn)行查詢int a,i,g,e;char d,r20,c20;FILE *fp;if(fp=fopen("worker-massge","rb")=NULL)/ 判斷文件翻開是否成功 printf(" 文件翻開失敗 ");return;for(i=0;i<N;i+)fread(&s

6、tui,sizeof(struct worker),1,fp); /* 讀磁盤文件 */fclose(fp);while(g)printf("* 請選擇查詢方式 *n"); printf(" 1,2,序號3,性別4,年齡 n ");printf(" *n"); scanf("%d",&a);switch(a)case 1:printf(" 請輸入: "); scanf("%s",r);printf(" 序號 性別 年齡 備注 n "); for(i

7、=0;i<N;i+) if(strcmp(,r)=0)printf("n%st%st%ct%dt%sn",stui.num,,stui.sex,stui.age,stui.remark); break;case 2:printf(" 請輸序號: "); scanf("%s",&c);printf(" 序號 性別 年齡 備注 n "); for(i=0;i<N;i+) if(strcmp(c,stui.num)=0)printf("n%st%st%ct

8、%dt%sn",stui.num,,stui.sex,stui.age,stui.remark); break;case 3:printf(" 請輸性別: "); getchar(); scanf("%c",&d); printf(" 序號 性別 年齡 備注 n "); for(i=0;i<N;i+) if(stui.sex=d)printf("n%st%st%ct%dt%sn",stui.num,,stui.sex,stui.age,stui.remar

9、k); break;case 4:printf(" 請輸年齡: "); scanf("%d",&e);printf(" 序號 性別 年齡 備注 n "); for(i=0;i<10;i+) if(stui.age=e)printf("n%st%st%ct%dt%sn",stui.num,,stui.sex,stui.age,stui.remark); break;default :printf(" 錯誤 "); break; printf("_ 是否繼續(xù)

10、查詢是按 1/否按 0: ");scanf("%d",&g);void change(int k)/ 修改職工信息int i;FILE *fp;char listname20;char password10;doprintf(" 請輸入修改密碼 n"); scanf("%s",password);if(strcmp(password,"0819")!=0)printf(" 密碼錯誤 ,不能修改 n");continue;break;while(1);printf("

11、密碼正確 ,可以修改 n");if(fp=fopen("worker-massge","rb")=NULL) printf(" 文件翻開失敗 "); return ;for(i=0;i<k;i+)fread(&stui,sizeof(struct worker),1,fp); /* 讀磁盤文件 */ printf("nn 職工信息表 nn");printf(編號tt性別t年齡t備注n");for(i=0;i<k;i+)printf("%st%st%ct%dt%sn&

12、quot;,stui.num,,stui.sex,stui.age,stui.remark); printf(" 請輸入要更改的職工的編號: ");scanf("%s",listname);for(i=0;i<k;i+)if(strcmp(listname,stui.num)=0) break;if(i<k) /修改職工信息printf("n 請修改職工的信息: n"); printf(" 職工編號 : ");scanf("%s",stui.num);printf(

13、" 職工 : "); scanf("%s",); fflush(stdin);printf(" 職工性別 : "); scanf("%c",&stui.sex); printf(" 職工年齡 : "); scanf("%d",&stui.age); printf(" 職工備注 : "); scanf("%s",&stui.remark);elseprintf(" 對不起,你請輸入職工編

14、號是錯誤的或沒有此編號 "); return ;/ if(fp=fopen("worker-massge","wb")=NULL)printf(" 文件翻開失敗 ");exit(0);for(i=0;i<k;i+) / 往文件里寫修改的數(shù)據(jù)if(fwrite(&stui,sizeof(struct worker),1,fp)!=1)printf("file writer errorn");fclose(fp);int del() / 職工信息刪除int i,j,k=0;FILE *fp;ch

15、ar listname20;printf(" 請輸入要刪除的職工的編號: "); scanf("%s",listname);if(fp=fopen("worker-massge","rb")=NULL)printf(" 文件翻開失敗 ");return 0; ;for(i=0;i<N;i+)fread(&stui,sizeof(struct worker),1,fp); /* 讀磁盤文件 */ fclose(fp);for(i=0;i<N;i+)if(strcmp(listn

16、ame,stui.num)=0)k=1;break;if(k=1) / 修改職工信息for(j=i;j<N-1;j+)stuj=stuj+1;elseprintf(" 對不起,你請輸入職工編號是錯誤的或沒有此編號 "); return 0;strcpy(stuj.num,"000");stuj.age=-1;/往文件里寫if(fp=fopen("worker-massge","wb")=NULL)printf(" 文件翻開失敗 "); return 0;for(i=0;i<N-1;i

17、+) / 往文件里寫修改的數(shù)據(jù) if(fwrite(&stui,sizeof(struct worker),1,fp)!=1) printf("file writer errorn"); fclose(fp);return N-1;void save(int j) / 保存職工信息 FILE *fp;int i;if(fp=fopen("worker-massge","wb")=NULL) printf(" 文件翻開失敗 "); exit(0);for(i=0;i<j;i+)if(fwrite(&am

18、p;stui,sizeof(struct worker),1,fp)!=1) printf("file writer errorn");printf(" 保存成功 n"); fclose(fp);void main()char choice; / 輸入數(shù)值 ,確定選項(xiàng) .char password10;don");printf(" 請輸入進(jìn)入人事檔案管理系統(tǒng)的密碼scanf("%s",password);if(strcmp(password,"0819")!=0)printf(" 密碼錯誤 ,不能

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論