職工信息管理系統(tǒng)設(shè)計(jì)(C語言)_第1頁
職工信息管理系統(tǒng)設(shè)計(jì)(C語言)_第2頁
職工信息管理系統(tǒng)設(shè)計(jì)(C語言)_第3頁
職工信息管理系統(tǒng)設(shè)計(jì)(C語言)_第4頁
職工信息管理系統(tǒng)設(shè)計(jì)(C語言)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、遢域工甯境程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告職工信息管理系統(tǒng)設(shè)計(jì)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(軟件工程(niit)學(xué)生姓名班級學(xué)號指導(dǎo)教師完成日期2011年7月精品文檔1課程設(shè)計(jì)目的 12課程設(shè)計(jì)內(nèi)容 13設(shè)計(jì)流程圖 14源程序清單 15小結(jié) 19職工信息管理系統(tǒng)的設(shè)計(jì)1課程設(shè)計(jì)目的1 .加深對c語言程序設(shè)計(jì)課程知識的理解,掌握c語言應(yīng)用程序的開發(fā)方法和步驟;2 .進(jìn)一步掌握和利用c語言進(jìn)行程序設(shè)計(jì)的能力;3 .進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法;4 .初步掌握開發(fā)一個小型實(shí)用系統(tǒng)的基本方法;5 .學(xué)會跳是一個較長程序的基本方法;6 .學(xué)會利用流程圖火n-s圖表示算法;7 .掌握書寫長須設(shè)計(jì)開發(fā)文檔的能力(

2、書寫課程設(shè)計(jì)報(bào)告)2課程設(shè)計(jì)內(nèi)容設(shè)計(jì)職工信息管理系統(tǒng),要求職工心想包括職工號、姓名、性別、年齡、學(xué)歷、工資、住 址、電話等(職工號不重復(fù))。設(shè)計(jì)一職工信息管理系統(tǒng),使之能提供以下功能:(6)系統(tǒng)以菜單方式工作(7)職工信息錄入功能(職工信息用文件保存)-輸入(8)職工信息瀏覽功能-輸出(9)查詢和排序功能(至少一種查詢方式)-算法(10)按工資查詢(11)按學(xué)歷查詢等(12)職工信息刪除、修改功能(任選項(xiàng))3設(shè)計(jì)流程圖1 1010704422 楊婷婷 7 n);printf(n);printf(職工信息管理 *n);printf(n);printf(1.錄入職工信息);printf(2.瀏覽職

3、工信息n);printf(3.查詢職工信息)printf(4.刪除職工信息n);printf(5.添加職工信息)printf(6.修改職工信息n);printf(7.退出n);printf(*謝謝使用printf(*printf(n);printf(n);*n);(2)錄入職工信息void append()if(fp=fopen(worker.xls,a)=null)printf(n不能打開t文件!);exit();printf(n請輸入添加職工信息(姓名、職工號、性別、年齡、學(xué)歷、職位、工資、電話、地址)n);scanf(%s%s%s%s%s%s%s%s%s,,one.num

4、,one.sex,one.age,one.record,one.positio n,one.wanges,one.tel,one.addr);fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,o ne.age,one.record,one.position,one.wanges,one.tel,one.addr);fclose(fp);(3)查詢職工信息數(shù)據(jù)查找共分為職工號、姓名等方式查找void search()int l;printf(tttt* 姓名查找按:1*n);printf(t

5、ttt* 學(xué)歷查找按:2*n);printf(tttt* 職工號查按:3*n);scanf(%d,&l);if(l0&l4)switch(l)case 1:nameway();break;case 2:xueliway();break;case 3:numway();break;精品文檔printf(nn 操作完畢 !);else printf(tttt輸入有誤 !);void nameway()int k=0;char nam8;printf(n 請輸入您要查找的職工姓名 :);scanf(%s,nam);if(fp=fopen(worker.xls,rb)=null)printf(n 不能

6、打開文件! );exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);if(strcmp(nam,)=0)printf(nn 已查到,記錄為: );printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one .age,one.record,one.positio

7、n,one.wanges,one.tel,one.addr);k=1;if(k=0)printf(nn 對不起,查無此人! 。 );fclose(fp);void xueliway()int j=0;char xueli10;printf(tttt 輸入你要查詢的學(xué)歷n);scanf(%s,xueli);if(fp=fopen(worker.xls,rb)=null)printf(n 不能打開文件! );exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,

8、one.p osition,one.wanges,one.tel,one.addr);if(strcmp(xueli,one.record)=0)printf(nn 已查到,記錄為: );3 歡迎下載 。printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one .age,one.record,one.position,one.wanges,one.tel,one.addr);j=1;if(j=0)printf(nn 對不起,查無此人!。力fclose(fp);void numway()int i

9、=0;char numb10;printf(tttt 輸入你要查詢的職工號 n);scanf(%s,numb);if(fp=fopen(worker.xls,rb)=null)printf(n不能打開文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);if(!strcmp(numb,one.num)printf(nn 已查到,記錄為:);printf(n%-10

10、s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one .age,one.record,one.position,one.wanges,one.tel,one.addr);i=1;if(!i)printf(nn 對不起,查無此人!。力fclose(fp);(4)修改職工信息void modify()int m,k=0;long a;char namekey8;printf(n請輸入您要修改的職工的姓名:);scanf(%s,namekey);if(fp=fopen(worker.xls,r+)=null)printf

11、(n不能打開t文件!);exit();while(!feof(fp)精品文檔a=ftell(fp);fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);if(!strcmp(namekey,)k=1;break;if(k)printf(n 已查到,記錄為: );printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one

12、.sex,one .age,one.record,one.position,one.wanges,one.tel,one.addr);printf(n 請輸入信息( 按照姓名、工號、性別、年齡、學(xué)歷、職位、工資、電話、地址的順序輸入 ) : );scanf(%s%s%s%s%s%s%s%s%s,,one.num,one.sex,one.age,one.record,one.positio n,one.wanges,one.tel,one.addr);fseek(fp,a,0);fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s

13、n,,one.num,one.sex,o ne.age,one.record,one.position,one.wanges,one.tel,one.addr);elseprintf(n 對不起,查無此人, 無法進(jìn)行修改。 );fclose(fp);( 5)刪除職工信息void delete()int m,k=0;long a,b;char namekey8, valid4;printf(n 請輸入您要刪除的職工姓名 :);scanf(%s,namekey);if(fp=fopen(worker.xls,r+)=null)printf(n 不能打開該文件! );exit();w

14、hile(!feof(fp)a=ftell(fp);fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);if(strcmp(namekey,)=0)k=1;break;5 歡迎下載 。if(k=1)printf(n已查到,記錄為);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one .age,o

15、ne.record,one.position,one.wanges,one.tel,one.addr);printf(n確實(shí)要刪除,按1;不刪除,按0:);scanf(%d,&m);if(m=1)fseek(fp,a,0);fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn);,);elseprintf(n對不起,查無此人。);fclose(fp);(6)數(shù)據(jù)輸出void output()if(fp=fopen(worker.xls,r)=null)printf(n不能打開t文件!);exit();printf(nn%20sn,職工信息管理

16、系統(tǒng));while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);printf(%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.a ge,one.record,one.position,one.wanges,one.tel,one.addr);fclose(fp);4源程序清單#include #i

17、nclude #include #include #define n 100 struct employee 精品文檔int num;char name10;char sex;int age;char xueli30;int wage;定義一個結(jié)構(gòu)體 */char addr30; long int tel;em100;/* void menu();void input();void save(int);void display();void del();void add();void search();void search_num();void search_xueli();void sea

18、rch_tel();void modify(); /* 定義各函數(shù)*/ void menu() /* 菜單函數(shù) */ printf(計(jì)算機(jī)科學(xué)與技術(shù)軟件技術(shù) n);printf(n);printf(1010704422 楊婷婷 n);printf(n);printf(*職工信息管理printf(1.錄入職工信息);printf(2.瀏覽職工信息n);printf(3.查詢職工信息);printf(4.刪除職工信息n);printf(5.添加職工信息 );*printf( printf( printf(修改職工信息n);退出 n);6.7.*n);*謝謝使用 *n);printf(n);prin

19、tf(n);void main()menu(); /* 調(diào)用菜單函數(shù) */int n,flag;char a;7 歡迎下載 。doprintf(請選擇你需要操作的步驟(1-7):n);scanf(%d,&n);if(n=1&n=7)flag=1;break;elseflag=0;printf(您輸入有誤,請重新選擇!);while(flag=0);while(flag=1)switch(n) 輸入職工信息 瀏覽職工信息 按職工號查詢職工信息 刪除職工信息 添加職工信息 修改職工信息 case 1:printf(n);printf(n);input();break;case 2:printf(n

20、);printf(n);display();break;case3:printf(n);printf(n);search();break;case4:printf(n);printf(n);del();break;case 5:printf(n);printf(n);add();break;case 6:printf(n);printf(n);modify();break;case 7:exit(0);break;default :break;getchar();printf(n);printf(是否繼續(xù)進(jìn)行(y or n):n);scanf(%c,&a);if(a=y)flag=1;menu

21、(); /*調(diào)用菜單函數(shù)*/printf(請?jiān)俅芜x擇你需要操作的步驟(1-6):n);scanf(%d,&n);printf(n);else exit(0); 精品文檔void input() /* 錄入函數(shù) */int i,m;printf( 請輸入需要創(chuàng)建信息的職工人數(shù)(1-100):n);scanf(%d,&m);for (i=0;im;i+)printf( 職工號: );if(emi.num!=emi-1.num)printf(%8d ,emi.num);printf(n);printf( 請輸入姓名 : );scanf(%s,);getchar();printf( 請

22、輸入性別(f- 女 m- 男): );scanf(%c,&emi.sex);printf(請輸入年齡: );scanf(%d,&emi.age);printf(請輸入學(xué)歷: );scanf(%s,emi.xueli);printf(請輸入工資: );scanf(%d,&emi.wage);printf(請輸入住址: );scanf(%s,emi.addr);printf( 請輸入電話: );scanf(%d,&emi.tel);printf(n);printf(n 創(chuàng)建完畢 !n);save(m);void save(int m) /* 保存文件函數(shù)*/ int i;file*fp;if (f

23、p=fopen(employee_list,wb)=null) /*創(chuàng)建文件并判斷是否能打開*/printf (cannot open filen);exit(0);for (i=0;im;i+) /* 將內(nèi)存中職工的信息輸出到磁盤文件中去*/if (fwrite(&emi,sizeof(struct employee),1,fp)!=1)9 歡迎下載 。printf(file write errorn);fclose(fp);int load() /*導(dǎo)入函數(shù) */file*fp;int i=0;if(fp=fopen(employee_list,rb)尸null)printf (canno

24、t open filen);exit(0);elsedofread(&emi,sizeof(struct employee),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1);void display。/*瀏覽函數(shù) */int i;int m=load();printf(n 職工號t姓名t性別t年齡t學(xué)歷t工資t住址t電話n);for(i=0;im;i+) /*m 為輸入部分的職工人數(shù) */printf(n %dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi .age,emi.xueli

25、,emi.wage,emi.addr,emi.tel);void del() /* 刪除函數(shù) */int m=load();int i,j,n,t,flag;char name20;printf(n原來的職工信息:n);display。; /*調(diào)用瀏覽函數(shù)*/printf(n);精品文檔printf( 請輸入要刪除的職工的姓名 :n);scanf(%s,name);for(flag=1,i=0;flag&im;i+)if(strcmp(,name)=0)n);printf(n 已找到此人,原始記錄為: n);printf(n職工號 t 姓名 t 性別 t 年齡 t 學(xué)歷 t 工

26、資 t 住址 t 電話printf(n%dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi. age,emi.xueli,emi.wage,emi.addr,emi.tel);printf(n 確實(shí)要刪除此人信息請按1, 不刪除請按0n);scanf(%d,&n);if(n=1) /*如果刪除,則其他的信息都往上移一行*/for(j=i;jm-1;j+)strcpy(,emj+1.name);emj.num=emj+1.num;emj.sex=emj+1.sex;emj.age=emj+1.age;strcpy(emj.x

27、ueli,emj+1.xueli);emj.wage=emj+1.wage;strcpy(emj.addr,emj+1.addr);emj.tel=emj+1.tel;flag=0;if(!flag)m=m-1;elseprintf(n 對不起,查無此人!n);printf(n 瀏覽刪除后的所有職工信息:n);save(m); /* 調(diào)用保存函數(shù) */display(); /* 調(diào)用瀏覽函數(shù)*/printf(n 繼續(xù)刪除請按1 ,不再刪除請按0n);scanf(%d,&t);switch(t)case 1:del();break;case 0:break;default :break; voi

28、d add()/* 添加函數(shù) */ 11 歡迎下載。file*fp;int n;int count=0;int i;int m=load();printf(n原來的職工信息:n);display。; /*調(diào)用瀏覽函數(shù)*/printf(n);fp=fopen(emploee_list,a);printf(請輸入想增加的職工數(shù):n);scanf(%d,&n);for (i=m;i=1&t=4)flag=1;break;elseflag=0;printf( 您輸入有誤,請重新選擇!);while(flag=0);while(flag=1)switch(t)case 1:printf( 按職工號查詢

29、n);search_num();break;case 2:printf( 按學(xué)歷查詢 n);search_xueli();break;case 3:printf( 按電話號碼查詢 n);search_tel();break;case 4:main();break;default:break;void search_num()int num;int i,t;int m=load();printf( 請輸入要查找的職工號 (20001111-20009999):n);scanf(%d,&num);for(i=0;im;i+)if(num=emi.num)printf(n 已找到此人,其記錄為: n

30、);printf(n 職工號 t 姓名 t 性別 t 年齡 t 學(xué)歷 t 工資 t 住址 t 電話 n)printf(n%dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);break;if(i=m)printf(n 對不起,查無此人n);13 歡迎下載。printf(n);printf(返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2n);scanf(%d,&t);switchcase 1:search();break;case 2: break;default:

31、break; void search_xueli()一char xueli30;int i,t;int m=load();printf(請輸入要查找的學(xué)歷:n);scanf(%s,xueli);for(i=0;im;i+)if(strcmp(emi.xueli,xueli)=0)printf(n已找到,其記錄為:n);printf(n 職工號t姓名t性別t年齡t學(xué)歷t工資t住址t電話n);printf(n%dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi. age,emi.xueli,emi.wage,emi.addr,emi.tel)

32、;if(i=m)printf(n對不起,查無此人n);printf(n);printf(返回查詢函數(shù)請按1,繼續(xù)查詢學(xué)歷請按2n);scanf(%d,&t);switch(t)case 1:search();break;case 2:break;default :break; void search_tel()一long int tel;int i, t;精品文檔int m=load();printf( 請輸入要查找的電話號碼:n);scanf(%ld,&tel);for(i=0;im;i+)if(tel=emi.tel)printf(n 已找到此人,其記錄為: n);printf(n 職工號

33、 t 姓名 t 性別 t 年齡 t 學(xué)歷 t 工資 t 住址 t 電話 n);printf(n%dt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);break;if(i=m)printf(n 對不起,查無此人n);printf(n);printf( 返回查詢函數(shù)請按1, 繼續(xù)查詢電話號碼請按2n);scanf(%d,&t);switch(t)case 1:search();break;case 2:break;default :break;void modi

34、fy() /* 修改函數(shù) */int num;char name10;char sex;int age;char xueli30;int wage;char addr30;long int tel;int b,c,i,n,t,flag;int m=load(); /* 導(dǎo)入文件內(nèi)的信息*/printf(n 原來的職工信息:n);display(); /*調(diào)用瀏覽函數(shù)*/printf(n);printf( 請輸入要修改的職工的姓名 :n);scanf(%s,name);for(flag=1,i=0;flag&i8|c1)printf(n選擇錯誤,請重新選擇!n);flag=0;if(flag=1

35、)printf(n對不起,查無此人!n);doswitch(c) /* 因?yàn)楫?dāng)找到第i個職工時,for語句后i自加了 1,所以下面的應(yīng)該把改后的信息賦彳1給第i-1個人*/case 1:printf(職工號改為:);scanf(%d,&num);emi-1.num=num;break;case 2:printf(姓名改為:);scanf(%s,name);strcpy(,name);break;case 3:printf(性別改為:);getchar();scanf(%c,&sex);emi-1.sex=sex;break;case 4:printf(年齡改為:);scan

36、f(%d,&age);emi-1.age=age;break;case 5:printf(學(xué)歷改為:);scanf(%s,xueli);strcpy(emi-1.xueli,xueli);break;case 6:printf(工資改為:);scanf(%d,wage);break;case 7:printf(住址改為:);scanf(%s,addr);strcpy(emi-1.addr,addr);break;case 8:printf(電話改為:);scanf(%ld,&tel); emi-1.tel=tel; break; printf(n);printf(n是否確定所修改的信息?n是 請按1 ;不,重新修改 請按2: n);scanf(%d,&b);while(b=2);printf(n瀏覽修改后的所有職工信息:n);printf(n);save(m);display。;printf(n繼續(xù)修改請按1,不再修改請按0n);scanf(%d,&t); switchcase 1:modify();break;case 0:break;default :break;用戶使用說明職工信息:言千里薜+ 1010704422楊婷若小請選擇你需要操作的步驟門一7

溫馨提示

  • 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

提交評論