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

下載本文檔

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

文檔簡介

1、一、概要設(shè)計(jì)內(nèi)容 2二、總體設(shè)計(jì)分析 2三、各模塊實(shí)現(xiàn)方法 3四、模塊的程序設(shè)計(jì)分析 3五、模塊的程序的源代碼 4六、程序運(yùn)行結(jié)果及系統(tǒng)使用說明 13七、結(jié)束語及心得體會 151、概要設(shè)計(jì)內(nèi)容題目:招聘信息管理系統(tǒng)設(shè)計(jì)“招聘信息管理系統(tǒng)”,使其可以查找對應(yīng)的工作與對應(yīng)的資料的功能。1)數(shù)據(jù)包括:學(xué)歷說明,職位說明,求職個(gè)人信息,用人單位信息。2)可以對求職人員的信息進(jìn)行記錄。3)可以對用人單位的信息進(jìn)行記錄。4)可以增加或刪除記錄。5)可以顯示所有保存的記錄。6)可以按個(gè)人需要進(jìn)行查詢。2、總體設(shè)計(jì)分析數(shù)據(jù)結(jié)構(gòu)圖如下:招聘信息 管理 系統(tǒng)菜單函數(shù)ZXZ、清單保存輸入文件讀取顯示學(xué)歷文件清單說明

2、LJ1J3、各模塊實(shí)現(xiàn)方法(1) 能夠查詢招聘信息系統(tǒng)的程序,以幫助完成招聘查找情況。求職人員信息 當(dāng)查詢用人單位招聘用人信息時(shí),將自動(dòng)告訴單位用人情況。用人單位信息 當(dāng)用人單位預(yù)備招聘人手是,將自動(dòng)彈出招聘者信息。(2)統(tǒng)計(jì)信息 統(tǒng)計(jì)出全部的工作信息和提供工作的信息。給予全部的人來參考提供。4、模塊的程序設(shè)計(jì)分析(1).主菜單及頭文件設(shè)計(jì) : 我們按照老師所給的示例我們首先編譯了一個(gè)頭文件, 在頭文件里, 編譯了 主函數(shù)需要用到的一些函數(shù),如 #include stdio.h 等,因?yàn)樾枰浫氡銞l的所 有信息, 所有用一個(gè)數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)信息的儲存方式, 用數(shù)組方式, 把每條信息 都編譯成一個(gè)

3、數(shù)組 ,如銷售員代號用 name4 記錄。頭文件還包括了定義常數(shù)記 錄數(shù) typedef struct ,主函數(shù)原型int menu_select();/* 聲明函數(shù) */int enter(RECODE t);/*聲明函數(shù) */void salor(RECODE t,int n);/*聲明函數(shù) */int sum(RECODE t,int n,int m);/*聲明函數(shù) */void list1(RECODE t,int n);/*聲明函數(shù) */void list2(RECODE t,int n);/*聲明函數(shù) */void list3(RECODE t,int n);/*聲明函數(shù) */vo

4、id save(RECODE t,int n);/*聲明函數(shù) */int load(RECODE t);/* 聲明函數(shù) */這些的都是主函數(shù)需要用到的數(shù)據(jù), 因此放入頭文件當(dāng)中, 在主程序開始之前直接引用#include pro.h 。(2).輸入信息:根據(jù)要求,招聘信息以文本文件存放在文件中,故需要提供文件的輸入、輸出等操作; 還需要保存記錄以進(jìn)行修改, 刪除, 查找等操作; 另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選 擇。如下為程序設(shè)計(jì)流程圖5、模塊的程序源代碼頭文件:#include #include/* 對于學(xué)歷和工作要求都是用數(shù)字來替代 */ typedef struct workerin

5、t num; /編號char id20; /身份證號,過長,所以所以用字符串char name15; /姓名int degree; /學(xué)歷int job; / 需要的工作 worker *next;worker *pre;worker,*Lworker;/* 需求記錄 */typedef struct wantint n; / 單位的編號int job; /需求的崗位int num; /需求的人數(shù)want *next;want *pre;want,*Lwant;/* 輸出說明信息的函數(shù) */void info()printf(輸入說明如下 :n);printf(學(xué)歷說明 :n1: 高中畢業(yè) 2

6、: 大學(xué)畢業(yè) 3: 研究生 4: 更高學(xué)歷 n);printf(職位說明如下 :n1: 程序員 2: 管理人員 3: 會計(jì) 4: 獸醫(yī) n);printf(當(dāng)輸入求職者信息的時(shí)候,求職者編號為-1 時(shí),輸入結(jié)束 n);printf( 當(dāng)輸入供職單位信息的時(shí)候,當(dāng)供職的數(shù)量為 -1 的時(shí)候,輸入結(jié)束 n); /* 輸入人才信息 */void input_worker(Lworker head)int i=1;Lworker x=head;x-pre=NULL;while(1)printf( 輸入第 %d 個(gè)求職者的信息 , 順序?yàn)榫幪?,姓名,身份證號,需要的工作,學(xué)歷 n,i);scanf(%d

7、,&x-num);if(x-num=-1)break;getchar();/ 回車會被讀入到 gets() 函數(shù)中, 所以必須有一個(gè) getchar() 把回車 收回gets(x-name);gets(x-id);scanf(%d,&x-job);scanf(%d,&x-degree);Lworker y=(worker *)malloc(sizeof(worker);x-next=y;y-pre=x;x=y;i+;x-pre-next=NULL; free(x);/* 輸入求職信息 */void input_want(Lwant head)Lwant x=head;int i=1;x-pre

8、=NULL; while(1)printf(”第%d個(gè)供職單位的信息,順序?yàn)榫幪?,工作,?shù)量n ”,i);scanf(%d,&x-n);scanf(%d,&x-job); scanf(%d,&x-num);if(x-num=-1)break;i+;Lwant y=(want*)malloc(sizeof(want); x-next=y;y-pre=x;x=y;x-pre-next=NULL;free(x);/* 查詢?nèi)瞬判畔⒑瘮?shù) */ 參數(shù) num 就是員工的編號,查詢是是什么工作int find_worker(Lworker head,int num)Lworker x=head;for(;

9、x=x-next) if(x-num=num) return(x-job); return(-1); /表示沒有這個(gè)人/* 查詢工作信息函數(shù) */num 就是編號int find_want(Lwant head,int num)Lwant x=head;for(;x=x-next)if(x-n=num)return(x-job);return(-1); / 表示沒有這個(gè)單位的信息/* 修改求職者的信息 */ 參數(shù) num 就是員工的編號void change_worker(Lworker head,int num)int m=0;Lworker x=head;for(;x=x-next)if(

10、x-num=num)break;printf( 輸入要修改的內(nèi)容: n1 :工作 2 :學(xué)歷 3 :身份證號 4 :姓名 n); scanf(&d,&m);switch(m)case 1:printf( 輸入更正后的工作 n);scanf(%d,&x-job);break;case 2:printf( 輸入更正后的學(xué)歷 n);scanf(%d,&x-degree);break;case 3:printf( 輸入更正后的身份證號 n);gets(x-id);break;case 4:printf( 輸入更正后的姓名 n);gets(x-name);break;/* 更改用人單位信息 */num

11、就是編號void change_want(Lwant head,int num)int n;Lwant x=head;for(;x=x-next)if(x-n=num) break;printf( 輸入要修改的內(nèi)容 n1 :工作 2 :人數(shù) ); scanf(%d,&n);switch(n)case 1:printf( 輸入新的工作 n); scanf(%d,&x-job);break;case 2:printf( 輸入新的人數(shù) n); scanf(%d,&x-num);break;/* 刪除求職者信息 */Lworker del_worker(Lworker head,int num)Lwo

12、rker x=head;if(head-num=num)x=head-next; x-pre=NULL;free(head);return(x);else for(;x=x-next) if(x-num=num) break;Lworker y=x-pre;Lworker z=x-next; if(z=NULL) y-next=NULL; free(x);else y-next=z; z-pre=y; free(x); return(head);/* 刪除用人單位信息 */Lwant del_want(Lwant head,int num) Lwant x=head; if(head-n=nu

13、m)x=x-next; x-pre=NULL; free(head);return(x); else for(;x=x-next) if(x-n=num) break;Lwant y=x-pre;Lwant z=x-next; if(z=NULL) y-next=NULL; free(x);return(head); elsey-next=z; z-pre=y; free(x);return(head);/* 統(tǒng)計(jì)需求量最大的工作 */void tongji_need(Lworker head,int *n) int i,m=0; for(i=1;inext) switch(x-job)cas

14、e 1: n1+; break;case 2:n2+; break; case 3: n3+; break; case 4: n4+; break;/* 統(tǒng)計(jì)供給量最大的工作 */void tongji_serve(Lwant head,int *m) int i;for(i=1;inext)switch(x-job)case 1: m1=m1+x-num; break;case 2: m2=m2+x-num; break;case 3: m3=m3+x-num; break;case 4:m4=m4+x-num;break;void main()int i;int x,num;info();

15、int n5,m5;Lworker head1=(worker *)malloc(sizeof(worker);Lwant head2=(want *)malloc(sizeof(want);while(1)printf( 輸入要進(jìn)行的操作 n);printf(1 :輸入求值人員信息 2 :輸入用人單位信息 3 :刪除求值人員信息 4 :刪 除用人單位信息 5 :修改求職人員信息 6 :修改用人單位信息 n);printf(7 :查詢某個(gè)求職人員信息 8 :查詢某個(gè)用人單位信息 9 :統(tǒng)計(jì)需求的工作 信息 10 :統(tǒng)計(jì)提供工作的信息 0 :退出 n);printf(注意:1 和2如果重復(fù)執(zhí)行的

16、話, 會覆蓋以前的而結(jié)果, 所以不可以重復(fù)選擇,只可以做一次 n);scanf(%d,&x);if(x=0)break;switch(x)case 1:input_worker(head1); break;case 2:input_want(head2);break;case 3:printf( 輸入要?jiǎng)h除的人員的編號 scanf(%d,&num);head1=del_worker(head1,num); break;case 4:printf( 輸入要?jiǎng)h除的單位的編號 scanf(%d,&num);head2=del_want(head2,num); break;case 5:printf(

17、 輸入要修改的人員的編號 scanf(%d,&num);change_worker(head1,num);break;case 6:printf( 輸入要修改的單位的編號 scanf(%d,&num);change_want(head2,num);break;case 7:printf( 輸入要查詢的人員的編號 scanf(%d,&num);find_worker(head1,num);break;case 8:printf( 輸入要查詢的單位的編號 scanf(%d,&num);find_want(head2,num);break;case 9:tongji_need(head1,n);fo

18、r(i=1;i5;i+)printf(”第%d種工作的需求量是break;case 10:tongji_serve(head2,m); for(i=1;igsV_enovoW bugw.exe昂中畢業(yè)容吠竽畢業(yè)旅研兗生曲更高學(xué)歷 壷說刼下: -|殳錄職序貝竜理5兀臺廿 ,驛患碣葉侯.坯駆; 弋一單位信息此時(shí)候,鄒 猷圣值人員信筈匕 修邂職人麥信息:工作霸信息; iMi_ 込二意:1和蠱如果重復(fù)識行的話,會18吾以前的耐結(jié)果,所以不可以重J!選擇.只可以JS-土曲醫(yī)薯冷號為T時(shí)+輸人結(jié)率 供職藥譏量為品時(shí)侯,輸入結(jié)吏撿歆蠶籃3刪除求值人員觸-瞬用人靶吐 IT嵐瓠蜀某個(gè)用人息趴銃計(jì)需求的工恒1S息to:纜計(jì)一汀、尊肓何的單儉叭聞日7、結(jié)束語及心得體會通過為期一周的課程設(shè)計(jì),我們

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論