C++職工信息管理系統(tǒng)_第1頁
C++職工信息管理系統(tǒng)_第2頁
C++職工信息管理系統(tǒng)_第3頁
C++職工信息管理系統(tǒng)_第4頁
C++職工信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程名稱C+程序設(shè)計設(shè)計題目職工信息管理系統(tǒng)指導(dǎo)教師/填寫答辯所對應(yīng)教師姓名時間/任務(wù)書僅限一頁打印,并且緊貼封面之后裝訂 內(nèi)蒙古科技大學(xué)課程設(shè)計任務(wù)書C+程序設(shè)計程序設(shè)計說明書 題 目: 職工信息管理系統(tǒng) 姓 名: 安靜 學(xué) 號: 1376807343 指導(dǎo)教師: 王麗穎 日 期: 2014年12月25日 目錄第一章 需求分析3第二章 系統(tǒng)總體設(shè)計42.1功能劃分42.2詳細(xì)描述42.2。1系統(tǒng)描述4第三章 類的設(shè)計53.1 Class 圖53.2 類的成員函數(shù)說明6第四章 詳細(xì)設(shè)計74.1類圖視圖7第五章 測試75.1測試圖片75。2軟件使用說明書10第六章 設(shè)計總結(jié)10附加:11正文第一

2、章 需求分析每個學(xué)生在教師提供的課程設(shè)計題目中任意選擇一題,獨立完成,題目選定后不可更換。職工信息管理系統(tǒng)設(shè)計職工信息包括職工號、姓名、性別、出生年月、學(xué)歷、職務(wù)、工資、住址、電話等(職工號不重復(fù))。試設(shè)計一職工信息管理系統(tǒng),使之能提供以下功能:v 職工信息錄入功能(職工信息用文件保存)輸入v 職工信息瀏覽功能 輸出v 查詢或排序功能:(至少一種查詢方式) 算法按工資查詢 按學(xué)歷查詢等v 職工信息刪除、修改功能(任選項)第二章 系統(tǒng)總體設(shè)計2.1功能劃分該系統(tǒng)可以按功能進(jìn)行模塊劃分,如圖主菜單添加職工信息修改職工信息職工刪除信息職工信息查詢職工信息排序保存員工信息Switch()退出While

3、()開始main()讀取數(shù)據(jù)2。2詳細(xì)描述2。2.1系統(tǒng)描述(1) 主菜單模塊完成用戶命令的接受,此模塊也是職工信息管理的入口,用戶所要進(jìn)行的各種操作均需在此模塊中進(jìn)行選擇,并進(jìn)而調(diào)用其他模塊實現(xiàn)相應(yīng)的功能。(2) 信息添加模塊完成職工信息的輸入功能,輸入信息包括職工號、姓名、性別,出生年月、學(xué)歷、職務(wù)、工資、住址、電話等。(3) 信息顯示模塊完成已錄入職工信息的顯示.(4) 信息查詢模塊完成職工信息的查詢,查詢時對應(yīng)有按編號查詢和按姓名查詢兩種方式。(5) 信息修改模塊完成職工信息的修改功能。(6) 信息刪除功能模塊完成職工信息的刪除功能.(7) 信息排序模塊完成對職工信息的排序,排序內(nèi)容包

4、括工號,工資等。(8) 信息保存模塊完成對職工信息的保存。第三章 類的設(shè)計3。1 Class 圖 Class_cout:string_num:string_workerlist:string+add:void+dele:void+modify:void+save:void+search:void+showworker:void+sort:void+workerlist:void3.2 類的成員函數(shù)說明首先主要設(shè)計定義了兩個類: 1.職工信息管理類(WorkerList):主要用于對員工信息進(jìn)行新增、查詢、修改、刪除等操作處理;主要包括以下幾種信息處理函數(shù): void

5、0;add(); /職工信息錄入函數(shù)void sort(); /職工信息排序函數(shù) void search(); /職工信息查找函數(shù) void dele(); /職工信息刪除函數(shù)void modify();/職工信息修改函數(shù)void save(); /職工信息以文件形式保存函數(shù)void showworker();/職工信息保存在屏幕上函數(shù)2。職工信息類(worker):數(shù)據(jù)類型職工信息StringNum,name,sex,edu,address,post,telIntAge,salary第四章 詳

6、細(xì)設(shè)計4。1類圖視圖第五章 測試  5.1測試圖片通過對員工的信息的添加,修改,刪除,保存,排序,查找等功能進(jìn)行檢測。未發(fā)現(xiàn)任何異?,F(xiàn)象。在這里:我們將測試的結(jié)果圖片貼在了下面5.2軟件使用說明書(1)根據(jù)正確的提示安裝軟件。(2)PC臺式機(jī)和便攜式電腦都可運(yùn)行。 (3) 打開該程序系統(tǒng),瀏覽菜單,根據(jù)需要選擇功能,進(jìn)行各項操作。操作如下:點擊開始菜單,進(jìn)入菜單選擇。輸入:將所需的信息輸入.輸出:職工基本信息。輸入:根據(jù)不同的需要選擇,當(dāng)信息輸入顯示出錯誤時,進(jìn)入瀏覽信息,找出錯誤。當(dāng)錯誤不能改正,則退出瀏覽信息.進(jìn)入查詢信息:則屏幕會出現(xiàn)已一個對話框按工號查找,把相應(yīng)的所

7、需信息的狀態(tài)(是否借出).當(dāng)查詢不能顯示需要時進(jìn)入修改程序,把所輸入的信息進(jìn)行修改,使之正確能夠正常運(yùn)行或進(jìn)入刪除信息中,重新輸入自己所要的信息。當(dāng)信息輸入正確,進(jìn)入你所需要的菜單程序中:職工信息:顯示職工號、姓名、性別、出生年月、學(xué)歷、職務(wù)、工資、住址、電話等.管理員信息:顯示出職工信息管理的負(fù)責(zé)人及他們的工號.第六章 設(shè)計總結(jié) 在本系統(tǒng)的開發(fā)過程中,由于組是初次開發(fā)軟件,在知識、經(jīng)驗方面都存在著不足。另外,在整個開發(fā)的過程中,時間也比較倉促。因此,該系統(tǒng)必然會存在一些缺陷和不足.因為對職工信息管理的整個流程不夠熟悉,在需求分析時未能做到完全滿足用戶的需求.盡管本管理系統(tǒng)存在著很多不足,但其

8、功能全面、易于日后程序更新、數(shù)據(jù)庫管理容易、界面友好、操作方便、效率高、安全性好等優(yōu)點是本管理系統(tǒng)所必需的。通過開發(fā)這個系統(tǒng),我組掌握了的項目基本開發(fā)過程,用到的知識鞏固了我組對C語言的學(xué)習(xí),但在這次設(shè)計中的最大收獲并不是掌握這幾門開發(fā)工具的應(yīng)用,而是學(xué)會了設(shè)計系統(tǒng)的思維方法,以及與同學(xué)們之間相互幫助的精神.附加:源程序代碼:#includeiostreaminclude"string”includefstream#includestdlib。h>includestdio.h#define N 100int f=0;using namespace std;string p;vo

9、id menu();class workerpublic: worker() void show(); worker() friend class WorkerList;private: string num,name,sex,edu,post,address,tel; int age,salary;;class WorkerListprivate: worker wN; int NUM; int count;public: void add(); void sort(); void search(); void dele (); void modify(); void save(); voi

10、d showworker(); WorkerList() NUM=0; count=0; ;void menu() coutendl; cout”*"endl; cout<"* *"<endl; cout<" 職工信息管理系統(tǒng)主菜單 *"<endl; cout<” "<<endl; cout<”* 1。職工信息添加 *”<<endl; cout<”* 2。職工信息修改 *”endl; cout<"* 3.職工信息刪除 *”<<endl; co

11、ut<<" 4。職工信息排序 *”<endl; cout<”* 5.職工信息查找 *”<endl; cout"* 6.職工信息顯示 *"<<endl; cout<"* 7。職工信息保存 *"<<endl; cout<<”* *"<endl; cout<<”*”<endl; cout<endl;void domain() WorkerList wl; while(1) system(”cls”); menu(); cout<”請選

12、擇數(shù)字編號7”endl; int i1; cin>i1; while(!(i1>=0&i1<=7)) cout<<"輸入有誤,請重新輸入:”<endl; cin>i1; switch(i1) case 1: wl.add();break; case 2: wl。modify();break; case 3: wl.dele();break; case 4: wl.sort();break; case 5: wl。search();break; case 6: wl。save(); break; case 7: wl.showworke

13、r();break; case 0: cout<"系統(tǒng)退出!"endl; exit(0); default: break; cout"是否返回主菜單? Y/N"endl; cinp; if(p=”n”p="N") cout<<"系統(tǒng)退出!!”endl; exit(0); void WorkerList:add() cout<"請輸入職工信息:"<endl; cout<"工號t姓名t性別t出生日期t學(xué)歷t職務(wù)t工資t地址t電話"<<endl

14、; string num; cinnum; for(int i=0;iNUM;i+) while (num=wi。num) cout<”此職工編號已存在,請重新輸入:"<endl; cin>>num; wNUM.num=num; cinwNUM。name>>wNUM。sex>>wNUM.edu>wNUM.age>wNUM.post>>wNUM.salary>wNUM。address>wNUM。tel; +NUM; count=NUM;void worker:show() cout”工號t姓名t性別t出

15、生日期t學(xué)歷t職務(wù)t工資t地址t電話"endl; cout<num<<'tname<<t'<sex<<tedut<age'tpost'taddress<t'<<telendl; cout<endl;void WorkerList::modify() if(NUM<=0) cout"沒有職工信息存入,系統(tǒng)將返回主菜單”<endl; menu(); else cout<”職工信息如下:”<endl; cout<<"工

16、號t姓名t性別t出生日期t學(xué)歷t職務(wù)t工資t地址t電話"<endl; for(int i=0;i<count;i+) coutwi。num<<t<<<'t<wi.sex<t<<<t<wi。age<<'t<<wi.post<<t<< wi.salary<'t<wi。address'twi.tel<<endl; cout<”請輸入需要修改員工的工號:”<endl; str

17、ing numl; cin>numl; int j=0,k; int flag=1; while(flag) for(;j<count;j+) if(numl=wj。num) flag=0; k=j; break; if(flag) cout<”不存在此員工,請重新輸入:”<endl; j=0; cin>>numl; cout<<”你選擇的職工信息為:”<endl; cout”工號t姓名t性別t出生日期t學(xué)歷t職務(wù)t工資t地址t電話"<<endl; cout<<wk。num<<&

18、lt;t<wk。sex<<'t<<t'<<wk。age<<'t'<wk.post<'t< wk。salary<'twk.address<'t<wk。telendl; coutendl; cout”*"<endl; cout<”* 1.修改工號 ”endl; cout<”* 2。修改姓名 *"<<endl; cout<<”* 3.修改性別 *"endl; cout<

19、;” 4.修改學(xué)歷 "<endl; cout” 5.修改出生日期 *”<<endl; cout"* 6.修改職務(wù) ”<endl; cout” 7.修改工資 *”<<endl; cout<”* 8。修改地址 *"<<endl; cout”* 9。修改電話 *”endl; cout<”* 0。返回主菜單 ”endl; cout<”*”endl; cout<endl; cout<”請選擇數(shù)字編號9"<endl; int i3; cin>>i3; while(i3&l

20、t;0|i3>9) cout<<"輸入有誤,請重新輸入:”<<endl; cin>>i3; switch(i3) case 1: cout<”請輸入新的職工工號:”; cinwk.num; cout<<”修改信息已保存,現(xiàn)返回主菜單:"<endl; menu(); break; case 2: cout<<"請輸入新的職工姓名:" cin>; cout<”修改信息已保存,現(xiàn)返回主菜單:"<endl; menu(); break; cas

21、e 3: cout<<"請輸入新的職工性別:”; cin>wk.sex; cout<<”修改信息已保存,現(xiàn)返回主菜單:"endl; menu(); break; case 4: cout<"請輸入新的職工學(xué)歷:”; cin>; cout”修改信息已保存,現(xiàn)返回主菜單:"<endl; menu(); break; case 5: cout<”請輸入新的職工出生日期:”; cin>>wk.age; cout<”修改信息已保存,現(xiàn)返回主菜單:”<endl; menu();

22、 break; case 6: cout<<”請輸入新的職工職務(wù):”; cin>>wk。post; cout"修改信息已保存,現(xiàn)返回主菜單:”<endl; menu(); break; case 7: cout”請輸入新的職工工資:”; cin>>wk.salary; cout<”修改信息已保存,現(xiàn)返回主菜單:"<endl; menu(); break; case 8: cout"請輸入新的職工地址:" cinwk.address; cout<”修改信息已保存,現(xiàn)返回主菜單:”<endl;

23、 menu(); break; case 9: cout"請輸入新的電話:" cin>wk.tel; cout"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case 0: menu(); dafault: break; void WorkerList::showworker() if(NUM=0) cout<”沒有職工信息存入,系統(tǒng)將返回主菜單”<endl; menu(); else cout<”已保存的職工信息如下:”<endl; cout"工號t姓名t性別t出生日期

24、t學(xué)歷t職務(wù)t工資t地址t電話"endl; for(int i=0;icount;i+) cout<wi.num<'t''t'<wi。sex<'t'<'t<<wi。age<t'<wi.post<'t wi。salary<t<wi.address<<'t'<<wi.telendl;void WorkerList:search() if(NUM<=0) cout<&qu

25、ot;沒有職工信息存入,系統(tǒng)將返回主菜單"<endl; menu(); else cout<"請選擇查找方式:”<endl; cout<<”*"<endl; cout<” 1.按工資查找 *”endl; cout<”* 2。按學(xué)歷查找 *"endl; cout<<" 0。返回主菜單 *"<endl; cout<”*"<endl; cout<endl; cout"請選擇數(shù)字編號4"<endl; int i4; cin&

26、gt;i4; while(i4<0|i4>2) cout<<"輸入有誤,請重新輸入:"endl; cini4; if(i4=1) int salary2; cout<”請輸入要查找的職工的工資:"<<endl; cin>>salary2; int j3=0,k3; int flag3=1; while(flag3) for(;j3<count;j3+) if(salary2=wj3.salary) flag3=0; k3=j3; cout”查詢的職工信息如下:"endl; cout”工號t姓名t

27、性別t出生日期t學(xué)歷t職務(wù)t工資t地址t電話"<<endl; cout<wk3.num<<t<<<'t'<<wk3.sex<t<<<<t<wk3.age<<t<wk3。post<<'t< wk3.salary<'t'<wk3。address<'t'<<wk3。tel<<endl; break; if(flag3) flag3=0

28、; cout<<"不存在此職工信息!n返回主菜單”<<endl; break; else if(i4=2) string edu2; cout"請輸入要查找的職工的工資:"<endl; cinedu2; int j4=0,k4; int flag4=1; while(flag4) for(;j4<count;j4+) if(edu2=) flag4=0; k4=j4; cout<<”查詢的職工信息如下:"endl; cout<<"工號t姓名t性別t出生日期t學(xué)歷t職務(wù)t工

29、資t地址t電話"<endl; cout<wk4.num<'t<<<t<<wk4。sex<'t<<<'t<<wk4。age<'t'<<wk4。post<'t'<< wk4。salary<t'<<wk4.address<'t<wk4.telendl; break; if(flag4) flag4=0; cout<"不存在此職

30、工信息!n返回主菜單”endl; break; else if(i4=0) menu(); void WorkerList::sort() if(NUM<=0) cout”沒有職工信息存入,系統(tǒng)將返回主菜單”<<endl; menu(); else cout<<"請選擇排序方式:"<<endl; cout<<"*”<endl; cout<"* 1。按工號排序 *"endl; cout<" 0。返回主菜單 *"endl; cout<"*&q

31、uot;endl; cout<<endl; cout"請選擇數(shù)字編號3"<endl; int i5; cin>i5; while(i50|i5>3) cout<<"輸入有誤,請重新輸入:”<endl; cin>i5; if(i5=1) for(int i=0;icount1;i+) for(int j=0l;jcounti;j+) if(wj.num>wj+1.num) string temp; temp=wj.num; wj。num=wj+1。num; wj+1.num=temp; cout<&q

32、uot;按工號升序后信息如下:"<endl; cout”工號t姓名t性別t出生日期t學(xué)歷t職務(wù)t工資t地址t電話"<endl; for(int i=0;i<count;i+) coutwi.num't'<<'t<wi。sex<t<<<'twi.age<'t'<wi。post<'t'< wi。salary<'t'<wi.address<t<wi.tel<end

33、l; else if(i5=0) menu(); void WorkerList:dele() if(NUM=0) cout<"沒有職工信息存入,系統(tǒng)將返回主菜單”<endl; menu(); else cout<"職工信息如下:"<endl; cout<<"工號t姓名t性別t出生日期t學(xué)歷t職務(wù)t工資t地址t電話"endl; for(int i=0;i<count;i+) cout<wi。num<t<<t<wi。sex<t'<<'t<<wi。aget'<<wi。post<t wi。salary'twi。addresst'<<wi。tel<endl; cout<

溫馨提示

  • 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

提交評論