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

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)20102011學(xué)年第一學(xué)期設(shè)計(jì)題目職工工資管理系統(tǒng)設(shè)計(jì)院(系) 計(jì)算機(jī)科學(xué)與信息工程系 專(zhuān) 業(yè)計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí)學(xué)號(hào) 學(xué)生姓名 設(shè)計(jì)時(shí)間 指導(dǎo)教師 提交日期目錄20102011學(xué)年第一學(xué)期 -1 -1 概述-3 -1.1 基本功能-3-1.2 拓展功能-3-2 課題分析-3 -2.1 類(lèi)的設(shè)計(jì)-3-2.2 類(lèi)的實(shí)現(xiàn)-4-2.2.1 class employee- 4 -2.2.2 classtech nicia n - 5 -2.2.3 classSaIeSma n - 6 -2.2.4 classSeCretary - 6 -2.2.5 classmanager - 7 -2

2、.2.6 classtechmanager - 7 -2.2.7 CIaSee SaIeSmanager - 8 -3 詳細(xì)設(shè)計(jì)說(shuō)明-9 -3.1 程序主界面-9 -3.2 總體設(shè)計(jì)方案-9 -3.3 程序描述-9 -3.4 各菜單功能介紹 -10 -3.4.1 添加員工信息 -10 -3.4.2 添加員工工資 -10 -3.4.3 保存員工信息 -11 -3.4.4 保存員工信息和工資 -12 -3.4.5 讀入員工信息 -12 -3.4.6 讀取員工信息和工資 -13 -3.4.7 查詢(xún)單個(gè)員工信息工資 -13 -3.4.8 按職務(wù)查詢(xún)員工信息工資 -14 -3.4.9 查詢(xún)所有員工信息工

3、資 -14 -3.4.10 退出-15 -4 程序測(cè)試 -15-4.1.1 發(fā)現(xiàn)并解決的 bug : - 15 -4.1.2 暫時(shí)沒(méi)有解決的問(wèn)題: -16 -4.1.3 程序測(cè)試信息: -16 -5 課程設(shè)計(jì)總結(jié)-30-6 軟件使用說(shuō)明-30-7 附錄(參考文獻(xiàn),原代碼:) -30 -7.1.1 參考文獻(xiàn)-30 -7.1.2 原代碼-31 -1 概述1.1基本功能本程序的基本功能有:1. 添加員工的基本信息,如名字,編號(hào),職位。2. 添加員工的工資,并自動(dòng)根據(jù)員工的職位計(jì)算工資。3. 存檔員工的基本信息。4. 存檔員工當(dāng)月的基本信息和工資。1.2拓展功能本程序的拓展功能有:1. 查詢(xún)單個(gè)員工的

4、基本信息和當(dāng)月工資。2. 根據(jù)職位顯示該職位下所有員工的基本信息和當(dāng)月工資。3. 查詢(xún)所有員工的基本信息和當(dāng)月工資。4. 從文件中讀入員工的基本信息。5. 從文件中讀入員工的基本信息和當(dāng)月工資2 課題分析2.1類(lèi)的設(shè)計(jì)從用戶(hù)需求中,可以發(fā)現(xiàn)5種類(lèi)型的職員都可以分別設(shè)計(jì)為一個(gè)類(lèi)。首先,他們都屬于雇員,因此可以設(shè)計(jì)一個(gè)基類(lèi) employee (雇員),然后從中派生出technician (技術(shù)人員)類(lèi), SaleSman (銷(xiāo)售人員)類(lèi)、SeCretary (文秘)類(lèi)。對(duì)于技術(shù)經(jīng)理和銷(xiāo)售經(jīng)理來(lái)說(shuō),他們都屬 于經(jīng)理,所以設(shè)計(jì)時(shí)可以從employee類(lèi)中派生出一個(gè) manager (經(jīng)理)類(lèi)作為 te

5、chmanager(技術(shù)經(jīng)理)和 SaIeSman (銷(xiāo)售經(jīng)理)類(lèi)的父類(lèi)。而經(jīng)理類(lèi)本身并不對(duì)應(yīng)實(shí)際的員工類(lèi)型,由于技術(shù)經(jīng)理有技術(shù)人員和經(jīng)理的雙重特點(diǎn),因此techmanager類(lèi)同時(shí)繼承technician類(lèi)和manger類(lèi);銷(xiāo)售經(jīng)理有銷(xiāo)售人員和經(jīng)理的雙重特點(diǎn),因此SaIeSmanager類(lèi)同時(shí)繼承SaIeSman類(lèi)禾口 manager類(lèi)。22 類(lèi)的實(shí)現(xiàn)2.2.1class employee類(lèi)型基類(lèi)聲明class employeePrOteCted :String number ;Stri ng n ame;int StatUS ;int mon th ;doubl

6、e SaIary ;PUbIiC :employee ();int info (String nUm ,string na,int Stat );bool SearCh (Stringinfom );VirtUaI int countSalary ();int recordInfo ();int recordSalary ();int getStatus ()returnStatUS ;String getNumber ()returnnUmber ;voidSetInfo(StringnUm, Stringna);voidSetInfo(StringnUm, Stringna,intStat

7、 );voidSetInfo(StringnUm,Stringna,intmo,doublesal);void SetM on th (i nt mon )m on th =mon;void SetStatUS (int Stat )StatUS =Stat ;void show ();;成員函數(shù)說(shuō)明employee。默認(rèn)構(gòu)造函數(shù),執(zhí)行格式化操作int in fo(stri ngnum,stri ngna,int將獲得的編號(hào)姓名和職位存入PrOteCted成員Stat)bool SearCh(Stri ng infom)VirtUaI int coun tSalary()int

8、record lnfo()int recordSalary()in t getStatus()Stri ng getNumber()void SetInfo(string num,string na)voidSet In fo(stri ngnu m,stri ngn a,i nt Stat)voidSet In fo(stri ngnu m,stri ngn a,i nt mo,double sal)void SetM On th(i nt mon)void SetStatus(i nt Stat)void show()搜索信息,如果找到返回1 ,找不到返回O虛函數(shù),用于處理動(dòng)態(tài)的工資計(jì)算方

9、法將職工基本信息存入文件將職工基本信息和當(dāng)月工資存入文件獲取該職員的職位獲取該職員的編號(hào)將名字編號(hào)存入 POrteCted 成員將名字編號(hào)職位存入POrteCted 成員將名字編號(hào)職位工資存入POrteCted將月份存入POrteCted成員將職位存入POrteCted成員顯示該職工的所有信息成員2.2.2 class tech nician 類(lèi)型派生類(lèi):從employee中虛擬派生 聲明class techniCian :VirtUaI PUbIiC employeePrOteCted :int WorkHoUr ;float hourlySalary ;PUbI

10、iC :techniCian ();int countSalary (); 成員函數(shù)說(shuō)明tech ni Cia n()int CoU ntSalary()默認(rèn)構(gòu)造函數(shù),執(zhí)行格式化操作計(jì)算工資函數(shù)2.2.3 class SaleSma n 類(lèi)型 派生類(lèi):從employee中虛擬派生 聲明class SaIeSman :ViiIUaI PUbIiC employee PrOteCted :float SaIeSUm ; double getRate ;PUbIiC :SaIeSman ();int countSalary ();成員函數(shù)說(shuō)明S

11、aIeSma n() int cou ntSaIary()默認(rèn)構(gòu)造函數(shù),執(zhí)行格式化操作計(jì)算工資函數(shù)2.2.4 class SeCretary 類(lèi)型 派生類(lèi):從employee中虛擬派生 聲明class SeCretary :VirtUaI PUbIiC employeePriVate :float fixedSalary ;float bonus;PUbIiC :SeCretary ();int countSalary ();成員函數(shù)說(shuō)明SeCretary()默認(rèn)構(gòu)造函數(shù),執(zhí)行格式化操作int cou ntSalary()計(jì)算工資函數(shù)2.2.5 cla

12、ss man ager類(lèi)型派生類(lèi):從employee中虛擬派生聲明class manager :VirtUaI PUbIiC employee PrOteCted :float fixedSalary ;PUbIiC :manager ();int countSalary ();;成員函數(shù)說(shuō)明man ager()int cou ntSalary()默認(rèn)構(gòu)造函數(shù),執(zhí)行格式化操作計(jì)算工資函數(shù)2.2.6 class techma nager 類(lèi)型 派生類(lèi):從technician和manager中派生成員函數(shù)說(shuō)明 聲明

13、class techmanager :PUbIiC manager ,public techniCian PriVate :float gradeBOnUS ;int grade ;PUbIiC :techma nager ();int countSalary ();成員函數(shù)說(shuō)明techma nager() int cou ntSalary()默認(rèn)構(gòu)造函數(shù),執(zhí)行格式化操作計(jì)算工資函數(shù)2.2.7 ClaSee SaleSma nager類(lèi)型派生類(lèi):從 SaIeSman 禾口 manager 中派生聲明class SaIeSmanager : PUbIiC

14、 manager ,public SaIeSmanPriVate :float money;double rate ;PUbIiC :SaIeSmanager ();int countSalary ();;tech nicia n()默認(rèn)構(gòu)造函數(shù),執(zhí)行格式化操作in t cou ntSalary()計(jì)算工資函數(shù)3 詳細(xì)設(shè)計(jì)說(shuō)明3.1 程序主界面比查誼所有呂工信息工÷S.按職務(wù)查詢(xún)H工信y7,查詢(xún)個(gè)員工信息工込5-脫員一一信M-員工信M-簽源加員工工務(wù)3.2 總體設(shè)計(jì)方案本系統(tǒng)首先設(shè)計(jì)出了主函數(shù),然后根據(jù)去要實(shí)現(xiàn)的功能分別設(shè)計(jì)了添加,保存,讀取,查詢(xún)的功能。在顯示的函數(shù)設(shè)計(jì)過(guò)程中首先運(yùn)

15、用了文件的讀取等必要的知識(shí)通過(guò)把文件的內(nèi) 容讀取到內(nèi)存然后打印出來(lái)。查詢(xún)是用一個(gè)字符串對(duì)比的方法找出用戶(hù)要查找的人,然后打印出來(lái)。添加則是通過(guò)將學(xué)生信息存入類(lèi)中從而實(shí)現(xiàn)添加功能。3.3 程序描述本程序?yàn)槁毠すべY管理系統(tǒng)的設(shè)計(jì),采用的是類(lèi)的相關(guān)知識(shí)點(diǎn)進(jìn)行操作,擁有添加員工 信息,添加員工工資,保存員工信息,保存員工工資,讀取員工信息,讀取員工信息工資,查詢(xún)等功能。3.4各菜單功能介紹341添加員工信息342添加員工工資開(kāi)知r4盈 fcSi÷ ejr"-*輸人編號(hào)或姓茗dTfllJj01SE1J 51*查詢(xún)杲否存在相應(yīng)編號(hào)或姓名kJ輸入錯(cuò)漫達(dá)到勺決ifi回上一級(jí)輸入各取位對(duì)應(yīng)需

16、旻的超據(jù)存入信息“343保存員工信息開(kāi)始屮清空原文件內(nèi)所有內(nèi)容心寫(xiě)AMiS到文件,提示成功J344保存員工信息和工資345讀入員工信息346 讀取員工信息和工資格式化對(duì)象并將文件內(nèi) 容存Ay提示成咖347 查詢(xún)單個(gè)員工信息工資348按職務(wù)查詢(xún)員工信息工資349 查詢(xún)所有員工信息工資3410 退出返回上一級(jí)4I.J開(kāi)始4LJ舒豐輸入錯(cuò)誤達(dá)釦次提示是否堅(jiān)持退出屮判斷是否有內(nèi)容未保存卩I ,L提亍是否退出顯示版權(quán)信息÷14 程序測(cè)試在程序初步完成之后,進(jìn)行了一系列的程序調(diào)試,調(diào)試中出現(xiàn)了很多的問(wèn)題,針對(duì)這些問(wèn)題進(jìn)一一解決。4.1.1發(fā)現(xiàn)并解決的bug :1. 輸入編號(hào)后若輸入的為字符,則程

17、序奔潰(通過(guò)將編號(hào)設(shè)定成String格式后解決)2. 添加信息時(shí),若已經(jīng)存在相同的編號(hào)則不提示(通過(guò)增加查詢(xún)是否有相同編號(hào) 解決)3. 輸入職位后若輸入的為字符,則程序奔潰(通過(guò)使用cin.good函數(shù)解決)4. 菜單欄輸入數(shù)字進(jìn)入相應(yīng)位置時(shí),若輸入字符或輸入多個(gè)數(shù)字出現(xiàn)奔潰(通過(guò)將ChOiCe定義為String格式解決)5. 讀入員工信息后,原來(lái)輸入的員工的工資仍保存于其中(通過(guò)讀入數(shù)據(jù)前清空 工資解決)6. 讀入員工信息菜單沒(méi)有提示信息,按入后如果之前有內(nèi)容將被覆蓋(通過(guò)添加 提示信息提示用戶(hù)解決)7. 讀入員工信息和工資菜單沒(méi)有提示信息,按入后如果之前有內(nèi)容將被覆蓋(通 過(guò)添加提示信息提

18、示用戶(hù)解決)8. 添加編號(hào)時(shí),如果編號(hào)為字符也會(huì)被存入(通過(guò)判斷輸入的編號(hào)是否存在字符 解決)9. 添加編號(hào)時(shí),如果編號(hào)為1個(gè)數(shù)字也會(huì)被存入(通過(guò)限定編號(hào)為4位解決)10. 添加工資時(shí),若輸入為字符則程序奔潰(通過(guò)使用Cin.good函數(shù)解決)11. 技術(shù)人員每月工作時(shí)間超過(guò)755個(gè)小時(shí)也會(huì)存入(通過(guò)限定工作時(shí)間小雨755個(gè)小時(shí)解決)12. 添加技術(shù)經(jīng)理等級(jí)時(shí),若輸入為字符則程序奔潰(通過(guò)使用cin.good函數(shù)解決)13. 添加技術(shù)經(jīng)理等級(jí)時(shí), 若輸入內(nèi)容不在13之間也會(huì)存入(通過(guò)限定范圍解決)14. 退出時(shí),若有未保存的內(nèi)容,無(wú)提示直接退出(通過(guò)判斷是否存在未保存的內(nèi)容,若存在則提示是否需

19、要保存解決)15. 若在菜單中輸入錯(cuò)誤 5次自動(dòng)退出時(shí),如果有未保存的內(nèi)容也會(huì)自動(dòng)退出(通 過(guò)判斷是否存在未保存的內(nèi)容,若存在則提示是否需要保存解決)16. 輸入月份是,0也可輸入(通過(guò)限定范圍解決)17. 讀取文件時(shí),如果文件不存在則直接奔潰(通過(guò)添加判斷是否存在文件解決)4.1.2 暫時(shí)沒(méi)有解決的問(wèn)題:1. 程序缺少刪除職工信息的功能2. 程序缺少對(duì)編號(hào)排序的功能3. 程序缺少修改職工信息的功能4. 主菜單仍需要美化5. 程序無(wú)法自定義儲(chǔ)存路徑和讀入路徑6. 銷(xiāo)售經(jīng)理的工資計(jì)算仍需要手動(dòng)輸入,無(wú)法通過(guò)所管理的銷(xiāo)售人員的工資自動(dòng)計(jì)算4.1.3 程序測(cè)試信息:1.歡迎界面2.輸入月份界面3.主

20、菜單界面口氐 C: KDociamsrit= -Uld Ee 11 i xt= Adm i TLi tr, ,t c- VNy IIC -,jrenVi tl StIldiQ 01D-jectj=,bjeciD4,.g:.-ll=2.q.資資資a4.添加員工信息5.添加員工工資6.保存員工信息7.保存員工信息工資8.讀取員工信息讀取員工信息諛取文件戚r I諛職文件城r I微軌杵音半般軟擰音半讀取負(fù)工信息和工資9.讀取員工信息工資10.查詢(xún)單個(gè)員工信息工資F:c-h-耀程程序代,subject. eeHBX!杏詢(xún)單個(gè)員一信息:I請(qǐng)輸入編號(hào)<4>: IOHI:職位說(shuō)明!技術(shù)人貝2韋售人

21、貝3.5® 4.1SKg埋5-«*S埋;:月I1"月:! ;姓 茗;肥儻:T資C元):!InF)I!弓 :1;2finn:繼續(xù)奩詢(xún)下一個(gè)?"N?.11.按職務(wù)查詢(xún)員工信息和工資F:c-h-眾程程序代,sut>ject. eeHBX« H文秘人員IIi職位說(shuō)明ZiA34-技術(shù)經(jīng)理5 .銷(xiāo)售經(jīng)理IVHi份1丄月;境號(hào);姓 ! 工,J <7t>1Ill95!干庫(kù) Z3:7C0B:nIl1036!古Jl漢新:3:C0B:繼續(xù)音詢(xún)下一個(gè)? "H?.d12.查詢(xún)所有員工信息工資13.主菜單按鍵錯(cuò)誤告雪告微軌杵音半您剛才輸人的按俁

22、達(dá)那次崔序即將退岀!您刖才輸人的按健i晃請(qǐng)重制輸入14.主菜單按鍵錯(cuò)誤達(dá)到5次退出15.輸入編號(hào)出錯(cuò)信息o C: DComent end. EettiKiZlL trt orlfly DOCTIm*ntVi -u,l udi 20L0PrDj ectVl>j ectJ)eug.添加員工信息請(qǐng)輸入該員工編號(hào)<4>t 100 Afl詣?shì)斎朐搯T工扁號(hào)位:IOJi魯告=騙號(hào)應(yīng)対4®數(shù)字,請(qǐng)重rS 員 T編<> IaIfl警告,諫編號(hào)己經(jīng)存在,請(qǐng)重新輸入請(qǐng)輸入該員工編號(hào)宀也X16.輸入職位錯(cuò)誤信息RFiJB17.添加員工工資已經(jīng)在提示信息o C: DgComent

23、 end. EettiKiZlL tr-at orlfly DOCTuT*rftVi -u,l udi o 20L0PrDj ectVl>j ectJ)eug;.回田18.添加員工工資錯(cuò)誤信息as該町工息5 i?在,是苦菽玉"s C: Do ClIm t zd. Eetti xtsiziL tr,t rIy DocTimentsVVi =nJ- tudi o 20 LOPlrDject Knbj ect V D ug.忝加員工工資詩(shī)新人S<jl位或t名:1012請(qǐng)踣入本月工作時(shí)間9 07 翌些 JRW?請(qǐng)輸人本月工作時(shí)冋:df恵奈:石向就籲T畫(huà)麗只;請(qǐng)輸入本月工作時(shí)間;癢

24、加員資請(qǐng)輸入工作業(yè)績(jī)尊級(jí)CLTX請(qǐng)輸人工作業(yè)績(jī)等級(jí)CY提此操作將清空之盲!保存的所有內(nèi)容繼續(xù)丫丹=I:10133: f¢=業(yè)績(jī)輸入梏誤,請(qǐng)重新喻入提示.業(yè)績(jī)輸入錯(cuò)誤*請(qǐng)重新輸入F19.讀取員工信息提示信息20.讀取員工信息和工資提示信息20.查詢(xún)單個(gè)員工信息工資沒(méi)有找到提示s C: Do Cum t zd. Eetti tsiiL tr,t rMy DocTimentsVVi =nJ- tudi o 20 LOPlrDject subj ect V D ug.査詢(xún)單個(gè)員工信息請(qǐng)輸人編號(hào)“位或姓名=IMB職樓說(shuō)明I 技術(shù)人員鑒銷(xiāo)售人員3-St! 4-tt*S 5-fl1fl理"";匸元編 號(hào) ;姓 名;職位 ! 丄資未找到該員工信息継續(xù)査詢(xún)下一牛21.按職務(wù)查詢(xún)員工信息工資不存在提示22.查詢(xún)所有員工信息工資不存在提示23.退出時(shí)提示保存界面口 C: .VIH1JOVSd. et菜二 IOi?!: I M曆 TTT 自譽(yù)査 jj 匚T匸卑務(wù)所詢(xún)職詢(xún)-7R90退請(qǐng)送JI作羽修改fi沒(méi)有被保存,依然退出判內(nèi)Ld24.yes Or no輸入錯(cuò)誤提示5 課程設(shè)計(jì)總結(jié)通過(guò)1周的學(xué)習(xí),我進(jìn)一步掌

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論