C語言程序設(shè)計(jì)招聘信息管理系統(tǒng)--精選文檔_第1頁
C語言程序設(shè)計(jì)招聘信息管理系統(tǒng)--精選文檔_第2頁
已閱讀5頁,還剩10頁未讀, 繼續(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é)束語及心得體會(huì)-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ù)清

2、單輸入保存文件讀取文件顯示清單學(xué)歷說明職位說明求職個(gè)人信息用人單位信息3、各模塊實(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è)

3、數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)信息的儲(chǔ)存方式,用數(shù)組方式,把每條信息都編譯成一個(gè)數(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(RE

4、CODE t,int n);/*聲明函數(shù)*/ void 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ì)流程圖:輸入記錄讀取文件保存到文件 求職人員信息 用人單位信息統(tǒng)計(jì)需求工作信息統(tǒng)計(jì)提供工作信息單退出管理5、

5、模塊的程序源代碼頭文件:#include<stdio.h> #include<stdlib.h> /*對于學(xué)歷和工作要求都是用數(shù)字來替代*/ typedef struct worker int num; /編號 char id20; /身份證號,過長,所以所以用字符串 char name15; /姓名 int degree; /學(xué)歷 int job; /需要的工作 worker *next; worker *pre; worker,*Lworker; /*需求記錄*/ typedef struct want int n; /單位的編號 int job; /需求的崗位 i

6、nt num; /需求的人數(shù) want *next; want *pre; want,*Lwant; /*輸出說明信息的函數(shù)*/ void info() printf("輸入說明如下:n"); printf("學(xué)歷說明:n1:高中畢業(yè) 2:大學(xué)畢業(yè) 3:研究生 4:更高學(xué)歷n"); printf("職位說明如下:n1:程序員 2:管理人員 3:會(huì)計(jì) 4:獸醫(yī)n"); printf("當(dāng)輸入求職者信息的時(shí)候,求職者編號為-1時(shí),輸入結(jié)束n"); printf("當(dāng)輸入供職單位信息的時(shí)候,當(dāng)供職的數(shù)量為-1的

7、時(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",&x->num); if(x->num=-1) break; getchar();/回車會(huì)被讀入到gets()函數(shù)中,所以必須有一個(gè)getchar()把回車收回 gets(x->name);

8、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=NULL; while(1) print

9、f("第%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ù)*/ /參

10、數(shù)num就是員工的編號,查詢是是什么工作 int find_worker(Lworker head,int num) Lworker x=head; for(;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è)單位的信息

11、 /*修改求職者的信息*/ /參數(shù)num就是員工的編號 void change_worker(Lworker head,int num) int m=0; Lworker x=head; for(;x=x->next) if(x->num=num) break; printf("輸入要修改的內(nèi)容:n1:工作 2:學(xué)歷 3:身份證號 4:姓名n"); scanf("&d",&m); switch(m) case 1: printf("輸入更正后的工作n"); scanf("%d",&

12、;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就是編號 void change_want(Lwant head,int num) int n;

13、 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;

14、 /*刪除求職者信息*/ Lworker del_worker(Lworker head,int num) Lworker 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->

15、;pre=y; free(x); return(head); /*刪除用人單位信息*/ Lwant del_want(Lwant head,int num) Lwant x=head; if(head->n=num) 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)

16、; else y->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;i<5;i+) ni=0; Lworker x=head; for(;x!=NULL;x=x->next) switch(x->job) case 1: n1+; break; case 2: n2+; break; case 3: n3+; break; case 4: n4+; break; /*統(tǒng)計(jì)供給量最大的工作*

17、/ void tongji_serve(Lwant head,int *m) int i; for(i=1;i<5;i+) mi=0; Lwant x=head; for(;x!=NULL;x=x->next) 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(); int

18、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");

19、 printf("注意:1和2如果重復(fù)執(zhí)行的話,會(huì)覆蓋以前的而結(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除的人員的編號n"); scanf("%d",&num); head1=del_worker(head1,num); break;

20、case 4: printf("輸入要?jiǎng)h除的單位的編號n"); scanf("%d",&num); head2=del_want(head2,num); break; case 5: printf("輸入要修改的人員的編號n"); scanf("%d",&num); change_worker(head1,num); break; case 6: printf("輸入要修改的單位的編號n"); scanf("%d",&num); change_want(head2,num); break; case 7: printf("輸入要查詢的人員的編號n"); scanf("%d",&num); find_worker(head1,num); break; case 8:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論