版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C++面向?qū)ο蠹夹g(shù)課程設(shè)計(jì)報(bào)告</p><p><b> 公</b></p><p><b> 司</b></p><p><b> 人</b></p><p><b> 員</b></p><p>&
2、lt;b> 管</b></p><p><b> 理</b></p><p><b> 系</b></p><p><b> 統(tǒng)</b></p><p> 面向?qū)ο蠹夹g(shù)與C++課程設(shè)計(jì)任務(wù)書(shū)</p><p><b>
3、 目 錄</b></p><p><b> 系統(tǒng)功能要求</b></p><p> 系統(tǒng)功能分析和設(shè)計(jì)思路、系統(tǒng)功能模塊</p><p><b> 系統(tǒng)流程圖</b></p><p> 調(diào)試過(guò)程及系統(tǒng)使用說(shuō)明 </p><p><b> 程
4、序代碼 </b></p><p><b> 總結(jié)、心得與體會(huì) </b></p><p><b> 一.系統(tǒng)功能要求</b></p><p> 某小型公司,主要有四類人員:經(jīng)理、一般工人、銷售員以及銷售經(jīng)理。現(xiàn)在、需要建立一個(gè)小型的公司人員管理系統(tǒng),能夠以文件方式存儲(chǔ)這些人員的各類信息并能按照其編號(hào)查詢輸出
5、所輸入的所有信息,還要按照公司的要求計(jì)算出每名員工一個(gè)月的工資。</p><p><b> 要求:</b></p><p> 可以錄入并保存四類人員的信息</p><p> 可以按照職工的類別以及姓名查詢并顯示四類人員的信息</p><p> 可以按照規(guī)定的方法計(jì)算每名員工每月所得的工資</p>&
6、lt;p> 月薪計(jì)算方法: 經(jīng)理拿固定工資8000 兼職技術(shù)人員按每小時(shí)100元領(lǐng)取月薪 兼職推銷月的月薪按該推銷員當(dāng)月銷售額的4%提成; 銷售經(jīng)理既拿固定月薪也領(lǐng)取銷售提成,固定月薪為5000元,銷售提成為所管 轄部門當(dāng)月銷售總額的5% </p>
7、<p><b> 可以退出本系統(tǒng)</b></p><p> 二.系統(tǒng)功能分析和設(shè)計(jì)思路、系統(tǒng)功能模塊</p><p> 我們使用面向?qū)ο蟪绦蛟O(shè)計(jì)方法的思路進(jìn)行分析,得出了整個(gè)系統(tǒng)應(yīng)該涉及兩個(gè)基類的信息和操作,首先是公司雇員這一個(gè)大基類,其它諸如經(jīng)理等的類應(yīng)該由此類派生;再有、為了方便實(shí)現(xiàn)各類信息以文件方式的儲(chǔ)存以及實(shí)現(xiàn)各種功能和界面,我們決定再創(chuàng)建一個(gè)
8、系統(tǒng)類。所以我們接下來(lái)所要做的一切工作都要圍繞這兩個(gè)類(公司雇員類 employee以及系統(tǒng)類 system)來(lái)展開(kāi)。</p><p> ?。?)公司雇員類 employee:可以說(shuō)這是本系統(tǒng)的一個(gè)“總基類”,我們按照預(yù)期的設(shè)計(jì)及要求由它(公司雇員類 employee)派生出了經(jīng)理類 manager、一般工人類 worker、銷售員類 sale以及銷售經(jīng)理類 sale_manager。由于考慮到各個(gè)小的分類之間在
9、形式下差不多,為了不出現(xiàn)“二義性”的問(wèn)題,我們主要在各個(gè)類之間采取定義虛基類以及純虛函數(shù)的思路進(jìn)行調(diào)用。另外、由于我們對(duì)鏈表的運(yùn)用以及鏈表的掌握還不是很熟練,再加上為了使各個(gè)類方便與系統(tǒng)類 system進(jìn)行直接連接,我們遂決定采用對(duì)象數(shù)組存放文件中讀入或讀出的各類公司人員信息。但是我們發(fā)現(xiàn)這樣做有一個(gè)缺陷:因?yàn)闊o(wú)法事先確定各類人員及各類人員的各種信息,所以無(wú)法確定對(duì)象數(shù)組的大小。這里我們討論后決定事先確定一個(gè)較大的數(shù)組空間來(lái)決定這個(gè)問(wèn)題
10、,當(dāng)然,解決這個(gè)問(wèn)題的最好方法還是采用異質(zhì)鏈表來(lái)存放從文件中讀取的信息。</p><p> ?。?)系統(tǒng)類 system:由于這個(gè)系統(tǒng)涉及到了文件的應(yīng)用,所以系統(tǒng)類 system是必不可少的。我們對(duì)問(wèn)題分析、討論以后決定,系統(tǒng)類 system的主要成員函數(shù)要包括:提供輸入各類數(shù)據(jù)的 inform、確認(rèn)各類輸入成功的 success、添加各類信息的 in_information、用于各類查詢的 search、計(jì)算并
11、顯示總工資的 out_total_salary以及用于各個(gè)選項(xiàng)之間輸出界面的 interface。</p><p> (3)由于考慮到這應(yīng)該是一個(gè)完整的管理系統(tǒng),加上我們希望這個(gè)系統(tǒng)的界面能夠做到清晰、明了,我們經(jīng)討論后決定采用一個(gè)總操作界面,三個(gè)分操作界面。</p><p> 總操作界面應(yīng)該包括 (分別對(duì)應(yīng) 1.輸入信息 2.查詢信息并顯示 3.計(jì)算總工資并顯示 4.退出)</
12、p><p> 輸入信息界面中又因該包括 1.經(jīng)理類 2.工人類 3.銷售員類 4.銀行經(jīng)理類 5.退出。</p><p> 查詢信息并顯示界面中又應(yīng)該包括 1.經(jīng)理類 2.工人類 3.銷售員類 4.銀行經(jīng)理類 5.退出。</p><p> 計(jì)算總工資并顯示界面中又應(yīng)該包括 1.經(jīng)理類 2.工人類 3.銷售員類 4.銀行經(jīng)理類 5.退出。</p>&l
13、t;p><b> 三.系統(tǒng)流程圖</b></p><p> 四.調(diào)試過(guò)程及系統(tǒng)使用說(shuō)明</p><p> 對(duì)此程序進(jìn)行調(diào)試需要一個(gè)功能、一個(gè)功能地逐個(gè)調(diào)試,如遇到出現(xiàn)與先前期望的結(jié)果不符的話需要使用C++自帶的程序調(diào)試工具逐一進(jìn)行改正。在這當(dāng)中需注意的是由于幾個(gè)關(guān)于工資的計(jì)算變量我們?cè)O(shè)定成了float型,所以在組建過(guò)程中會(huì)出現(xiàn)如下警告:“warning C
14、4244: '=' : conversion from 'double' to 'float', possible loss of data”,我們一開(kāi)始也挺納悶的,因?yàn)槲覀儾](méi)有設(shè)置任何double型變量,怎么會(huì)在警告中出現(xiàn)“從double型轉(zhuǎn)變?yōu)閒loat型很可能引起數(shù)據(jù)丟失”的警告呢?后來(lái)請(qǐng)教老師后發(fā)現(xiàn),警告是由于這個(gè)C++系統(tǒng)把一般的小數(shù)都按double類型數(shù)據(jù)處理,而我們?cè)诙x的
15、時(shí)候是用的float類型,所以系統(tǒng)認(rèn)為有數(shù)據(jù)丟失。</p><p><b> 進(jìn)入主菜單后</b></p><p> 選1-1為輸入經(jīng)理類的記錄;1-2為輸入工人類的記錄;1-3為輸入銷售員類的記錄;1-4為輸入銷售經(jīng)理類的記錄;1-5為退出此界面并返回到主界面。</p><p> 選2-1為查找經(jīng)理類的記錄;2-2為查找工人類的記錄;2
16、-3為查找銷售員類的記錄;2-4為查找銷售經(jīng)理類的記錄;2-5為退出此界面并返回到主界面。以上操作的詳細(xì)流程請(qǐng)參照流程圖3。</p><p> 選3-1為計(jì)算經(jīng)理類的總工資;3-2為計(jì)算工人類的總工資;3-3為計(jì)算銷售員類的總工資;3-4為計(jì)算銷售經(jīng)理類的總工資;3-5為退出此界面并返回到主界面。以上操作的詳細(xì)流程請(qǐng)參照流程圖4。</p><p> 選4會(huì)輸出“謝謝您使用本系統(tǒng),次再見(jiàn)
17、!”并退出程序。</p><p><b> 五.程序代碼</b></p><p> #include<iostream.h></p><p> #include<string.h></p><p> class employee</p><p><b>
18、 {</b></p><p> protected:</p><p> char *name; </p><p> int grade; </p><p> float accump
19、ay; </p><p> static int employeeNo; </p><p><b> public: </b></p><p> employee();
20、 </p><p> ~employee(); </p><p> virtual void pay()=0; </p><p> virtual void promote(int increment=0);
21、 </p><p> virtual void displaystatus()=0; </p><p><b> };</b></p><p> class technician:public employee</p><p><b> {</b><
22、/p><p><b> private:</b></p><p> float hourlyrate; </p><p> int workhours; </p><p><b> public:<
23、/b></p><p> technician(); </p><p> void promote(int); </p><p> void pay(); </p><p>
24、 void displaystatus(); </p><p><b> };</b></p><p> class manager:virtual public employee</p><p><b> {</b></p><p>
25、 protected:</p><p> float monthlypay; </p><p><b> public:</b></p><p> manager(); </p><p&g
26、t; void promote(int); </p><p> void pay(); </p><p> void displaystatus(); </p><p>
27、<b> };</b></p><p> class salesman:virtual public employee</p><p><b> {</b></p><p> protected:</p><p> float commrate;
28、 </p><p> float sales; </p><p> public: </p><p> salesman(); </p><p> void promote(int);
29、 </p><p> void pay(); </p><p> void displaystatus(); </p><p><b> };</b></p><p> class salesma
30、nager:public manager,public salesman</p><p><b> {</b></p><p><b> public:</b></p><p> salesmanager();</p><p> void promote(int);</p>&
31、lt;p> void pay();</p><p> void displaystatus();</p><p><b> };</b></p><p> int employee::employeeNo=00;</p><p> employee::employee()</p><p
32、><b> {</b></p><p> char namestr[50];</p><p> cout<<"請(qǐng)輸入一個(gè)雇員的姓名:";</p><p> cin>>namestr;</p><p> name=new char[strlen(namestr)+
33、1];</p><p> strcpy(name,namestr);</p><p> employeeNo++;</p><p><b> grade=1;</b></p><p> accumpay=0.0;</p><p><b> }</b></p&g
34、t;<p> employee::~employee()</p><p><b> {</b></p><p> delete[]name;</p><p><b> }</b></p><p> void employee::promote(int increment)&l
35、t;/p><p><b> {</b></p><p> grade+=increment;</p><p><b> }</b></p><p> technician::technician()</p><p><b> {</b></p
36、><p> hourlyrate=100;</p><p><b> }</b></p><p> void technician::promote(int)</p><p><b> {</b></p><p> employee::promote(2);</p
37、><p><b> }</b></p><p> void technician::pay()</p><p> {cout<<"請(qǐng)輸入"<<name<<"本月的工作時(shí)數(shù):";</p><p> cin>>workhours;&l
38、t;/p><p> accumpay=hourlyrate*workhours;</p><p> cout<<"兼職技術(shù)人員"<<name<<"編號(hào)"<<employeeNo<<"本月工資"<<accumpay<<endl;</p>
39、<p><b> }</b></p><p> void technician::displaystatus()</p><p><b> {</b></p><p> cout<< "兼職技術(shù)人員"<<name<<"編號(hào)"&l
40、t;<employeeNo<<"級(jí)別為"<<grade<<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b> }</b></p><p> salesman::salesman()</p><p><
41、b> {</b></p><p> commrate=0.04;</p><p><b> }</b></p><p> void salesman::promote(int)</p><p><b> {</b></p><p> employ
42、ee::promote(0);</p><p><b> }</b></p><p> void salesman::pay()</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入"<<name<<"
43、本月的銷售額:";</p><p> cin>>sales;</p><p> accumpay=sales*commrate;</p><p> cout<<"兼職推銷員"<<name<<"編號(hào)"<<employeeNo<<"本
44、月工資"<<accumpay<<endl;</p><p><b> }</b></p><p> void salesman::displaystatus()</p><p><b> {</b></p><p> cout<<"兼職
45、推銷員"<<name<<"編號(hào)"<<employeeNo<<"級(jí)別為"<<grade<<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b> }</b></p><p>
46、manager::manager()</p><p><b> {</b></p><p> monthlypay=8000;</p><p><b> }</b></p><p> void manager::promote(int)</p><p><b&g
47、t; {</b></p><p> employee::promote(3);</p><p><b> }</b></p><p> void manager::pay()</p><p><b> {</b></p><p> accumpay=m
48、onthlypay;</p><p> cout<<"經(jīng)理"<<name<<"編號(hào)"<<employeeNo<<"本月工資"<<accumpay<<endl;</p><p><b> }</b></p>&
49、lt;p> void manager::displaystatus()</p><p><b> {</b></p><p> cout<<"經(jīng)理"<<name<<"編號(hào)"<<employeeNo<<"級(jí)別為"<<grade&
50、lt;<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b> }</b></p><p> salesmanager::salesmanager()</p><p><b> {</b></p><p> mont
51、hlypay=5000;</p><p> commrate=0.05;</p><p><b> }</b></p><p> void salesmanager::promote(int)</p><p><b> {</b></p><p> employee
52、::promote(2);</p><p><b> }</b></p><p> void salesmanager::pay()</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入"<<employee::name&l
53、t;<"所管轄部門本月的銷售總額";</p><p> cin>>sales;</p><p> accumpay=monthlypay+commrate*sales;</p><p> cout<<"銷售經(jīng)理"<<name<<"編號(hào)"<&l
54、t;employeeNo<<"本月工資"<<accumpay<<endl;</p><p><b> }</b></p><p> void salesmanager::displaystatus()</p><p><b> {</b></p>
55、<p> cout<<"銷售經(jīng)理"<<name<<"編號(hào)"<<employeeNo<<"級(jí)別為"<<grade<<"級(jí),已付本月工資"<<accumpay<<endl;</p><p><b> }<
56、;/b></p><p> int main()</p><p> {cout<<" ******************************************* "<<endl; </p><p> cout<<"
57、 公 司 人 事 管 理 系 統(tǒng) "<<endl; </p><p> cout<<" ******************************************* "<<endl;<
58、/p><p> cout<<""<<endl;</p><p> cout<<""<<endl;</p><p> cout<<""<<endl;</p><p> biaohao: cout<<
59、"*************************************************************************"<<endl; </p><p> cout<<"* 1.經(jīng)理 *"
60、<<endl;</p><p> cout<<"* 2.兼職技術(shù)人員 *"<<endl; </p><p> cout<<"* 3.銷售經(jīng)理
61、 *"<<endl;</p><p> cout<<"* 4.兼職銷售員 *"<<endl;</p><p> cout<<
62、;"* 5.退出 *"<<endl;</p><p> cout<<"*************************************************************************"<
63、;<endl; </p><p> cout<<"請(qǐng)選擇功能:"<<endl;</p><p><b> int a;</b></p><p><b> cin>> a;</b></p><p><b> switch(
64、a)</b></p><p> {case 5:break;</p><p> case 1:{ manager m1;</p><p> employee* a;</p><p><b> a=&m1;</b></p><p> a->promote();&l
65、t;/p><p><b> a->pay();</b></p><p> a->displaystatus();}goto biaohao; </p><p><b> break;</b></p><p> case 2:{technician t1;</p>&l
66、t;p> employee* b;</p><p><b> b=&t1;</b></p><p> b->promote();</p><p><b> b->pay();</b></p><p> b->displaystatus();}goto bia
67、ohao;break;</p><p> case 3:{salesmanager sm1;</p><p> employee* c;</p><p><b> c=&sm1;</b></p><p> c->promote();</p><p><b> c-
68、>pay();</b></p><p> c->displaystatus();}goto biaohao;break;</p><p> case 4:{salesman s1;</p><p> employee* d;</p><p><b> d=&s1;</b></
69、p><p> d->promote();</p><p><b> d->pay();</b></p><p> d->displaystatus();}goto biaohao;break;</p><p> default:cout<<"您輸入有誤,請(qǐng)重試!"&l
70、t;<endl;goto biaohao;break;</p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> 六.總結(jié)、心得與體會(huì)</p><p>
71、; 通過(guò)這次課題設(shè)計(jì),我覺(jué)得做好一個(gè)程序,靈活運(yùn)用是關(guān)鍵。把基礎(chǔ)學(xué)好不一定能把程序編好,但基礎(chǔ)知識(shí)不好,一定編不出好程序。做大規(guī)模的程序不只是一個(gè)人努力就行了,一定要有團(tuán)隊(duì)合作能力。編程最主要是思路清晰,只要你把思路理順了,就有利于你在編程的過(guò)程中少走彎路。 </p><p> 運(yùn)行正確的程序并不一定是好程序,編程員時(shí)刻要牢記的一條就是自己寫(xiě)的程序不僅是給自己看的,也要讓別人能輕易地看懂。我們?cè)诜謮K設(shè)計(jì)時(shí)就因
72、為都太“以自我為中心“了,直接導(dǎo)致最后把程序匯總的時(shí)候才發(fā)現(xiàn)”錯(cuò)誤“一大堆!當(dāng)然、這也使我們更加體會(huì)到了程序可讀性的重要之所在。</p><p> 要想學(xué)好C++我覺(jué)得除了在課堂上認(rèn)真學(xué)習(xí)之外也要做好以下幾點(diǎn):</p><p> 1.認(rèn)真對(duì)待每一個(gè)程序的編寫(xiě) 2.做好對(duì)每一個(gè)所編程序的總結(jié) 3.寫(xiě)程序盡量要規(guī)范、嚴(yán)謹(jǐn),效率盡量要高 4.養(yǎng)成自我測(cè)試的習(xí)慣 5.多看一些別人編的程序,把好
73、的思路和方法記下來(lái),以備不時(shí)之需 6.要有恃之以恒的精神以及嚴(yán)謹(jǐn)?shù)目茖W(xué)研究作風(fēng) </p><p> 在這短短的一個(gè)星期的努力奮斗中、在姜老師的辛勤指導(dǎo)下。我們終于把本次課題設(shè)計(jì)順利完成?;叵肫鹫n題設(shè)計(jì)過(guò)程中面對(duì)程序錯(cuò)誤一大堆的失望與成功完成程序中每一個(gè)模塊的喜悅時(shí),我真正的體會(huì)到了:1.團(tuán)隊(duì)合作的好壞直接影響到了做好一件工作的質(zhì)量與效率;2.細(xì)節(jié)決定成??;3.學(xué)術(shù)不管是哪一門,只要你用心去對(duì)待它,它也會(huì)用心地來(lái)
溫馨提示
- 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)
- c++課程設(shè)計(jì)---公司人員信息管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---公司人員管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--高校人員管理系統(tǒng)
- c++課程設(shè)計(jì)--公司職員管理系統(tǒng)
- c++課程設(shè)計(jì)---公司人事管理系統(tǒng)
- c++酒店管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--某公司的庫(kù)存管理系統(tǒng)
- 《c++》課程設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)
- c++課程設(shè)計(jì)-學(xué)生管理系統(tǒng)
- c++學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--酒店管理系統(tǒng)
- c++課程設(shè)計(jì)--小型公司工資管理系統(tǒng)
- c++酒店管理系統(tǒng)課程設(shè)計(jì)
- 銷售管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告--公司設(shè)備管理系統(tǒng)
- 小型公司工資管理系統(tǒng)設(shè)計(jì) c++課程設(shè)計(jì)
- ”小型公司工資管理系統(tǒng)設(shè)計(jì)“c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論