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

下載本文檔

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

文檔簡介

1、信息科學(xué)技術(shù)學(xué)院課程設(shè)計扌艮告課程名稱: 課題名稱: 專 業(yè): 學(xué) 號: 姓 名: 指導(dǎo)教師: 設(shè)計時間:c+程序設(shè)計課程設(shè)計職工信息管理系統(tǒng)信息與計算科學(xué)20152016學(xué)年第二學(xué)期2016 年 5 月 29 h成績:目錄設(shè)計內(nèi)容11問題描述12設(shè)計思路13數(shù)據(jù)結(jié)構(gòu)定義1總體設(shè)計21程序結(jié)構(gòu)框圖22模塊功能說明33程序流程圖341程序運(yùn)行42調(diào)試分析81-設(shè)計內(nèi)容1.1問題描述“職工信息管理系統(tǒng)”,系統(tǒng)以菜單方式工作,編寫存放有職工基本信息, 包含職工工號,姓名,性別,學(xué)歷,工資,住址,電話等,并且要求錄入職工號 不重復(fù);錄入的職工號信息要求用文件形式保存,并可以對其進(jìn)行瀏覽、查詢、 修改、

2、刪除、排序等基木操作,建立職工信息管理的文件。1.2設(shè)計思路9 9rt* rt* rt* rt* rrw rrw rt> rtw rtw rtw rtw rtw rt> rt> rt> rtw rtw rtw rtw rtw rtw rtw rtw rtwrjw rjw rjwrtw1錄入職_1_彳p息。o oooo2 .職工工資排名。o oooo3. 按部門分類并輸出。4. 職工信息查找。5. 職工信息修改。6. 職工信息刪除。7. 退出系統(tǒng) 。叫、叫、叫、<t <t <t <t 叫.叫.叫.t> t> t> tw叫、<

3、t <t請選擇(廣7)功能1 選擇#錄入職工信息#,按程序提示依次輸入職工的職工工號,姓名, 性別,學(xué)歷,工資,電話,住址信息。2 選擇#職工工資排名#,按照工資從低到高,系統(tǒng)將排名顯示岀來。 3.選擇#按部門分類并輸出#,按照職工所屬部門進(jìn)行分類,并且輸出。4選擇#職工信息查找#,按工號查找和按姓名查找,根據(jù)系統(tǒng)提示, 選擇查找方式。5選擇#職工信息修改#,在查找功能的基礎(chǔ)上,查找到需要修改的職 工信息,根據(jù)系統(tǒng)提示選擇需要修改的項目,進(jìn)行修改。6選擇#職工信息刪除#,根據(jù)系統(tǒng)提示,刪除職工信息。7.#退出學(xué)生成績管理系統(tǒng)#1.3數(shù)據(jù)結(jié)構(gòu)定義本系統(tǒng)采用線性表中的存儲結(jié)構(gòu),主要定義了一個

4、結(jié)構(gòu)體 employee, 還定義了 9個函數(shù),它們分別是:welcome () /歡迎界面enter () /錄入職工信息show() /顯示職工信息,包括工資排名classify () /按部門分類sort () /按工資從低到高排名searchi ()/按工號進(jìn)行查找search2 ()/按姓名進(jìn)行查找change () /修改職工信息deleteo /刪除職工信息2總體設(shè)計2. 1程序設(shè)計組成框圖錯誤!未指定書簽。圖2-1框圖22模塊功能說明1錄入職工信息功能:完成全部個人信息的錄入。2按職工所屬部門進(jìn)行分類,并輸出。2排序讀取保存功能:讀取保存已輸入信息并排序。3查詢功能:按姓名和工

5、號查詢職工信息。4修改功能:按姓名和工號修改職工的錯誤信息。5刪除功能:刪除職工信息6退出系統(tǒng)。2.3程序流程圖錯誤!未指定書簽。圖2-2程序流程圖3調(diào)試結(jié)果3. 1程序運(yùn)行歡迎使用圖3-1歡迎使用命令菜單c:wi n d o wssystem 32cm d .exeoooooo 1.14 石o o o o o o。 2.顛工工資* e名。 3 按部i分類并輸岀 oooooo4.職4 石息查oooooooooooo5.職4 石息修改oooooo0000006石息刪除000000oooooo7.退岀系統(tǒng)。ooooo *請選擇需要的操作:錄入職工信息職工信息錄入技術(shù)部行政部帀場部婁只 暮 1 總許

6、浩精 023 工詫浩 m 士0031海 職第朱男ols25碩1012上 入入 輸輸名別號門齡歷資話址 請請姓性工部1年學(xué)工電住請輸入第2名職工信息勝名:姚肥性別:男工號:02部門:人事部財務(wù)部技術(shù)部行政部市場部4年齡:25學(xué)片:碩士工資:9000電活:456456456往址:廣州 請輸入第3名職工信息 址名:張傻 性別:男工號:03部門:人事部財務(wù)部技術(shù)部行政部市場部5年齡:25字麻碩士 彳叟術(shù)并音輸入法全:電話:789789789 莊址:北京i圖3-2錄入職工信息職工工資排名c:wi n dowssyste m 3 2c m d.execd= =浩部 浩事士0031海01朱男人25碩10名1

7、2上ff101 2645部 256 肥政士0064州 02姚男行25碩90名45廣ff98973 8 傻場士0097京 03張男市25碩80名78北ff圖3-3工資排名全:按部門分類并輸出= =浩部 浩事士0031海01朱男人25碩10名12上101 2645部 256 肥政士0064州 02姚男行25碩90名45廣98973 8 傻場士0097京 03張男市25碩80名78北gl:幕翥換聶啟 工姓性部年學(xué)工工電住 工姓性部年學(xué)工工電住按工號查找* 1.按工號查找 * 2 按姓名查找 * 請選擇查找方式:1請輸入職工工號:02 您丙查找的信息如下: 姓占:姚肥 部口:行政部 i 1 "

8、;lajt/ / 冷學(xué)歷:碩士 工資:9000 工資排名:2 電話:456456456住蟲:r fii 請按任意鍵繼續(xù).圖34按工號查找按姓名查找職工信息、查找+:* 1.按工號查找 *+:* 2 按姓絡(luò)查找 *請選擇查找方式:2 請輸入職工姓名:張傻 您所查找的信息如下: 工號:03姓名:張傻性別:男卻門:市場部工資排名:3電話:789789789北京請按任意鍵繼續(xù).圖35按姓名查找修改氈 c:windowssystem32cmd.exe x=toi<9w=襯*查找方式t- *t- *t-*t-*t- »t- *t- *t- *t- *t- *t- *t-*t-t«

9、 »t- »t- »t- »t- »t- »t- »t- »t- »t- »t« »t« »t- »t- »t- »t- »t« »t-t« »t- »t- »t- »t- »t- »t- »t- »t- »t- »t« »t« »t- »

10、t- »t- »t- »t« »t-* 1工號:+:* 2姓名請選擇查找方式:1請輸入工號:03已找到信息請按任意鍵繼續(xù)圖3-6修改信息圖3-7修改信息刪除圖3-8刪除3.2調(diào)試分析很多問題都是調(diào)試中發(fā)現(xiàn)的,比如switch語句中的break忘記寫了,或者case 后面沒有大括號,雖然都是一些小問題,但是卻影響程序運(yùn)行,而且不容易發(fā)現(xiàn)。開始我沒有用vector創(chuàng)建數(shù)組對象,后發(fā)現(xiàn)職工數(shù)受到限制,改的話就要全 部重寫,加上自己也不是很熟練,所以沒有改變,這也是我程序的一個bug。4.程序清單#include<fstream> #ine

11、lude <iostream> #i nclude<vector>#inelude <string> using namespace std; struct employeestring number;string name;string sex;int age;string education;double salary;string phone'umber;string address;int rank;string department;void welcomeo cout << cndl;cout * << endl;

12、cout << << endl;cout << endl;cout « 歡迎使用職工信息管理系統(tǒng)” « endl;cout << cndl;cout << "" << endl;cout * << endl; cout << endl;void cnter (employee&a) cout « 姓名:;cin»;cout << 性別:;cin»a.sex;cout << 工號:;cin

13、»a.number;int offon 二 0;while (offon =二0) cout « 部門:人事部財務(wù)部技術(shù)部行政部市場部 « endl;int aa; cin >> aa;if (aa !二 1 && aa != 2 && aa != 3 && aa != 4 && aa !二 5) cout « 輸入有誤,請輸入15之間的數(shù)字"« endl;else switch (aa) case 1: a. department = 人事部;break;c

14、ase 2: a. department = 財務(wù)部;break;coutcoutcoutcoutcoutcase 3: a.department break;case 4: a.department break;ijcase 5: a. department break;技術(shù)部;行政部;市場部;oiion =1;«««««齡歷資話址 年學(xué)工電住;cin >> a. age;cin >> a. cducation;cin >> a.salary;cin >> a. phonenumber;cin

15、>> a.address:void show (employee &o)cout << 工號” «cout « 姓名 «cout « 性另|j” «cout << 部門 «cout"年齡“ «cout << 學(xué)歷” «cout << "工資 «cout « 工資排名:cout << 電話: cout « 住址: «a. number << endl;a. name

16、<< endl;a.sex << endl;a. department endl;a.age << endl;cation << endl;a.salary << endl;<< a.rank << endl;a. phonemumber << endl;a.address << cndl;void classify (employee a, int n) employee *b 二 new employeen;int j 二 0;for (int i = 0; i <

17、n; i+) if (ai. department ="人事部) bj = ai; j+;for (int i = 0; i < n; i+) if (ai. department = 財務(wù)部) bj二 ai; j+;for (int i = 0; i < n; i+) if (ai. department = 技術(shù)部) bj二 ai; j+;for (int i = 0; i < n; i+) if (ai. department = 行政部) bj二 ai; j+;for (int i = 0; i < n; i+) if (ai. department

18、= 市場部) bj二 ai; j+;for (int i = 0; i < n; i+) show(bi);cout << endl;void sort (employee a, int n) employee temp;for (int i 二 0; i < n - 1; i+) for (int j = i + 1; j < n; j+) if (ai salary > ai salary) temp = ai;ai = aj; aj二 temp;for (int i = 0; i < n; i+) ai.rank 二 i + 1;void sea

19、rchi (employee a, int n, string x) bool on_off 二 false;for (int i 二 0; i < n; i+) if (ai.number = x) cout « "您所查找的信息如下:"<< endl; show(ai);system("pause"); on_off = true;if (onoff 二 false) cout << 未找到您輸入的信息;system ("pause");void search2(employee a, in

20、t n, string x) bool on_off2 二 false;for (int i 二 0; i < n; i+) if (ai n3mc = x) cout « 您所查找的信息如下: « endl;show (a i); system ("pause"); on_off2 二 true;"if (on_off2 = false) cout « 未找到您輸入的信息 << endl; system (,pause,/); void change (employee a, int n) endl; endl ;

21、 endl; endl;int order1 = 0;查找方式 *i np乂乂乂乂乂乂乂乂乂乂乂乂乂乂乂乂乂乂"m f夕廠.昊土千i 平平平平平平平平平平平平平平平平平平cout <<*cout «*cout *cout «“«cout <<請選擇查找方式:;cin >> order 1;switch (order1) case 1: string num;cout << "請輸入工號:";cin >> num;bool flatl = false;for (int i 二

22、0; i < n; i+) if (ai.number 二二 num) cout已找到信息"system ("pause"); system(cls);int order2 = 0;cout « 二二二二二二二二二二二二二二職工信息修改二二二二二二二二二二二二二二 «endl ;cout <<endl;endl ; endl; endl; endl; endl; endl ; endl; endl; endl;cout«'2 姓名' *卜 *卜 *卜 *卜 *卜ys ys ys ys ys ys ys

23、 ys ysxys«cout«"3部門zjs zjs zjs zjs zjs z|z| z| z| z| z| z| z| z| x|«cout«4 年齡g> g> g> g> g> l> l> l> l> l> l> l> l> l> l> g> l>«cout«"5.學(xué)歷" js js js js zjs zjs zjs zjs zjs zjs zjs zjs zjs zjs |s zys«

24、cout«"6.工資'«cout«'t> t7.電話' *卜 *卜 *卜 *卜 *卜ys ys ys ys ys ys ys ys ysxys«cout«"8 .住址z|s z|s z|s z|s z|s z| z| z| z| z| z| z| z| z| z| z| x|«/ /coutxcout«請選擇修改項目:ncout * 1 工號 * <<cin >> order2; cout << endl; switch (order2)

25、case 1: cout « 請輸入新工號 cin >> ai. number;cout信息修改完畢; break;case 2: cout « "請輸入新姓名:" cin >> ai. name;cout « 信息修改完畢; break;case 3: cout <<請輸入新部門 cin >> ai. department; cout << 信息修改完畢; break;case 4: cout請輸入新年齡:" cin >> ai. age;cout «

26、 "信息修改完畢";case 5: cout « 請輸入新學(xué)歷:;cin >> aieducation;cout信息修改完畢; break;case 6: cout « "請輸入新工資cin >> ai.salary;cout « 信息修改完畢; break;case 7: cout « "請輸入新電話:";cin >> ai. phonenumber;cout << 信息修改完畢; break;case 8: cout « 請輸入新住址:;cin

27、 >> ai. address;cout « 信息修改完畢; break;default: cout << 輸入有誤 endl ; system ("pause"); break;flatl 二 true;if (flatl = false)cout « 未找到您所查找的信息;system ("pause"); break;case 2: string namel;cout << "請輸入姓名:";cin >> namel;bool flat 二 false;for

28、(int i 二 0; i < n; i+) if ( = namel) cout « "已找到信息;system ("pause"); system(cls);int order3 二 0;cout << z,= 職工信息修改 二二二二二二二二二二二二二二" «endl;cout« «endl;cout«1.工號g> g> g> g> g> l> 1% 1% 1% 1% 1% 1% 1% 1% 1% g> l>«e

29、ndl;cout«"2 姓名" js js js js js zjs zjs zjs zjs zjs zjs zjs zjs zjs zjs |s zys«endl;cout«"3.姓名'«endl ;cout«'t> t4.年齡' 卜"卜"卜"卜"卜*7>«endl;cout«"5.學(xué)歷z|s z|s z|s z|s z|s z| z| z| z| z| z| z| z| z| z| z| x|«e

30、ndl;cout«6.工資g> g> g> g> g>g> l>«endl;cout«"jx zj7.電話" js js js js js zjs zjs zjs zjs zjs zjs zjs zjs zjs zjs |s zys«endl;cout«"&住址'«endl ;cout « «endl;cout « "請選擇修改項目:"; cin >> order3; cout <

31、< endl; swi tch (order3) case 1: cout « "請輸入新工號:" cin >> ai. number;cout « 信息修改完畢; break;case 2: cout « "請輸入新姓名cin >> ai. name; cout << 信息修改完畢; break; case 3: cout請輸入新部門:; cin >> ai. department; cout « "信息修改完畢";case 4: cout 

32、1; "請輸入新年齡:"; cin >> ai age;cout信息修改完畢;break;case 5: cout « "請輸入新學(xué)歷cin >> aieducation; cout « 信息修改完畢;break;case 6: cout請輸入新工資:";cin >> ai.salary;cout << 信息修改完畢;break;case 7: cout « 請輸入新電話:; cin >> ai. phonenumber;cout « 信息修改完畢;bre

33、ak;case 8: cout « 請輸入新住址:;cin >> ai address; cout « 信息修改完畢; break;default: cout << 輸入有誤"<< cndl; system (,pausc,/); break;flat 二 true;if (flat = false)cout未找到您所查找的信息"<< endl; system ("pause"); break;default:cout << 輸入有誤,請輸入12之間的數(shù) « end

34、l; system ("pause");break;void delete (employee a, int n, string x) int i 二 0, j;whi1e (ai. name != x&&i < n) i+;if (i = n)cout « "沒有發(fā)現(xiàn)該職工資料! << endl; system ("pause"); el sefor (j = i; j < n - 1; j+)aj二 aj + 1;cout"當(dāng)前信息已刪除成功! << endl; sys

35、tem ("pause"); n;void main () welcome ();system(,zpause,z) ; system(,zcls,z);int workernum; employee a1000;int order = 0; while (order != 7)system(,zcls/z);cout << * << endl; cout << "" << endl ;cout«o o o o o ocout«o o o o o ocout«o o o o o

36、 ocout«o o o o o ocout«o o o o o ocout«o o o o o ocout«o o o o o ocout <<cout <<1錄入職工信息o o o o o o«endl;2.職工工資排名oooooo,z«endl;3.按部門分類并輸岀oooo <(< endl;4.職工信息查找”«endl;5.職工信息修改”«endl ;6 職工信息刪除«endl;7.退出系統(tǒng)oooooo "«endl;j" j&qu

37、ot; j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j" j"

38、j" j" j" ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytx ytxendl;endl;cout « 請選擇需要的操作:;cin >> order;switch (order)職工信息錄入coutcase 1: system(cls);« ”=cndl;coutendl;endl;<< 請輸入職工總數(shù):;cin >> workernum;for (int i 二 0; i < workernum; i+) cout « 請輸入第 i + 1 « 名職工信息 « endl; enter(ai);cout << "cout break;case 2: s

溫馨提示

  • 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

提交評論