版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)</b></p><p> 2010 ~ 2011學(xué)年第一學(xué)期</p><p> 設(shè)計(jì)題目 職工工資管理系統(tǒng)設(shè)計(jì) </p><p> 院(系) 計(jì)算機(jī)科學(xué)與信息工程系 </p><p> 專(zhuān)
2、 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班 級(jí) 學(xué)號(hào) </p><p> 學(xué)生姓名 </p><p> 設(shè)計(jì)時(shí)間 </p
3、><p> 指導(dǎo)教師 </p><p> 提交日期 </p><p><b> 目錄</b></p><p> 2010 ~ 2011學(xué)年第一學(xué)期- 1 -</p><p&
4、gt; 1概述- 3 -</p><p> 1.1基本功能- 3 -</p><p> 1.2拓展功能- 3 -</p><p> 2課題分析- 3 -</p><p> 2.1類(lèi)的設(shè)計(jì)- 3 -</p><p> 2.2類(lèi)的實(shí)現(xiàn)- 4 -</p><p>
5、 2.2.1class employee- 4 -</p><p> 2.2.2class technician- 5 -</p><p> 2.2.3class salesman- 6 -</p><p> 2.2.4class secretary- 6 -</p><p> 2.2.5class manager
6、- 7 -</p><p> 2.2.6class techmanager- 7 -</p><p> 2.2.7clasee salesmanager- 8 -</p><p> 3詳細(xì)設(shè)計(jì)說(shuō)明- 9 -</p><p> 3.1程序主界面- 9 -</p><p> 3.2總體設(shè)計(jì)方案
7、- 9 -</p><p> 3.3程序描述- 9 -</p><p> 3.4各菜單功能介紹- 10 -</p><p> 3.4.1添加員工信息- 10 -</p><p> 3.4.2添加員工工資- 10 -</p><p> 3.4.3保存員工信息- 11 -</p>
8、<p> 3.4.4保存員工信息和工資- 12 -</p><p> 3.4.5讀入員工信息- 12 -</p><p> 3.4.6讀取員工信息和工資- 13 -</p><p> 3.4.7查詢單個(gè)員工信息工資- 13 -</p><p> 3.4.8按職務(wù)查詢員工信息工資- 14 -</p
9、><p> 3.4.9查詢所有員工信息工資- 14 -</p><p> 3.4.10退出- 15 -</p><p> 4程序測(cè)試- 15 -</p><p> 4.1.1發(fā)現(xiàn)并解決的bug:- 15 -</p><p> 4.1.2暫時(shí)沒(méi)有解決的問(wèn)題:- 16 -</p>&
10、lt;p> 4.1.3程序測(cè)試信息:- 16 -</p><p> 5課程設(shè)計(jì)總結(jié)- 30 -</p><p> 6軟件使用說(shuō)明- 30 -</p><p> 7附錄(參考文獻(xiàn),原代碼:)- 30 -</p><p> 7.1.1參考文獻(xiàn)- 30 -</p><p> 7.1.2
11、原代碼- 31 -</p><p><b> 概述</b></p><p><b> 基本功能</b></p><p> 本程序的基本功能有:</p><p> 添加員工的基本信息,如名字,編號(hào),職位。</p><p> 添加員工的工資,并自動(dòng)根據(jù)員工的職位計(jì)算工
12、資。</p><p> 存檔員工的基本信息。</p><p> 存檔員工當(dāng)月的基本信息和工資。</p><p><b> 拓展功能</b></p><p> 本程序的拓展功能有:</p><p> 查詢單個(gè)員工的基本信息和當(dāng)月工資。</p><p> 根據(jù)職位顯
13、示該職位下所有員工的基本信息和當(dāng)月工資。</p><p> 查詢所有員工的基本信息和當(dāng)月工資。</p><p> 從文件中讀入員工的基本信息。</p><p> 從文件中讀入員工的基本信息和當(dāng)月工資</p><p><b> 課題分析</b></p><p><b> 類(lèi)的設(shè)計(jì)
14、</b></p><p> 從用戶需求中,可以發(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)作為techmana
15、ger(技術(shù)經(jīng)理)和salesman(銷(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),因此salesmanager類(lèi)同時(shí)繼承salesman類(lèi)和manager類(lèi)。</p><p><b> 類(lèi)的實(shí)現(xiàn)</b></p>&
16、lt;p> class employee</p><p><b> 類(lèi)型</b></p><p><b> 基類(lèi)</b></p><p><b> 聲明</b></p><p> class employee</p><p><b&
17、gt; {</b></p><p> protected:</p><p> string number;</p><p> string name;</p><p> int status;</p><p> int month;</p><p> double sa
18、lary;</p><p><b> public:</b></p><p> employee();</p><p> int info(string num,string na,int stat);</p><p> bool search(string infom);</p><p>
19、; virtual int countSalary();</p><p> int recordInfo();</p><p> int recordSalary();</p><p> int getStatus(){return status;}</p><p> string getNumber(){return number
20、;}</p><p> void setInfo(string num,string na);</p><p> void setInfo(string num,string na,int stat);</p><p> void setInfo(string num,string na,int mo,double sal);</p><p
21、> void setMonth(int mon){month=mon;}</p><p> void setStatus(int stat){status=stat;}</p><p> void show(); </p><p><b> };</b></p><p><b> 成員函數(shù)說(shuō)明&
22、lt;/b></p><p> class technician</p><p><b> 類(lèi)型</b></p><p> 派生類(lèi):從employee中虛擬派生</p><p><b> 聲明</b></p><p> class technician:vir
23、tual public employee</p><p><b> {</b></p><p> protected:</p><p> int workHour;</p><p> float hourlySalary;</p><p><b> public:</b&
24、gt;</p><p> technician();</p><p> int countSalary();</p><p><b> };</b></p><p><b> 成員函數(shù)說(shuō)明</b></p><p> class salesman</p>
25、<p><b> 類(lèi)型</b></p><p> 派生類(lèi):從employee中虛擬派生</p><p><b> 聲明</b></p><p> class salesman:virtual public employee</p><p><b> {</b&g
26、t;</p><p> protected:</p><p> float salesum;</p><p> double getRate;</p><p><b> public:</b></p><p> salesman();</p><p> int
27、countSalary();</p><p><b> };</b></p><p><b> 成員函數(shù)說(shuō)明</b></p><p> class secretary</p><p><b> 類(lèi)型</b></p><p> 派生類(lèi):從empl
28、oyee中虛擬派生</p><p><b> 聲明</b></p><p> class secretary:virtual public employee</p><p><b> {</b></p><p><b> private:</b></p>
29、<p> float fixedSalary;</p><p> float bonus;</p><p><b> public:</b></p><p> secretary();</p><p> int countSalary();</p><p><b>
30、 };</b></p><p><b> 成員函數(shù)說(shuō)明</b></p><p> class manager</p><p><b> 類(lèi)型</b></p><p> 派生類(lèi):從employee中虛擬派生</p><p><b> 聲明<
31、/b></p><p> class manager:virtual public employee</p><p><b> {</b></p><p> protected:</p><p> float fixedSalary;</p><p><b> publi
32、c:</b></p><p> manager();</p><p> int countSalary();</p><p><b> };</b></p><p><b> 成員函數(shù)說(shuō)明</b></p><p> class techmanager&l
33、t;/p><p><b> 類(lèi)型</b></p><p> 派生類(lèi):從technician和manager中派生</p><p><b> 聲明</b></p><p> class techmanager:public manager,public technician</p>
34、<p><b> {</b></p><p><b> private:</b></p><p> float gradeBonus;</p><p> int grade;</p><p><b> public:</b></p><p
35、> techmanager();</p><p> int countSalary();</p><p><b> };</b></p><p><b> 成員函數(shù)說(shuō)明</b></p><p> clasee salesmanager</p><p><
36、b> 類(lèi)型</b></p><p> 派生類(lèi):從salesman和manager中派生</p><p><b> 聲明</b></p><p> class salesmanager:public manager,public salesman</p><p><b> {</
37、b></p><p><b> private:</b></p><p> float money;</p><p> double rate;</p><p><b> public:</b></p><p> salesmanager();</p&g
38、t;<p> int countSalary();</p><p><b> };</b></p><p><b> 成員函數(shù)說(shuō)明</b></p><p><b> 詳細(xì)設(shè)計(jì)說(shuō)明</b></p><p><b> 程序主界面</b>
39、</p><p><b> 總體設(shè)計(jì)方案</b></p><p> 本系統(tǒng)首先設(shè)計(jì)出了主函數(shù),然后根據(jù)去要實(shí)現(xiàn)的功能分別設(shè)計(jì)了添加,保存,讀取,查詢的功能。在顯示的函數(shù)設(shè)計(jì)過(guò)程中首先運(yùn)用了文件的讀取等必要的知識(shí)通過(guò)把文件的內(nèi)容讀取到內(nèi)存然后打印出來(lái)。查詢是用一個(gè)字符串對(duì)比的方法找出用戶要查找的人,然后打印出來(lái)。添加則是通過(guò)將學(xué)生信息存入類(lèi)中從而實(shí)現(xiàn)添加功能。<
40、;/p><p><b> 程序描述</b></p><p> 本程序?yàn)槁毠すべY管理系統(tǒng)的設(shè)計(jì),采用的是類(lèi)的相關(guān)知識(shí)點(diǎn)進(jìn)行操作,擁有添加員工信息,添加員工工資,保存員工信息,保存員工工資,讀取員工信息,讀取員工信息工資,查詢等功能。</p><p><b> 各菜單功能介紹</b></p><p>
41、<b> 添加員工信息</b></p><p><b> 添加員工工資</b></p><p><b> 保存員工信息</b></p><p><b> 保存員工信息和工資</b></p><p><b> 讀入員工信息</b&g
42、t;</p><p><b> 讀取員工信息和工資</b></p><p> 查詢單個(gè)員工信息工資</p><p> 按職務(wù)查詢員工信息工資</p><p> 查詢所有員工信息工資</p><p><b> 退出</b></p><p>&l
43、t;b> 程序測(cè)試</b></p><p> 在程序初步完成之后,進(jìn)行了一系列的程序調(diào)試,調(diào)試中出現(xiàn)了很多的問(wèn)題,針對(duì)這些問(wèn)題進(jìn)一一解決。</p><p> 發(fā)現(xiàn)并解決的bug:</p><p> 輸入編號(hào)后若輸入的為字符,則程序奔潰(通過(guò)將編號(hào)設(shè)定成string 格式后解決)</p><p> 添加信息時(shí),若已經(jīng)
44、存在相同的編號(hào)則不提示(通過(guò)增加查詢是否有相同編號(hào)解決)</p><p> 輸入職位后若輸入的為字符,則程序奔潰(通過(guò)使用cin.good函數(shù)解決)</p><p> 菜單欄輸入數(shù)字進(jìn)入相應(yīng)位置時(shí),若輸入字符或輸入多個(gè)數(shù)字出現(xiàn)奔潰(通過(guò)將choice定義為string格式解決)</p><p> 讀入員工信息后,原來(lái)輸入的員工的工資仍保存于其中(通過(guò)讀入數(shù)據(jù)前
45、清空工資解決)</p><p> 讀入員工信息菜單沒(méi)有提示信息,按入后如果之前有內(nèi)容將被覆蓋(通過(guò)添加提示信息提示用戶解決)</p><p> 讀入員工信息和工資菜單沒(méi)有提示信息,按入后如果之前有內(nèi)容將被覆蓋(通過(guò)添加提示信息提示用戶解決)</p><p> 添加編號(hào)時(shí),如果編號(hào)為字符也會(huì)被存入(通過(guò)判斷輸入的編號(hào)是否存在字符解決)</p>&l
46、t;p> 添加編號(hào)時(shí),如果編號(hào)為1個(gè)數(shù)字也會(huì)被存入(通過(guò)限定編號(hào)為4位解決)</p><p> 添加工資時(shí),若輸入為字符則程序奔潰(通過(guò)使用cin.good函數(shù)解決)</p><p> 技術(shù)人員每月工作時(shí)間超過(guò)755個(gè)小時(shí)也會(huì)存入(通過(guò)限定工作時(shí)間小雨755個(gè)小時(shí)解決)</p><p> 添加技術(shù)經(jīng)理等級(jí)時(shí),若輸入為字符則程序奔潰(通過(guò)使用cin.go
47、od函數(shù)解決)</p><p> 添加技術(shù)經(jīng)理等級(jí)時(shí),若輸入內(nèi)容不在1~3之間也會(huì)存入(通過(guò)限定范圍解決)</p><p> 退出時(shí),若有未保存的內(nèi)容,無(wú)提示直接退出(通過(guò)判斷是否存在未保存的內(nèi)容,若存在則提示是否需要保存解決)</p><p> 若在菜單中輸入錯(cuò)誤5次自動(dòng)退出時(shí),如果有未保存的內(nèi)容也會(huì)自動(dòng)退出(通過(guò)判斷是否存在未保存的內(nèi)容,若存在則提示是否需
48、要保存解決)</p><p> 輸入月份是,0也可輸入 (通過(guò)限定范圍解決)</p><p> 讀取文件時(shí),如果文件不存在則直接奔潰(通過(guò)添加判斷是否存在文件解決)</p><p> 暫時(shí)沒(méi)有解決的問(wèn)題:</p><p> 程序缺少刪除職工信息的功能</p><p> 程序缺少對(duì)編號(hào)排序的功能</p&g
49、t;<p> 程序缺少修改職工信息的功能</p><p><b> 主菜單仍需要美化</b></p><p> 程序無(wú)法自定義儲(chǔ)存路徑和讀入路徑</p><p> 銷(xiāo)售經(jīng)理的工資計(jì)算仍需要手動(dòng)輸入,無(wú)法通過(guò)所管理的銷(xiāo)售人員的工資自動(dòng)計(jì)算</p><p><b> 程序測(cè)試信息:</
50、b></p><p><b> 歡迎界面</b></p><p><b> 輸入月份界面</b></p><p><b> 主菜單界面</b></p><p><b> 添加員工信息</b></p><p><b
51、> 添加員工工資</b></p><p><b> 保存員工信息</b></p><p><b> 保存員工信息工資</b></p><p><b> 讀取員工信息</b></p><p><b> 讀取員工信息工資</b>&l
52、t;/p><p> 查詢單個(gè)員工信息工資</p><p> 按職務(wù)查詢員工信息和工資</p><p> 查詢所有員工信息工資</p><p><b> 主菜單按鍵錯(cuò)誤</b></p><p> 主菜單按鍵錯(cuò)誤達(dá)到5次退出</p><p><b> 輸入編號(hào)
53、出錯(cuò)信息</b></p><p><b> 輸入職位錯(cuò)誤信息</b></p><p> 添加員工工資已經(jīng)在提示信息</p><p> 添加員工工資錯(cuò)誤信息</p><p> 讀取員工信息提示信息</p><p> 20. 讀取員工信息和工資提示信息</p>&l
54、t;p> 查詢單個(gè)員工信息工資沒(méi)有找到提示</p><p> 按職務(wù)查詢員工信息工資不存在提示</p><p> 查詢所有員工信息工資不存在提示</p><p><b> 退出時(shí)提示保存界面</b></p><p> 24.yes or no 輸入錯(cuò)誤提示</p><p><
55、b> 課程設(shè)計(jì)總結(jié)</b></p><p> 通過(guò)1周的學(xué)習(xí),我進(jìn)一步掌握了C++語(yǔ)言類(lèi)、以及封裝知識(shí)的用法。我認(rèn)為一個(gè)好的程序不僅是在設(shè)計(jì)時(shí)能夠盡量簡(jiǎn)潔化、易懂化,并且還需要健壯,不能因?yàn)橐稽c(diǎn)小錯(cuò)誤而導(dǎo)致整個(gè)程序出錯(cuò),并且編寫(xiě)程序時(shí)初期構(gòu)想的思路非常重要,有一個(gè)好的思路,才能編出一個(gè)好的程序。另外,Debug也是關(guān)鍵的一步,通過(guò)Debug會(huì)發(fā)現(xiàn)程序中很多存在的漏洞,反應(yīng)出程序的不足之處,而
56、加以改進(jìn)。綜上,我認(rèn)為這一次課程設(shè)計(jì)讓我體會(huì)到了做一個(gè)程序應(yīng)該有的步驟,為我今后的發(fā)展埋下了鋪墊。</p><p><b> 軟件使用說(shuō)明</b></p><p> 本程序開(kāi)始時(shí)會(huì)提示用戶輸入您要統(tǒng)計(jì)的職工工資的月份,輸入月份后進(jìn)入主菜單</p><p> 如果您第一次使用程序,沒(méi)有員工信息,則請(qǐng)按1,添加員工信息后按3存入一份只含有員工
57、信息的文本,便于日后計(jì)算每月的工資而不用再次輸入已有的員工,該文本位于c:\info.txt</p><p> 如果您需要添加員工工資,并且已經(jīng)添加了員工信息或者讀入員工信息,在主菜單按2后您可以添加員工的工資信息,添加完成后不要忘了返回主菜單按4將工資信息保存。保存后,保存的工資信息在c:\salary.txt 文件中,您可以拷貝到其他地方。</p><p> 如果您需要查詢員工的工
58、資,您可以通過(guò)按6將員工的信息和工資全部讀取后,按7~9進(jìn)行查詢。在查詢過(guò)程中,如果發(fā)現(xiàn)有錯(cuò)誤,也可返回主菜單按2輸入員工編號(hào)或姓名后更改員工的工資,更改后請(qǐng)不要忘記保存。</p><p> 另外,本程序僅供課程設(shè)計(jì)使用,所有用于商業(yè)目的而造成的損失與本人無(wú)關(guān)!</p><p> 附錄(參考文獻(xiàn),原代碼:)</p><p><b> 參考文獻(xiàn)<
59、/b></p><p> ?。?)《面向?qū)ο蟪绦蛟O(shè)計(jì)》 ,鄭莉,清華大學(xué)出版社, </p><p> ?。?)《面向?qū)ο蟪绦蛟O(shè)計(jì)C++語(yǔ)言》,朱戰(zhàn)立等編 西安電子科技大學(xué)出版社</p><p> ?。?)《面向?qū)ο蟪绦蛟O(shè)計(jì)----Visual C++》,劉斌等編, 清華大學(xué)出版社 </p><p> ?。?)《面向?qū)ο蟪绦蛟O(shè)計(jì)--
溫馨提示
- 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)c++之職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)--高校職工工資管理系統(tǒng)
- 課程設(shè)計(jì)--職工工資管理系統(tǒng)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- c語(yǔ)言職工工資管理系統(tǒng)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)——職工工資管理
- c語(yǔ)言課程設(shè)計(jì)——職工工資管理
- 職工工資管理系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---職工工資管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---職工工資管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告職工工資管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)設(shè)計(jì)
- 職工工資管理系統(tǒng)設(shè)計(jì)的課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--職工工資管理
- c語(yǔ)言 職工工資管理系統(tǒng)設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論