C語(yǔ)言企業(yè)員工管理系統(tǒng)_第1頁(yè)
C語(yǔ)言企業(yè)員工管理系統(tǒng)_第2頁(yè)
C語(yǔ)言企業(yè)員工管理系統(tǒng)_第3頁(yè)
C語(yǔ)言企業(yè)員工管理系統(tǒng)_第4頁(yè)
C語(yǔ)言企業(yè)員工管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言企業(yè)員工管理系統(tǒng)代碼部分:#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct employee int num; char duty10; char name10; char sex3; unsigned char age; char edu10; int salary; char tel_office13; char tel_home13; char mobile13; char qq11; char address31; struct employee *ne

2、xt; EMP; char password9; EMP *emp_first,*emp_end; char gsave,gfirst; void addemp(void); void findemp(void); void listemp(void); void modifyemp(void); void summaryemp(void); void delemp(void); void resetpwd(void); void readdata(void); void savedata(void); int modi_age(int s); int modi_salary(int s);

3、char *modi_field(char *field,char *s,int n); EMP *findname(char *name); EMP *findnum(int num); EMP *findtelephone(char *name); EMP *findqq(char *name); void displayemp(EMP *emp,char *field,char *name); void checkfirst(void); void bound(char ch,int n); void login(); void menu();void addemp() FILE *fp

4、; EMP *emp1; int i=0; char choice='y' if(fp=fopen("employee.dat","ab")=NULL) printf("打開(kāi)文件employee.dat出錯(cuò)!n"); getch(); return; do i+; emp1=(EMP *)malloc(sizeof(EMP); if(emp1=NULL) printf("內(nèi)存分配失敗,按任意鍵退出!n"); getch(); return; printf("請(qǐng)輸入第%d個(gè)員工的信息,n&q

5、uot;,i); bound('_',30); printf("工號(hào):"); scanf("%d",&emp1->num); printf("職務(wù):"); scanf("%s",&emp1->duty); printf("姓名:"); scanf("%s",&emp1->name); printf("性別:"); scanf("%s",&emp1->sex); pr

6、intf("年齡:"); scanf("%d",&emp1->age); printf("文化程度:"); scanf("%s",&emp1->edu); printf("工資:"); scanf("%d",&emp1->salary); printf("辦公電話:"); scanf("%s",&emp1->tel_office); printf("家庭電話:"

7、); scanf("%s",&emp1->tel_home); printf("移動(dòng)電話:"); scanf("%s",&emp1->mobile); printf("QQ:"); scanf("%s",&emp1->qq); printf("地址:"); scanf("%s",&emp1->address); emp1->next=NULL; if(emp_first=NULL) emp_fi

8、rst=emp1; emp_end=emp1; else emp_end->next=emp1; emp_end=emp1; fwrite(emp_end,sizeof(EMP),1,fp); gfirst=0; printf("n"); bound('_',30); printf("n是否繼續(xù)輸入?(y/n)"); fflush(stdin); choice=getch(); if(toupper(choice)!='Y') fclose(fp); printf("n輸入完畢,按任意鍵返回n")

9、; getch(); return; system("cls"); while(1);void bound(char ch,int n) while(n-) putch(ch); printf("n"); return; /*首次使用,進(jìn)行用戶信息初始化*/void checkfirst() FILE *fp,*fp1; char pwd9,pwd19,pwd29,pwd39,ch; int i; char strt='8' if(fp=fopen("config.bat","rb")=NULL)

10、printf("n新系統(tǒng),請(qǐng)進(jìn)行相應(yīng)的初始化操作!n"); bound('_',50); getch(); do printf("n設(shè)置密碼,請(qǐng)不要超過(guò)8位:"); for(i=0;i<8&&(pwdi=getch()!=13);i+) putch('*'); printf("n再確認(rèn)一次密碼:"); for(i=0;i<8&&(pwd1i=getch()!=13);i+) putch('*'); pwdi='0' pwd1i=

11、'0' if(strcmp(pwd,pwd1)!=0) printf("n兩次密碼輸入不一致,請(qǐng)重新輸入!nn"); else break; while(1); if(fp1=fopen("config.bat","wb")=NULL) printf("n系統(tǒng)創(chuàng)建失敗,請(qǐng)按任意鍵退出!"); getch(); exit(1); i=0; while(pwdi) pwd2i=(pwdi strt); putw(pwd2i,fp1); i+; fclose(fp1); printf("nn系統(tǒng)

12、初始化成功,按任意鍵退出后,再重新進(jìn)入!n"); getch(); exit(1); else i=0; while(!feof(fp)&&i<8) pwdi+=(getw(fp)strt); pwdi='0' if(i>=8) i-; while(pwdi!=-1&&i>=0) i-; pwdi='0' strcpy(password,pwd); void delemp() int findok=0; EMP *emp1,*emp2; char name10,choice; system("

13、cls"); printf("n輸入要?jiǎng)h除的員工姓名:"); scanf("%s",name); emp1=emp_first; emp2=emp1; while(emp1) if(strcmp(emp1->name,name)=0) findok=1; system("cls"); printf("員工:%s的信息如下:",emp1->name); bound('_',40); printf("工號(hào):%dn",emp1->num); printf(&

14、quot;職務(wù):%sn",emp1->duty); printf("姓名:%sn",emp1->name); printf("性別:%sn",emp1->sex); printf("年齡:%dn",emp1->age); printf("文化程度:%sn",emp1->edu); printf("工資:%dn",emp1->salary); printf("辦公電話:%sn",emp1->tel_office); print

15、f("家庭電話:%sn",emp1->tel_home); printf("移動(dòng)電話:%sn",emp1->mobile); printf("QQ號(hào)碼:%sn",emp1->qq); printf("住址:%ns",emp1->address); bound('_',40); printf("您真的要?jiǎng)h除該員工嗎?(y/n)"); fflush(stdin); choice=getchar(); if(choice!='y' &&a

16、mp; choice!='Y') return; if(emp1=emp_first) emp_first=emp1->next; else emp2->next=emp1->next; free(emp1); gsave=1; savedata(); return; else emp2=emp1; emp1=emp1->next; if(!findok) bound('_',40); printf("n沒(méi)有找到姓名是:%s的信息!n",name); getch(); return;void displayemp(EM

17、P *emp,char *field,char *name) if(emp) printf("n%s:%s信息如下:n",field,name); bound('_',30); printf("工號(hào):%dn",emp->num); printf("職務(wù):%sn",emp->duty); printf("姓名:%sn",emp->name); printf("性別:%sn",emp->sex); printf("年齡:%dn",emp-&

18、gt;age); printf("文化程度:%sn",emp->edu); printf("工資:%dn",emp->salary); printf("辦公電話:%sn",emp->tel_office); printf("家庭電話:%sn",emp->tel_home); printf("移動(dòng)電話:%sn",emp->mobile); printf("QQ號(hào)碼:%sn",emp->qq); printf("住址:%sn"

19、;,emp->address); bound('_',30); else bound('_',40); printf("資料庫(kù)中沒(méi)有%s為:%s的員工!請(qǐng)重新確認(rèn)!",field,name); return;EMP *findname(char *name) EMP *emp1; emp1=emp_first; while(emp1) if(strcmp(name,emp1->name)=0) return emp1; emp1=emp1->next; return NULL;EMP *findnum(int num) EM

20、P *emp1; emp1=emp_first; while(emp1) if(num=emp1->num) return emp1; emp1=emp1->next; return NULL; EMP *findtelephone(char *name) EMP *emp1; emp1=emp_first; while(emp1) if(strcmp(name,emp1->tel_office)=0)| (strcmp(name,emp1->tel_home)=0)| (strcmp(name,emp1->mobile)=0) return emp1; emp1

21、=emp1->next; return NULL; EMP *findqq(char *name) EMP *emp1; emp1=emp_first; while(emp1) if(strcmp(name,emp1->qq)=0) return emp1; emp1=emp1->next; return NULL; void findemp() int choice,ret=0,num; char str13; EMP *emp1; system("cls"); do printf("t查詢員工信息n"); bound('_&

22、#39;,30); printf("t1.按姓名查詢n"); printf("t2.按工號(hào)查詢n"); printf("t3.按電話查詢n"); printf("t4.按QQ號(hào)查詢n"); printf("t0.返回主菜單n"); bound('_',30); printf("n請(qǐng)選擇菜單:"); do fflush(stdin); choice=getchar(); system("cls"); switch(choice) case &

23、#39;1': printf("n輸入要查詢的員工姓名:"); scanf("%s",str); emp1=findname(str); displayemp(emp1,"姓名",str); getch(); break; case '2': printf("n請(qǐng)輸入要查詢的員工的工號(hào)"); scanf("%d",&num); emp1=findnum(num); itoa(num,str,10); displayemp(emp1,"工號(hào)",s

24、tr); getch(); break; case '3': printf("n輸入要查詢員工的電話:"); scanf("%s",str); emp1=findtelephone(str); displayemp(emp1,"電話",str); getch(); break; case '4': printf("n輸入要查詢的員工的QQ號(hào):"); scanf("%s",str); emp1=findqq(str); displayemp(emp1,"Q

25、Q號(hào)碼",str); getch(); break; case '0': ret=1; break; while(choice<'0'|choice>'4'); system("cls"); if(ret) break; while(1); void listemp() EMP *emp1; printf("n資料庫(kù)中的員工信息列表n"); bound('_',40); emp1=emp_first; while(emp1) printf("工號(hào):%dn&qu

26、ot;,emp1->num); printf("職務(wù):%sn",emp1->duty); printf("姓名:%sn",emp1->name); printf("性別:%sn",emp1->sex); printf("年齡:%dn",emp1->age); printf("文化程度:%sn",emp1->edu); printf("工資:%dn",emp1->salary); printf("辦公電話:%sn",

27、emp1->tel_office); printf("家庭電話:%sn",emp1->tel_home); printf("移動(dòng)電話:%sn",emp1->mobile); printf("QQ號(hào)碼:%sn",emp1->qq); printf("住址:%sn",emp1->address); bound('_',40); emp1=emp1->next; printf("n顯示完畢,按任意鍵退出!n"); getch(); return;/*

28、檢測(cè)登錄密碼*/void login() int i,n=3; char pwd9; do printf("請(qǐng)輸入密碼:"); for(i=0;i<8 && (pwdi=getch()!=13);i+) putch('*'); pwdi='0' if(strcmp(pwd,password) printf("n密碼錯(cuò)誤,請(qǐng)重新輸入!n"); system("cls"); n-; else break; while(n>0); if(!n) printf("請(qǐng)退出,你

29、的三次輸入密碼錯(cuò)誤!"); getch(); exit(1); void menu() char choice; system("cls"); do printf("t 企業(yè)員工管理系統(tǒng)n"); bound('_',40); printf("t1.輸入員工信息n"); printf("t2.查詢員工信息n"); printf("t3.顯示員工信息n"); printf("t4.修改員工信息n"); printf("t5.刪除員工信息n&qu

30、ot;); printf("t6.統(tǒng)計(jì)員工信息n"); printf("t7.重置系統(tǒng)密碼n"); printf("t0.退出系統(tǒng)n"); bound('_',40); printf("n請(qǐng)選擇您需要的操作!"); do fflush(stdin); choice=getchar(); system("cls"); switch(choice) case '1': addemp(); break; case '2': if(gfirst) prin

31、tf("系統(tǒng)信息中無(wú)員工信息,請(qǐng)先添加員工信息!n"); getch(); break; findemp(); break; case '3': if(gfirst) printf("系統(tǒng)信息中無(wú)員工信息,請(qǐng)先添加員工信息!n"); getch(); break; listemp(); break; case '4': if(gfirst) printf("系統(tǒng)信息中無(wú)員工信息,請(qǐng)先添加員工信息!n"); getch(); break; modifyemp(); break; case '5&#

32、39;: if(gfirst) printf("系統(tǒng)信息中無(wú)員工信息,請(qǐng)先添加員工信息!n"); getch(); break; delemp(); break; case '6': if(gfirst) printf("系統(tǒng)信息中無(wú)員工信息,請(qǐng)先添加員工信息!n"); getch(); break; summaryemp(); break; case '7': resetpwd(); break; case '0': savedata(); exit(0); while(choice<'0&

33、#39;|choice>'7'); system("cls"); while(1); int modi_salary(int salary) int newsalary; printf("原來(lái)的工資數(shù)為:%d",salary); printf("新的工資數(shù):"); scanf("%d",&newsalary); return(newsalary);int modi_age(int age) int newage; printf("原來(lái)的年齡為:%d",age); p

34、rintf("新的年齡:"); scanf("%d",&newage); return(newage);char *modi_field(char *field,char *content,int len) char *str; str=malloc(sizeof(char)*len); if(str=NULL) printf("內(nèi)存分配失敗,按任意鍵退出!"); getch(); return NULL; printf("原來(lái)%s為:%sn",field,content); printf("修改

35、為(內(nèi)容不要超過(guò)%d個(gè)字符?。?quot;,len); scanf("%s",str); return str;void modifyemp() EMP *emp1; char name10,*newcontent; int choice; printf("n請(qǐng)輸入您要修改的員工的信息:"); scanf("%s",&name); emp1=findname(name); displayemp(emp1,"姓名",name); if(emp1) printf("n 請(qǐng)輸入你要修改的內(nèi)容選項(xiàng)!n&

36、quot;); bound('_',40); printf("1.修改職務(wù) 2.修改年齡n"); printf("3.修改文化程度 4.修改工資n"); printf("5.修改辦公室電話 6.修改家庭電話n"); printf("7.修改移動(dòng)電話 8.修改QQ號(hào)碼 n"); printf("9.修改住址 0.返回n "); bound('_',40); do fflush(stdin); choice=getchar(); switch(choice) case

37、 '1': newcontent=modi_field("職務(wù)",emp1->duty,10); if(newcontent!=NULL) strcpy(emp1->duty,newcontent); free(newcontent); break; case '2': emp1->age=modi_age(emp1->age); break; case '3': newcontent=modi_field("文化程度",emp1->edu,10); if(newcontent

38、!=NULL) strcpy(emp1->edu,newcontent); free(newcontent); break; case '4': emp1->salary=modi_salary(emp1->salary); break; case '5': newcontent=modi_field("辦公室電話",emp1->tel_office,13); if(newcontent!=NULL) strcpy(emp1->tel_office,newcontent); free(newcontent); break; case '6': newcontent=modi_field("家庭電話",emp1->tel_home,13); if(newcontent!=NULL) strcpy(emp1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論