企業(yè)員工信息管理系統(tǒng) 設(shè)計(jì)與實(shí)現(xiàn) c語(yǔ)言
《企業(yè)員工信息管理系統(tǒng) 設(shè)計(jì)與實(shí)現(xiàn) c語(yǔ)言》由會(huì)員分享,可在線閱讀,更多相關(guān)《企業(yè)員工信息管理系統(tǒng) 設(shè)計(jì)與實(shí)現(xiàn) c語(yǔ)言(13頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、莎多匸術(shù)止寫以分仔山扌憂 Xi'an Technological University North Institute of Information Engineering 《算法與數(shù)據(jù)結(jié)構(gòu)》 課程設(shè)計(jì) 題目企業(yè)員工信息管理系統(tǒng) 設(shè)計(jì)與實(shí)現(xiàn) 院、系:計(jì)算機(jī)信息與技術(shù)系 學(xué)科專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號(hào): B 學(xué)生姓名: 指導(dǎo)教師: 2012年9月16日 目錄 第一章 設(shè)計(jì)要求 問(wèn)題描述 近年來(lái),隨著企業(yè)彼此間的競(jìng)爭(zhēng)日趨激烈,信息管理技術(shù)在企業(yè)的發(fā)展中 占據(jù)著越來(lái)越重要的地位。在企業(yè)的經(jīng)營(yíng)生產(chǎn)中,員工信息已成為企業(yè)經(jīng)營(yíng)管 理中不可缺少的一部分,為管理者進(jìn)行管理決和
2、進(jìn)行各種人事調(diào)配活動(dòng)提供了 重要的依據(jù),在生產(chǎn)分配安排中發(fā)揮了越來(lái)越重要的作用。此次課程設(shè)計(jì)應(yīng)該 具有的功能是能夠查看員工的個(gè)人信息,每個(gè)員工的信息包括:編號(hào)、姓名、 性別、部門、工資;系統(tǒng)能夠完成員工信息的查詢、更新、插入、刪除、排序 等功能。 需求分析 (1)在相應(yīng)的每條記錄中,應(yīng)該包括該員工的所有信息,譬如:編號(hào)、姓名、性別、 出生年月、學(xué)歷、職務(wù)、電話、住址等; (2)根據(jù)不同關(guān)鍵字(如編號(hào),姓名等),對(duì)所有員工的信息進(jìn)行排序; (3)按照指定條件查找某個(gè)員工的所有信息; (4)按編號(hào)對(duì)某個(gè)員工的信息進(jìn)行更改; (5)添加新員工的信息,并實(shí)現(xiàn)排序; (6)按編號(hào)刪除已離職
3、的員工的信息; (7)與此同時(shí),除了以上基本的需求以外,該企業(yè)員工信息管理系統(tǒng)的程序源代碼還應(yīng) 具有良好的編程結(jié)構(gòu)和適當(dāng)?shù)淖⑨專\(yùn)行界面清晰,提示內(nèi)容明確,易于操作。 第二章概要設(shè)計(jì) 主界面設(shè)計(jì) 當(dāng)輸入相應(yīng)的操作字符(比如:0-6或者#),通過(guò)在主函數(shù)中選擇并調(diào)用對(duì)應(yīng)的子函 數(shù)程序以及其他函數(shù)(比如:菜單函數(shù))中的輔助調(diào)用,實(shí)現(xiàn)并完成各自的功能操作(比 如:添加、查找、更改、排序、刪除、顯示等)。 系統(tǒng)主界面如下: Fil esMiGrosoft Visual Studi QMyFrojec IsVgKgV: 戲迎使用《?員工信息管理系統(tǒng)》 歡迎充臨- u畧容貝 加找
4、常 J-s ■ ■ ■ ■ 13 5 0 * * K ? ff自亠息 LLIU=_J-.L=_J- 丁信自:! 丄I 口」LlT 屮員「 氣刪除虹 息I 2? 4. 存儲(chǔ)結(jié)構(gòu)設(shè)計(jì) 依據(jù)給定的數(shù)據(jù)格式,個(gè)人信息由九個(gè)字段來(lái)組成,即編號(hào)、姓名、性別、生日、學(xué) 歷、職務(wù)、電話和住址,外加一個(gè)判斷關(guān)鍵字。 如: 編號(hào)|姓名|性別丨出生年月|學(xué)歷|職務(wù)|電話丨住址 01 fdf n 1991-10 b q 189 p 本課程設(shè)計(jì)根據(jù)功能需求,使用線性結(jié)構(gòu)來(lái)組織數(shù)據(jù),由于要對(duì)表中某項(xiàng)數(shù)據(jù)進(jìn)行插 入、刪除操作,所以使用鏈表比較方便。 系統(tǒng)功能設(shè)計(jì) 依據(jù)程序的數(shù)據(jù)結(jié)構(gòu)和功能,遵
5、照“自頂向下”原則,描述該程序的層次結(jié)構(gòu),在總 體上包括數(shù)據(jù)的插入、添加、刪除、查找、更改和數(shù)據(jù)的排序以及數(shù)據(jù)的顯示等功能模塊。 (1)輸入函數(shù)功能:通過(guò)輸入各項(xiàng)數(shù)據(jù)給數(shù)據(jù)元素,來(lái)建立一個(gè)數(shù)據(jù)表。 (2) 排序函數(shù)功能:按照指定關(guān)鍵字對(duì)員工信息進(jìn)行排序。 (3) 顯示函數(shù)功能:輸出表中所有節(jié)點(diǎn)的信息。 (4) 查找函數(shù)功能:按照指定關(guān)鍵字,對(duì)相應(yīng)員工信息進(jìn)行查找。 (5) 更改函數(shù)功能:輸入員工編號(hào),查找到員工信息,對(duì)其信息進(jìn)行更新。 (6) 刪除函數(shù)功能:查找到要?jiǎng)h除員工的相應(yīng)信息,并將其從表中永久的刪除。 (7) 主函數(shù)功能:調(diào)用以上子函數(shù),并用開關(guān)語(yǔ)句進(jìn)行選擇性的調(diào)用。
6、(8) 其它函數(shù)功能:主要起輔助作用,比如:菜單函數(shù),主要起到引導(dǎo)作用;釋放空 間函數(shù),主要用于釋放已經(jīng)刪除節(jié)點(diǎn)的信息,或者釋放整個(gè)鏈表的節(jié)點(diǎn)信息。 第三章 模塊設(shè)計(jì) 系統(tǒng)子程序及功能設(shè)計(jì) 1. 創(chuàng)建成員表函數(shù) Stuff *Cre(Stuff *head) 排序函數(shù) void Sort(Stuff *head) 判斷函數(shù) int Sel(char ch,Stuff *p,Stuff *q) 查找函數(shù) Stuff *Search(Stuff *head) 刪除函數(shù) Stuff *Del(Stuff *head,char n[10]) 工結(jié)構(gòu)體定義 struct St
7、uff { char number[10]; char name[10]; char sex[8]; char borth[10]; char degree[20]; char business[20]; char phone[15]; char place[50]; char con[50]; struct Stuff *next; }; 系統(tǒng)主要子程序詳細(xì)設(shè)計(jì) 1.輸入函數(shù): Stuff *App(Stuff *head) { Stuff *p=NULL,*q=head; while(n) { p=(Stuff *)malloc(sizeof(Stuff
8、)); 序函數(shù) void Sort(Stuff *head) { char ch; Stuff *p,*q,*r; while(1) { printf("請(qǐng)選擇排序條件:1 .編號(hào)12 .姓名10.退出\n"); getchar(); scanf("%c",&ch); if(ch=='0') break; if(ch<'1'||ch>'2') { printf("輸入錯(cuò)誤,請(qǐng)重新輸入!\n"); continue; } p=head; while(p->next!=NULL) 示函數(shù): void Show(Stuff *head) { Stuff *p=h
9、ead; int n=1; if(head!=NULL) { printf("員工信息如下:\n"); printf(" 編號(hào) | 姓名 | 性別 | 出生年月 | 學(xué)歷 | 職務(wù) | 電話 | 住址 :\n"); while(p!=NULL) { printf("%d. %s %s %s %s %s %s %s %s \n" ,n++,p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p->phone ,p->plac e); p=p->next ; } } else { print
10、f("信息為空! \n"); } } 4.查找函數(shù): Stuff *Search(Stuff *head) { Stuff *p=NULL,*q,a={"\0","\0","\0","\0","\0","\0","\0","\0"}; int flag; 號(hào) 2.姓名 0.退出\n"); scanf(" %c",&ch); if(ch=='0') break; if(ch<'1'||ch>'2') { printf("輸入錯(cuò)誤,請(qǐng)重新輸入!\n"); continue; } getchar(); printf("請(qǐng)輸入:”); gets(q->con);
11、p=head; 改 2.刪除 3.繼續(xù) \n"); scanf(" %c",&sh); if(sh=='1') Change(head,p->number); 改函數(shù): Stuff *Change(Stuff *head,char n[10]) { Stuff *p=head; int flag=0; if(head==NULL) printf("信息表為空,請(qǐng)先建立信息表!\n"); else { while(p!=NULL) { if(!strcmp(p->number,n)) { printf(”找到員工,請(qǐng)輸入新的信息:\n編號(hào)丨姓名丨性別丨出生年月I 學(xué)歷
12、 | 職務(wù) | 電話 | 住址 \n"); scanf("%s%s%s%s%s%s%s%s",p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p-> business ,p->phone ,p->place ); printf(”員工信息如下:\n"); flag=1; } p=p->next; } if(flag==0) printf("未找到該員工信息!\n"); } Show(head); return head; Del除函數(shù): void Fre(Stuff *head) { Stuff *p; w
13、hile(head!=NULL) { p=head; head=head->next ; free(p); } } 7?主函數(shù): void main() { char Index[10]; Del他函數(shù): Stuff *head=NULL; char Menu(); oaT \Pxog/E an Fileitt ITl su-al Si.u.J± ec t B\.^g.g\DeLug.\.figg.- 二貝」旦囚 亦話岀 一誓吏退 ■ ■ ■- --13 5 0 歡迎另I特 自 一—八一.一 一 口」s 信目 口 jLu-h * *
14、 H S- * ■it E擇禰的?w: 1 工詹氤 直接輸人肝結(jié)束 訃窮丄名員一: 自I姓名「性別;山生E月;學(xué)歷!職務(wù);屯姑:(£11 = 」旦X 白心白心自心 信信信 工工工 DB5BJ 貝 加找改出 H ■ ■ ■ ■ 丄3 5 0 ?編號(hào);2?姓名苗?退岀 丄in元匸、災(zāi)口 I? 編號(hào)!姓名I性別:岀注年月:學(xué)歷:職務(wù)!電話:住址: 01 yang xinjj nan 1991(12 hen mei^ou ehanxitt 議翳薜爲(wèi)篇郭?姓名:淞岀 1^8?923474?7 Cr?
15、 *C ' \Prog^r? FilocVlicrocoFt Vi suftl Studi o^ByProj actsK?* c:\ °C: \ProgxtB FilesVlicresoft Visual StudioViyProiectsVccrcVDebucVzcc:. exe* 歡迎光I 息自3息 工工工 口容苕貝 加找改岀 添童貝退 ■ ■ ■ ■ 13 5 0 * * * * 誼輸入⑹ 貪璟息如下: 1^4 !姓名!性別!出主年月!學(xué)歷!職務(wù)!電話!住址 01 yangxing nan 199102 ben ne( shan
16、xiU Jal x 是否需要漢?更改2 ?刪除3?繼續(xù) Cs *C * \Profpr Filec\licr-ocoFt Vi KUftl Stu
17、sual S tudi a \lyFr o j ec ts\ ax a 13 5 加找改岀 S-S 自心自心自JljJI d-15--1wjj一 口 工工工 歡迎光臨 冬員工信息挑序 * 4-輸岀囚工#息 * 6?冊(cè)]除帛工信息 * 請(qǐng)選擇你的寒俘 y y y |n| x in .m」工! 宦Ent眈犍繼續(xù)二 一豈小苣4亙4 二囚RK 一皿找及出 -SS 一 Id —?dú)g迎光臨 1=1也 :01 介入新的信息: i性別;岀生年月i學(xué)歷!職務(wù)!電話!住址 y 吊T栓自 貝丄勺- 編號(hào)I姓名「性別;出生年月;學(xué)歷;職務(wù)!電話;
18、住址= 1. 02 u y y y y y u ■ ■ *C. \rrB^ ?■ FiLehiMicru^Dfl FisuaJ. 51udio\iyFrojectggg- e* Del立員工信息\n"); printf(”* 1.添加員工信息 2?員工信息排序 *\n"); printf(”* 3?查找員工信息 4?輸出員工信息 *\n"); printf(”* 5?更改員工信息 6.刪除員工信息 *\n"); printf(”* 0.退出 *\n"); printf(” \n"); printf("請(qǐng)選擇你的操作:"); scanf(" %d
19、",&ch); return ch; } 號(hào)12.姓名10.退出\n"); getchar(); scanf("%c",&ch); if(ch=='0') break; if(chvTllch>2) { printf(”輸入錯(cuò)誤,請(qǐng)重新輸入!\n"); continue; } p=head; while(p->next!=NULL) { q=p->next; r=p; while(q!=NULL) { if(Sel(ch,r,q)) r=q; q=q->next; } if(r!=p) Scpy(r->number,p->number); Scpy
20、(r->name,p->name); Scpy(r->sex,p->sex); Scpy(r->birthday,p->birthday); Scpy(r->degree,p->degree); Scpy(r->business,p->business); Scpy(r->phone,p->phone); Scpy(r->place,p->place); } p=p->next; } Show(head); } } 號(hào)2.姓名0.退出\n"); scanf(" %c",&ch); if(ch=='0') break; if(ch<'1'||ch>'2') {
21、 printf("輸入錯(cuò)誤,請(qǐng)重新輸入!\n"); continue; } getchar(); printf("請(qǐng)輸入:”); gets(q->con); p=head; flag=0; while(p!=NULL) { if(strcmp(q->con,p->number)==0||strcmp(q->con,p->name)==0) { printf(”員工信息如下:\n"); printf(" 編號(hào) | 姓名 | 性別 | 出生年月 | 學(xué)歷 | 職務(wù) | 電話 | 住址 \n%s \t%s \t%s \t%s \t%s \t%s \t%s \t%s\n",
22、p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p->phone ,p->place ) printf(”是否需要:1.更改2?刪除3?繼續(xù)\n"); scanf(" %c",&sh); if(sh=='1') Change(head,p->number); else if(sh=='2') head=Del(head,p->number); flag=1; break; } p=p->next ; } if(flag==0) printf("沒(méi)有找到該員工信息!\n"); } re
23、turn head; } Del %s %s %s %s %s %s %s %s \n" ,n++,p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p->phone ,p->plac e); p=p->next ; } } else { printf("信息為空! \n"); } } [1] . Del據(jù)結(jié)構(gòu)一C語(yǔ)言描述?高等教育出版社.2005/067511. [2] . 譚浩強(qiáng).C程序設(shè)計(jì).清華大學(xué)出版社.2007/014674. [3] . 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu):C語(yǔ)言版.清華大學(xué)出版社,2007.
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外研版(一起)英語(yǔ)一年級(jí)上冊(cè)Module-5課件
- 外研版(一起)五上Module-10《Unit-1-You-should-tidy-your課件
- 認(rèn)識(shí)線段課件
- 患者病情評(píng)估培訓(xùn)完整
- 早產(chǎn)兒的護(hù)理教學(xué)
- 我們吃的食物安全嗎
- 鹽酸硫酸—浙教版九級(jí)科學(xué)上冊(cè)課件1
- 人工智能遺傳算法
- 硬質(zhì)景觀的細(xì)部處理龍湖
- 人教版小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)8的乘法口訣
- 郵輪旅游世界郵輪產(chǎn)業(yè)經(jīng)濟(jì)的發(fā)展
- 如何繪制出高品質(zhì)的學(xué)科思維導(dǎo)圖
- 美國(guó)癲癇學(xué)會(huì)驚厥性癲癇持續(xù)狀態(tài)治療指南解讀
- 城市公共空間設(shè)計(jì)理論及方法課件
- (課件)正弦定理公開課