版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設計20102011學年第一學期設計題目職工工資管理系統(tǒng)設計院(系) 計算機科學與信息工程系 專 業(yè)計算機科學與技術(shù) 班 級學號 學生姓名 設計時間 指導教師 提交日期目錄20102011學年第一學期 -1 -1 概述-3 -1.1 基本功能-3-1.2 拓展功能-3-2 課題分析-3 -2.1 類的設計-3-2.2 類的實現(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 詳細設計說明-9 -3.1 程序主界面-9 -3.2 總體設計方案-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 查詢單個員工信息工資 -13 -3.4.8 按職務查詢員工信息工資 -14 -3.4.9 查詢所有員工信息工
3、資 -14 -3.4.10 退出-15 -4 程序測試 -15-4.1.1 發(fā)現(xiàn)并解決的 bug : - 15 -4.1.2 暫時沒有解決的問題: -16 -4.1.3 程序測試信息: -16 -5 課程設計總結(jié)-30-6 軟件使用說明-30-7 附錄(參考文獻,原代碼:) -30 -7.1.1 參考文獻-30 -7.1.2 原代碼-31 -1 概述1.1基本功能本程序的基本功能有:1. 添加員工的基本信息,如名字,編號,職位。2. 添加員工的工資,并自動根據(jù)員工的職位計算工資。3. 存檔員工的基本信息。4. 存檔員工當月的基本信息和工資。1.2拓展功能本程序的拓展功能有:1. 查詢單個員工的
4、基本信息和當月工資。2. 根據(jù)職位顯示該職位下所有員工的基本信息和當月工資。3. 查詢所有員工的基本信息和當月工資。4. 從文件中讀入員工的基本信息。5. 從文件中讀入員工的基本信息和當月工資2 課題分析2.1類的設計從用戶需求中,可以發(fā)現(xiàn)5種類型的職員都可以分別設計為一個類。首先,他們都屬于雇員,因此可以設計一個基類 employee (雇員),然后從中派生出technician (技術(shù)人員)類, SaleSman (銷售人員)類、SeCretary (文秘)類。對于技術(shù)經(jīng)理和銷售經(jīng)理來說,他們都屬 于經(jīng)理,所以設計時可以從employee類中派生出一個 manager (經(jīng)理)類作為 te
5、chmanager(技術(shù)經(jīng)理)和 SaIeSman (銷售經(jīng)理)類的父類。而經(jīng)理類本身并不對應實際的員工類型,由于技術(shù)經(jīng)理有技術(shù)人員和經(jīng)理的雙重特點,因此techmanager類同時繼承technician類和manger類;銷售經(jīng)理有銷售人員和經(jīng)理的雙重特點,因此SaIeSmanager類同時繼承SaIeSman類禾口 manager類。22 類的實現(xiàn)2.2.1class employee類型基類聲明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ù)說明employee。默認構(gòu)造函數(shù),執(zhí)行格式化操作int in fo(stri ngnum,stri ngna,int將獲得的編號姓名和職位存入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ù),用于處理動態(tài)的工資計算方
9、法將職工基本信息存入文件將職工基本信息和當月工資存入文件獲取該職員的職位獲取該職員的編號將名字編號存入 POrteCted 成員將名字編號職位存入POrteCted 成員將名字編號職位工資存入POrteCted將月份存入POrteCted成員將職位存入POrteCted成員顯示該職工的所有信息成員2.2.2 class tech nician 類型派生類:從employee中虛擬派生 聲明class techniCian :VirtUaI PUbIiC employeePrOteCted :int WorkHoUr ;float hourlySalary ;PUbI
10、iC :techniCian ();int countSalary (); 成員函數(shù)說明tech ni Cia n()int CoU ntSalary()默認構(gòu)造函數(shù),執(zhí)行格式化操作計算工資函數(shù)2.2.3 class SaleSma n 類型 派生類:從employee中虛擬派生 聲明class SaIeSman :ViiIUaI PUbIiC employee PrOteCted :float SaIeSUm ; double getRate ;PUbIiC :SaIeSman ();int countSalary ();成員函數(shù)說明S
11、aIeSma n() int cou ntSaIary()默認構(gòu)造函數(shù),執(zhí)行格式化操作計算工資函數(shù)2.2.4 class SeCretary 類型 派生類:從employee中虛擬派生 聲明class SeCretary :VirtUaI PUbIiC employeePriVate :float fixedSalary ;float bonus;PUbIiC :SeCretary ();int countSalary ();成員函數(shù)說明SeCretary()默認構(gòu)造函數(shù),執(zhí)行格式化操作int cou ntSalary()計算工資函數(shù)2.2.5 cla
12、ss man ager類型派生類:從employee中虛擬派生聲明class manager :VirtUaI PUbIiC employee PrOteCted :float fixedSalary ;PUbIiC :manager ();int countSalary ();;成員函數(shù)說明man ager()int cou ntSalary()默認構(gòu)造函數(shù),執(zhí)行格式化操作計算工資函數(shù)2.2.6 class techma nager 類型 派生類:從technician和manager中派生成員函數(shù)說明 聲明
13、class techmanager :PUbIiC manager ,public techniCian PriVate :float gradeBOnUS ;int grade ;PUbIiC :techma nager ();int countSalary ();成員函數(shù)說明techma nager() int cou ntSalary()默認構(gòu)造函數(shù),執(zhí)行格式化操作計算工資函數(shù)2.2.7 ClaSee SaleSma nager類型派生類:從 SaIeSman 禾口 manager 中派生聲明class SaIeSmanager : PUbIiC
14、 manager ,public SaIeSmanPriVate :float money;double rate ;PUbIiC :SaIeSmanager ();int countSalary ();;tech nicia n()默認構(gòu)造函數(shù),執(zhí)行格式化操作in t cou ntSalary()計算工資函數(shù)3 詳細設計說明3.1 程序主界面比查誼所有呂工信息工÷S.按職務查詢H工信y7,查詢個員工信息工込5-脫員一一信M-員工信M-簽源加員工工務3.2 總體設計方案本系統(tǒng)首先設計出了主函數(shù),然后根據(jù)去要實現(xiàn)的功能分別設計了添加,保存,讀取,查詢的功能。在顯示的函數(shù)設計過程中首先運
15、用了文件的讀取等必要的知識通過把文件的內(nèi) 容讀取到內(nèi)存然后打印出來。查詢是用一個字符串對比的方法找出用戶要查找的人,然后打印出來。添加則是通過將學生信息存入類中從而實現(xiàn)添加功能。3.3 程序描述本程序為職工工資管理系統(tǒng)的設計,采用的是類的相關(guān)知識點進行操作,擁有添加員工 信息,添加員工工資,保存員工信息,保存員工工資,讀取員工信息,讀取員工信息工資,查詢等功能。3.4各菜單功能介紹341添加員工信息342添加員工工資開知r4盈 fcSi÷ ejr"-*輸人編號或姓茗dTfllJj01SE1J 51*查詢杲否存在相應編號或姓名kJ輸入錯漫達到勺決ifi回上一級輸入各取位對應需
16、旻的超據(jù)存入信息“343保存員工信息開始屮清空原文件內(nèi)所有內(nèi)容心寫AMiS到文件,提示成功J344保存員工信息和工資345讀入員工信息346 讀取員工信息和工資格式化對象并將文件內(nèi) 容存Ay提示成咖347 查詢單個員工信息工資348按職務查詢員工信息工資349 查詢所有員工信息工資3410 退出返回上一級4I.J開始4LJ舒豐輸入錯誤達釦次提示是否堅持退出屮判斷是否有內(nèi)容未保存卩I ,L提亍是否退出顯示版權(quán)信息÷14 程序測試在程序初步完成之后,進行了一系列的程序調(diào)試,調(diào)試中出現(xiàn)了很多的問題,針對這些問題進一一解決。4.1.1發(fā)現(xiàn)并解決的bug :1. 輸入編號后若輸入的為字符,則程
17、序奔潰(通過將編號設定成String格式后解決)2. 添加信息時,若已經(jīng)存在相同的編號則不提示(通過增加查詢是否有相同編號 解決)3. 輸入職位后若輸入的為字符,則程序奔潰(通過使用cin.good函數(shù)解決)4. 菜單欄輸入數(shù)字進入相應位置時,若輸入字符或輸入多個數(shù)字出現(xiàn)奔潰(通過將ChOiCe定義為String格式解決)5. 讀入員工信息后,原來輸入的員工的工資仍保存于其中(通過讀入數(shù)據(jù)前清空 工資解決)6. 讀入員工信息菜單沒有提示信息,按入后如果之前有內(nèi)容將被覆蓋(通過添加 提示信息提示用戶解決)7. 讀入員工信息和工資菜單沒有提示信息,按入后如果之前有內(nèi)容將被覆蓋(通 過添加提示信息提
18、示用戶解決)8. 添加編號時,如果編號為字符也會被存入(通過判斷輸入的編號是否存在字符 解決)9. 添加編號時,如果編號為1個數(shù)字也會被存入(通過限定編號為4位解決)10. 添加工資時,若輸入為字符則程序奔潰(通過使用Cin.good函數(shù)解決)11. 技術(shù)人員每月工作時間超過755個小時也會存入(通過限定工作時間小雨755個小時解決)12. 添加技術(shù)經(jīng)理等級時,若輸入為字符則程序奔潰(通過使用cin.good函數(shù)解決)13. 添加技術(shù)經(jīng)理等級時, 若輸入內(nèi)容不在13之間也會存入(通過限定范圍解決)14. 退出時,若有未保存的內(nèi)容,無提示直接退出(通過判斷是否存在未保存的內(nèi)容,若存在則提示是否需
19、要保存解決)15. 若在菜單中輸入錯誤 5次自動退出時,如果有未保存的內(nèi)容也會自動退出(通 過判斷是否存在未保存的內(nèi)容,若存在則提示是否需要保存解決)16. 輸入月份是,0也可輸入(通過限定范圍解決)17. 讀取文件時,如果文件不存在則直接奔潰(通過添加判斷是否存在文件解決)4.1.2 暫時沒有解決的問題:1. 程序缺少刪除職工信息的功能2. 程序缺少對編號排序的功能3. 程序缺少修改職工信息的功能4. 主菜單仍需要美化5. 程序無法自定義儲存路徑和讀入路徑6. 銷售經(jīng)理的工資計算仍需要手動輸入,無法通過所管理的銷售人員的工資自動計算4.1.3 程序測試信息: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微軌杵音半般軟擰音半讀取負工信息和工資9.讀取員工信息工資10.查詢單個員工信息工資F:c-h-耀程程序代,subject. eeHBX!杏詢單個員一信息:I請輸入編號<4>: IOHI:職位說明!技術(shù)人貝2韋售人
21、貝3.5® 4.1SKg埋5-«*S埋;:月I1"月:! ;姓 茗;肥儻:T資C元):!InF)I!弓 :1;2finn:繼續(xù)奩詢下一個?"N?.11.按職務查詢員工信息和工資F:c-h-眾程程序代,sut>ject. eeHBX« H文秘人員IIi職位說明ZiA34-技術(shù)經(jīng)理5 .銷售經(jīng)理IVHi份1丄月;境號;姓 ! 工,J <7t>1Ill95!干庫 Z3:7C0B:nIl1036!古Jl漢新:3:C0B:繼續(xù)音詢下一個? "H?.d12.查詢所有員工信息工資13.主菜單按鍵錯誤告雪告微軌杵音半您剛才輸人的按俁
22、達那次崔序即將退岀!您刖才輸人的按健i晃請重制輸入14.主菜單按鍵錯誤達到5次退出15.輸入編號出錯信息o C: DComent end. EettiKiZlL trt orlfly DOCTIm*ntVi -u,l udi 20L0PrDj ectVl>j ectJ)eug.添加員工信息請輸入該員工編號<4>t 100 Afl詣輸入該員工扁號位:IOJi魯告=騙號應対4®數(shù)字,請重rS 員 T編<> IaIfl警告,諫編號己經(jīng)存在,請重新輸入請輸入該員工編號宀也X16.輸入職位錯誤信息RFiJB17.添加員工工資已經(jīng)在提示信息o C: DgComent
23、 end. EettiKiZlL tr-at orlfly DOCTuT*rftVi -u,l udi o 20L0PrDj ectVl>j ectJ)eug;.回田18.添加員工工資錯誤信息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.忝加員工工資詩新人S<jl位或t名:1012請踣入本月工作時間9 07 翌些 JRW?請輸人本月工作時冋:df恵奈:石向就籲T畫麗只;請輸入本月工作時間;癢
24、加員資請輸入工作業(yè)績尊級CLTX請輸人工作業(yè)績等級CY提此操作將清空之盲!保存的所有內(nèi)容繼續(xù)丫丹=I:10133: f¢=業(yè)績輸入梏誤,請重新喻入提示.業(yè)績輸入錯誤*請重新輸入F19.讀取員工信息提示信息20.讀取員工信息和工資提示信息20.查詢單個員工信息工資沒有找到提示s C: Do Cum t zd. Eetti tsiiL tr,t rMy DocTimentsVVi =nJ- tudi o 20 LOPlrDject subj ect V D ug.査詢單個員工信息請輸人編號“位或姓名=IMB職樓說明I 技術(shù)人員鑒銷售人員3-St! 4-tt*S 5-fl1fl理"";匸元編 號 ;姓 名;職位 ! 丄資未找到該員工信息継續(xù)査詢下一牛21.按職務查詢員工信息工資不存在提示22.查詢所有員工信息工資不存在提示23.退出時提示保存界面口 C: .VIH1JOVSd. et菜二 IOi?!: I M曆 TTT 自譽査 jj 匚T匸卑務所詢職詢-7R90退請送JI作羽修改fi沒有被保存,依然退出判內(nèi)Ld24.yes Or no輸入錯誤提示5 課程設計總結(jié)通過1周的學習,我進一步掌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度商業(yè)地產(chǎn)項目地下車位使用權(quán)轉(zhuǎn)讓合同4篇
- 2025產(chǎn)業(yè)園項目幕墻二次深化設計、監(jiān)理及驗收服務合同2篇
- 2024年縫紉設備及相關(guān)技術(shù)咨詢合同
- 2025年度新能源汽車買賣及售后服務合同4篇
- 2025年度智能車庫門購銷安裝一體化服務合同4篇
- 2025年度智能安防監(jiān)控系統(tǒng)設計與實施合同4篇
- 2024鐵路信號設備更新改造工程合同文本3篇
- 中國醫(yī)用呼吸機行業(yè)市場調(diào)查研究及投資戰(zhàn)略咨詢報告
- 中國家居百貨行業(yè)市場調(diào)查研究及投資前景預測報告
- 2025年度個人房屋抵押貸款合同終止協(xié)議4篇
- C及C++程序設計課件
- 帶狀皰疹護理查房
- 公路路基路面現(xiàn)場測試隨機選點記錄
- 平衡計分卡-化戰(zhàn)略為行動
- 國家自然科學基金(NSFC)申請書樣本
- 幼兒教師干預幼兒同伴沖突的行為研究 論文
- 湖南省省級溫室氣體排放清單土地利用變化和林業(yè)部分
- 材料設備驗收管理流程圖
- 培訓機構(gòu)消防安全承諾書范文(通用5篇)
- (完整版)建筑業(yè)10項新技術(shù)(2017年最新版)
- 第8期監(jiān)理月報(江蘇版)
評論
0/150
提交評論