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

下載本文檔

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

文檔簡(jiǎn)介

1、北京工業(yè)大學(xué)C+課程設(shè)計(jì)報(bào)告公司人員管理系統(tǒng)姓名:班級(jí):學(xué)號(hào):指導(dǎo)教師:成績(jī):完成時(shí)間:完成地點(diǎn):一、設(shè)計(jì)題目(問(wèn)題)描述和要求1 題目:公司人員管理系統(tǒng)2 問(wèn)題描述:某小型公司,主要有四類(lèi)人員:經(jīng)理、兼職技術(shù)人員、銷(xiāo)售經(jīng)理和兼職推銷(xiāo)員。現(xiàn)在,需要存儲(chǔ)這些人員的姓名、編號(hào)、級(jí)別、當(dāng)月薪水,計(jì)算月薪總額并顯示全部信息。要求:1) 其中,人員編號(hào)在生成人員信息時(shí)同時(shí)生成, 每輸入一個(gè)人員信息編號(hào)順序加 1。2) 程序?qū)λ腥藛T有提升級(jí)別的功能3) 月薪的計(jì)算方法是: 經(jīng)理拿固定月薪, 兼職技術(shù)人員按工作小時(shí)數(shù)領(lǐng)取月薪,兼職推銷(xiāo)員的報(bào)酬按該推銷(xiāo)員當(dāng)月銷(xiāo)售額提成 ,銷(xiāo)售經(jīng)理既拿固定月薪也領(lǐng)取銷(xiāo)售提成。

2、4) 能按姓名或者編號(hào)顯示、查找、增加、刪除和保存各類(lèi)人員的信息二、系統(tǒng)分析與模塊設(shè)計(jì)根據(jù)問(wèn)題描述和要求,系統(tǒng)要求能夠按姓名或者編號(hào)顯示、查找、增加、刪除和保存各類(lèi)人員的信息。確定程序至少應(yīng)該具備如下功能: “查詢?nèi)藛T”、“增加人員”、“刪除人員”、“數(shù)據(jù)存盤(pán)”基本模塊。系統(tǒng)既然具有“數(shù)據(jù)存盤(pán)”功能人員數(shù)據(jù)可以保存到磁盤(pán)文件,那么也就意味著今后可以從磁盤(pán)文件讀出人員數(shù)據(jù), 所以系統(tǒng)增加了 “人員數(shù)據(jù)裝入” 模塊,以方便用戶使用、避免數(shù)據(jù)重復(fù)錄入??紤]到系統(tǒng)實(shí)現(xiàn)簡(jiǎn)捷,人員數(shù)據(jù)文件采用文本文件,人員數(shù)據(jù)文件名: 。做為一個(gè)完整系統(tǒng),除了具有增加人員,刪除人員信息模塊,還應(yīng)該具有修改人員相關(guān)信息的功

3、能,所以本系統(tǒng)設(shè)計(jì)時(shí)考慮增加“修改人員”模塊??紤]到根據(jù)編號(hào)查找人員信息功能在“刪除人員” 、“修改人員”等模塊都使用,所以可以考慮設(shè)置為一個(gè)模塊??紤]到系統(tǒng)要求人員編號(hào)在生成人員信息時(shí)同時(shí)生成,每輸入一個(gè)人員信息編號(hào)順序加 1。這樣就要求人員編號(hào)在增加人員時(shí)自動(dòng)生成 (增加 1)且不重復(fù)。根據(jù)這個(gè)要求,可以考慮設(shè)置一個(gè)全局量: “當(dāng)前最大編號(hào)”,每增加一個(gè)人員,當(dāng)前最大編號(hào)自動(dòng)增 1,然后新增加人員使用這個(gè)編號(hào)。為了保證系統(tǒng)能記憶這個(gè)編號(hào),可以使用一個(gè)數(shù)據(jù)文件保存當(dāng)前這個(gè)編號(hào)。 系統(tǒng)每次開(kāi)始運(yùn)行前從文件讀入這個(gè)編號(hào), 隨著人員增加, 編號(hào)自動(dòng)增加, 系統(tǒng)每次運(yùn)行結(jié)束時(shí)將這個(gè)編號(hào)寫(xiě)入文件。本系

4、統(tǒng)將初值 (沒(méi)有一個(gè)用戶時(shí) )設(shè)置為 0??紤]到人員的許多固定信息如:經(jīng)理、銷(xiāo)售經(jīng)理的固定月薪,銷(xiāo)售經(jīng)理、銷(xiāo)售人員提成,技術(shù)人員小時(shí)工資等都是一些不需要每個(gè)人員都要輸入的信息, 所以可以將這些信息都保存在一個(gè)數(shù)據(jù)文件中, 本系統(tǒng)為了方便起見(jiàn), 將這些信息與“最大編號(hào)”全部保存在一個(gè)文件中,并使用“基礎(chǔ)數(shù)據(jù)設(shè)置”模塊進(jìn)行設(shè)置和管理。基礎(chǔ)數(shù)據(jù)文件也采用文本文件,基礎(chǔ)數(shù)據(jù)文件名: 。本系統(tǒng)還提供“查詢本月經(jīng)營(yíng)信息”幫助計(jì)算銷(xiāo)售總額,工資總額,并按照公式計(jì)算本月盈虧。綜合考慮系統(tǒng)具有下面 8 項(xiàng)功能模塊:增加人員,刪除人員,修改人員,查詢本月經(jīng)營(yíng)信息,基礎(chǔ)數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤(pán),數(shù)據(jù)裝入。系統(tǒng)使用的數(shù)據(jù)文

5、件格式如下:(格式:項(xiàng)目數(shù)據(jù) )經(jīng)理固定月薪3000銷(xiāo)售經(jīng)理固定月薪1000銷(xiāo)售經(jīng)理提成1銷(xiāo)售人員提成2技術(shù)人員小時(shí)工資20ID 6:(格式:編號(hào),姓名 ,人員類(lèi)別 ,其它數(shù)據(jù) ,銷(xiāo)售員銷(xiāo)售額,技術(shù)人員工作小時(shí))2wang31000003liu14wu41005huang26tao3150000注:人員類(lèi)型編號(hào)1經(jīng)理; 2 銷(xiāo)售經(jīng)理; 3銷(xiāo)售員; 4技術(shù)人員三、系統(tǒng)設(shè)計(jì)系統(tǒng)總體框架使用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想進(jìn)行分析,整個(gè)系統(tǒng)涉及兩大類(lèi)信息和操作,公司,人員。所以系統(tǒng)主要涉及兩個(gè)大類(lèi):公司類(lèi)Company、人員類(lèi) Person。系統(tǒng)的總體框架就是公司類(lèi), 人員類(lèi)的定義; 主函數(shù)中定義一個(gè)公司對(duì)象

6、,循環(huán)顯示主菜單并根據(jù)用戶選擇調(diào)用公司類(lèi)的相應(yīng)方法(成員函數(shù) )。(1)公司類(lèi) Company:考慮系統(tǒng)操作的人員信息的數(shù)量具有不確定性,所以考慮使用鏈表保存、 處理人員信息。 公司類(lèi)包含: 所有人員信息的一個(gè)不帶頭結(jié)點(diǎn)的鏈表(作為數(shù)據(jù)成員)及可以對(duì)人員信息進(jìn)行增,刪,改,查詢經(jīng)營(yíng)信息,基礎(chǔ)數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤(pán),數(shù)據(jù)裝入等操作的相關(guān)模塊(Add,Delete,Modify,Query,Set,Save,Load)作為成員函數(shù)。(2)人員類(lèi) Person:所有人員都具有的公共信息及操作可以使用人員類(lèi)進(jìn)行描述。由于系統(tǒng)具有 4 類(lèi)人員且 4 類(lèi)人員數(shù)據(jù),操作有所不同,如銷(xiāo)售員包含銷(xiāo)售額,而技術(shù)人員包

7、含工作小時(shí)數(shù)且計(jì)算工資的方法不同,所以應(yīng)當(dāng)為 4 類(lèi)人員創(chuàng)建相應(yīng)的 Person 類(lèi)的派生類(lèi)。(3)為了使公司類(lèi)可以方便處理人員信息,可以考慮將公司類(lèi)確定為人員類(lèi)的友元類(lèi)或者人員類(lèi)提供公共的方法以便公司類(lèi)進(jìn)行操作。為了公司類(lèi)可以用共同方法操作人員類(lèi),可以將人員類(lèi)的方法確定為虛函數(shù)。類(lèi)的層次圖Person No,Name,Duty,Earning,next,Person(),CalcSalary(),Output()ManagerSalesSalesManager Manager(),Amount,Amount,CalcSalary(),Sales(),GetAmount(), SalesMan

8、ager(),Output()SetAmount(),SetAmount(),CalcSalary(),CalcSalary(),Output()Output()Technician t,Technician(),GetT(),SetT(),CalcSalary(),Output()其中:1)Person 類(lèi)的 No-人員編號(hào), Name-人員姓名, Duty-人員類(lèi)別, Earning-工資,next-指向下一個(gè)人員的指針 ;Person 類(lèi)的 CalcSalary(),Output() 定義為純虛函數(shù)分別表示要計(jì)算人員工資和輸出人員信息,由于定義純虛函數(shù),所以Person 是抽象類(lèi),具體計(jì)

9、算工資,輸出人員信息由派生類(lèi)完成。( 2)各個(gè)派生的類(lèi),包含本類(lèi)對(duì)象特有的數(shù)據(jù),Sales:Amount-銷(xiāo)售員銷(xiāo)售額,SalesManager:Amount-銷(xiāo)售經(jīng)理的總銷(xiāo)售額 (系統(tǒng)統(tǒng)計(jì)各個(gè)銷(xiāo)售員銷(xiāo)售額得到銷(xiāo)售經(jīng)理的總銷(xiāo)售額), Technician:t-技術(shù)人員工作小時(shí)數(shù)。CompanyPerson *Worker,Clear(),Company(),Company(),Add(),Delete(),Modify(),Query(),Set(),Save(),Load()其中:1) Worker 就是人員鏈表。2) Clear()用于清除人員鏈表所有結(jié)點(diǎn)。3)Add(),Delete()

10、,Modify(),Query(),Set(),Save(),Load()分別表示系統(tǒng)各個(gè)功能模塊 :增加人員,刪除人員,修改人員,查詢本月經(jīng)營(yíng)信息, 基礎(chǔ)數(shù)據(jù)設(shè)置, 數(shù)據(jù)存盤(pán),數(shù)據(jù)裝入。系統(tǒng)關(guān)鍵算法流程圖(1)主函數(shù)流程開(kāi)始創(chuàng)建公司對(duì)象顯示菜單接受輸入根據(jù)輸入執(zhí)行公司操作N退出?Y結(jié)束Company:Add()開(kāi)始ID號(hào)增1輸入崗位輸入數(shù)據(jù),創(chuàng)建員工對(duì)象結(jié)點(diǎn)員工結(jié)點(diǎn)加入鏈表結(jié)束Company:Delete()開(kāi)始輸入員工ID查找要?jiǎng)h除結(jié)點(diǎn)結(jié)點(diǎn)存在?鏈表刪除員工結(jié)點(diǎn)提示未找到結(jié)束Company:Modify開(kāi)始輸入員工 ID查找結(jié)點(diǎn)(5) Company:Query()結(jié)點(diǎn)存在 ?修改結(jié)點(diǎn)提示

11、未找到結(jié)束開(kāi)始遍歷統(tǒng)計(jì)銷(xiāo)售額遍歷統(tǒng)計(jì)工資總額計(jì)算盈虧打印本月經(jīng)營(yíng)信息結(jié)束(6)Company:Save()開(kāi) 始打開(kāi)員工數(shù)據(jù)文件遍歷鏈表保存人員數(shù)據(jù)關(guān)閉文件打開(kāi)基礎(chǔ)數(shù)據(jù)文件保存基礎(chǔ)數(shù)據(jù)關(guān)閉文件結(jié) 束(7) Company:Load()開(kāi)始打開(kāi)員工數(shù)據(jù)文件讀取基礎(chǔ)數(shù)據(jù)關(guān)閉文件打開(kāi)人員數(shù)據(jù)文件讀取一條記錄Y文件未結(jié)束N根據(jù)人員類(lèi)型創(chuàng)建結(jié)點(diǎn)鏈表加入結(jié)點(diǎn)讀下面一行記錄關(guān)閉文件結(jié)束四、源程序清單參見(jiàn)附錄五、系統(tǒng)測(cè)試(列出各功能具體的輸入數(shù)據(jù)及對(duì)應(yīng)的輸出結(jié)果,說(shuō)明其是否符合設(shè)計(jì)要求)六、小結(jié)(設(shè)計(jì)過(guò)程心得體會(huì) )附錄:/* 本程序有關(guān)的兩個(gè)數(shù)據(jù)文件:基礎(chǔ)數(shù)據(jù)文件 (必須存在,且按規(guī)定格式保存)人員信息文件 (可選 )*/#include #include #include #include ID+.n;void Company:Load() .n;void main()char c;Company a;docoutn*公司人員管理系統(tǒng)*n;cout1增加人員 n;cout2刪除人員 n;cout3修改人員 n;cout4查詢本月經(jīng)營(yíng)信

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論