版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目的與要求 1、目的:(1)要求學(xué)生達(dá)到熟練掌握C+語言的基本知識(shí)和技能;(2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法;(3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。2、基本要求:(1)要求利用面向?qū)ο蟮姆椒ㄒ约癈+的編程思想來完成系統(tǒng)的設(shè)計(jì);(2)要求在設(shè)計(jì)的過程中,建立清晰的類層次;要分析和定義各個(gè)類,每個(gè)類中要有各自的屬性和方法;要求運(yùn)用面向?qū)ο蟮臋C(jī)制(繼承、派生及多態(tài)性)來實(shí)現(xiàn)系統(tǒng)功能。(3)在系統(tǒng)的設(shè)計(jì)中,要有清晰的界面設(shè)計(jì),同時(shí)采用文件進(jìn)行讀寫操作。3、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì)。問題描述及功能要求 某公司按月給其雇員發(fā)放工資,該公司有4種
2、雇員:1固定薪金的雇員2 小時(shí)工3 銷售員4帶薪銷售員1 固定薪金的雇員:不管工作多長時(shí)間,總拿固定周薪;(但如果請(qǐng)假,要扣除相應(yīng)的薪金,請(qǐng)假次數(shù)每次扣除金額30)2 小時(shí)工:以小時(shí)計(jì)算,加上加班費(fèi);(每月基本工作時(shí)間為160小時(shí),其余為加班時(shí)間)3 銷售員:按銷售收入提成計(jì)算;(每月基本銷售額度為30000元,低于此額度,在月薪里扣除少于30000部分的千分之二)4帶薪銷售員:底薪加上銷售收入提成(要求同上,若有請(qǐng)假,也要扣除相應(yīng)的薪金)如果Employee 生日所在的月份在本月,那么公司會(huì)無條件獎(jiǎng)勵(lì)200元具體要求附后問題的解決方案 根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:(1)應(yīng)用
3、系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);(2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為;(3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次;(4)完成類層次中各個(gè)類的描述(包括屬性和方法);(5)完成類中各個(gè)成員函數(shù)的定義;(6)完成系統(tǒng)的應(yīng)用模塊;(7)功能調(diào)試;(8)完成系統(tǒng)課程設(shè)計(jì)報(bào)告,并提交課程設(shè)計(jì)報(bào)告及軟件到958168355設(shè)計(jì)報(bào)告要求 1封面:(格式附后)2課程設(shè)計(jì)任務(wù)書3課程設(shè)計(jì)報(bào)告: 系統(tǒng)總體方案 設(shè)計(jì)思路和主要步驟 各功能模塊和流程圖 設(shè)計(jì)代碼 心得體會(huì)和參考資料0 回復(fù) 1樓 2011-09-01 14:03 舉報(bào) |個(gè)人企業(yè)舉報(bào)垃圾信息舉報(bào) 大俠0807亮出
4、18CM3要求實(shí)現(xiàn):1 初始化系統(tǒng)創(chuàng)建存儲(chǔ)該公司職工信息的存儲(chǔ)系統(tǒng)(Employee.dat),并進(jìn)行職工信息的輸入,注意:公司的職工編號(hào)由系統(tǒng)按順序自動(dòng)生成,并且員工號(hào)一旦分配好就不可以再修改!;第一次運(yùn)行系統(tǒng),根據(jù)系統(tǒng)提示從鍵盤輸入員工的相應(yīng)信息進(jìn)行初始化操作,通過退出保存至Employee.dat文件中,若原來存在Employee.dat,則原數(shù)據(jù)被全部刪除。注意測(cè)試該文件是否存在!ifstream in(Employee.dat) if(!in)判斷以后每次運(yùn)行程序,初始化時(shí)都從文件Employee.dat中讀取員工數(shù)據(jù)即可2 職工信息輸出要求可以輸出:某類職工當(dāng)月的薪水發(fā)放信息分類輸
5、出全體職工當(dāng)月的薪水發(fā)放信息n某一名職工當(dāng)月的薪水發(fā)放信息n格式如下:* 固定薪金職員*編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 固定月薪 請(qǐng)假天數(shù) 應(yīng)扣 實(shí)發(fā)工資 是否領(lǐng)取*計(jì)時(shí)職員*編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 工作時(shí)長 時(shí)薪 加班時(shí)長 實(shí)發(fā)工資 是否領(lǐng)取*普通銷售員*編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 銷售額 提成比例 應(yīng)扣 實(shí)發(fā)工資 是否領(lǐng)取*帶薪銷售員*編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 固定月薪 銷售額 提成比例 請(qǐng)假天數(shù) 應(yīng)扣 實(shí)發(fā)工資 是否領(lǐng)取3 添加職工通過鍵盤輸入相應(yīng)的職工信息,添加職工,并通過退出保存至Employee.dat文件中。4 刪除職工通過輸入職工的工號(hào)
6、,首先輸出要?jiǎng)h除的職工相應(yīng)的信息,經(jīng)確認(rèn)后刪除,考慮職工不存在的情況。并通過退出保存至Employee.dat文件中。5 修改信息要求可以修改:除編號(hào)外的所有職工信息,包括工種以及由修改工種帶來的各項(xiàng)操作n修改某一類工種的信息,如銷售人員的提成比例,統(tǒng)一提高0.05;輸出修改前的職工信息, 經(jīng)確認(rèn)后修改后,輸出修改后的職工信息,考慮職工不存在的情況,并通過退出保存至Employee.dat文件中。6 工資發(fā)放通過輸入職工號(hào)方式,輸出查詢到的職工相應(yīng)的信息,經(jīng)確認(rèn)發(fā)放工資,將員工是否領(lǐng)取工資信息設(shè)置為是(即真),考慮所要查詢的職工編號(hào)不存在和已經(jīng)發(fā)放過工資的情況。7保存退出通過確認(rèn),保存修改的信
7、息至文件Employee.dat中,退出系統(tǒng),結(jié)束運(yùn)行。#include#includeusing namespace std;int N=0;int MONTH=1;int LING=0;int GX_gd_salary=2000;int XSG_sx=10;double XSY_tch=0.05;int DXSY_gd_salary=800;class peopleprivate:int num;char *name;int year,month;int gz;/工種int jiangli;/獎(jiǎng)勵(lì)public:void in_peole(int n,char *na,int y,int m
8、,int g)/修改個(gè)人信息num=n;name=new charstrlen(na)+1;strcpy(name,na);year=y;month=m;gz=g;if(m=MONTH)jiangli=200;else jiangli=0;/people()delete *name;int get_num()return num;char get_name()return *name;int get_year()return year;int get_month() return month;int get_gz() return gz;void print()coutnum name yea
9、r month gz jiangli ;int get_jiangli() return jiangli;/class GX:virtual public people/固定薪金的雇員 1private:int gd_salary; /固定工資int qj;/請(qǐng)假次數(shù)int yk_salary; /應(yīng)扣工資int salary; /實(shí)發(fā)工資/int lq;/是否領(lǐng)取public:void chushihua()/初始化gd_salary=GX_gd_salary;qj=LING;yk_salary=LING;salary=gd_salary+get_jiangli()-yk_salary;/c
10、out初始化 固定薪金的雇員 1endl;void qingjia()/請(qǐng)假函數(shù)qj+;yk_salary=yk_salary+30;salary=salary-30;int get_gd_salary() return gd_salary;int get_qj() return qj ;int get_yk_salary() return yk_salary;int get_salary() return salary;/int get_lq() return lq;void print()coutgd_salary qj yk_salary salary ;/lq;/class XSG:v
11、irtual public people/小時(shí)工 2private:int gz_time;/工作時(shí)長int sx;/時(shí)薪int jb_time;/加班時(shí)長int salary; /實(shí)發(fā)工資/int lq;/是否領(lǐng)取public:void chushihua()/初始化gz_time=LING;sx=XSG_sx;/時(shí)薪j(luò)b_time=LING;salary=LING+get_jiangli();/cout初始化 小時(shí)工 2160)gz_time=160;jb_time=time-160;else gz_time=time;salary=time*sx;int get_gz_time() re
12、turn gz_time;int get_sx() return sx;int get_salary() return salary;/int get_lq() return lq;void print()coutgz_time sx jb_time salary ;/lq;/class XSY:virtual public people/銷售員 3private:int xse;/銷售額double tch;/提成比例int yk_salary; /應(yīng)扣工資int salary; /實(shí)發(fā)工資/int lq;/是否領(lǐng)取public:void chushihua()/初始化xse=0;tch=X
13、SY_tch;yk_salary=0;salary=(int)(double)xse*tch)-yk_salary+get_jiangli();/cout初始化 銷售員 3endl;void xiaoshou(int e)/銷售函數(shù)xse=e;if(e30000)yk_salary=e*2/1000;salary=(int)(double)xse*tch)-yk_salary;coutxse tch yk_salary salary ;int get_yk_salary() return yk_salary;int get_xse() return xse;double get_tch() r
14、eturn tch;int get_salary() return salary;/int get_lq() return lq;void print()coutxse tch yk_salary salary ;/lq;/salary; /class DXSY:virtual public people/帶薪銷售員 4private:int gd_salary; /固定工資int xse;/銷售額double tch;/提成比例int qj;/請(qǐng)假次數(shù)int yk_salary; /應(yīng)扣工資int salary; /實(shí)發(fā)工資/int lq;/是否領(lǐng)取public:void chushihua
15、()/初始化gd_salary=DXSY_gd_salary;xse=0;tch=XSY_tch;qj=0;yk_salary=0;salary=gd_salary+(int)(double)xse*tch)-yk_salary+get_jiangli();/cout初始化 帶薪銷售員 4endl;void qingjia()/請(qǐng)假函數(shù)qj+;yk_salary=yk_salary+30;salary=salary-30;void xiaoshou(int e)/銷售函數(shù)xse=e;if(e30000)yk_salary=e*2/1000;salary=salary+(int)(double)
16、xse*tch)-yk_salary;coutgd_salary xse tch qj yk_salary salary ;/lq;int get_gd_salary() return gd_salary;int get_xse() return xse;double get_tch() return tch;int get_qj() return qj ;int get_yk_salary() return yk_salary;int get_salary() return salary;/int get_lq() return lq;void print()coutgd_salary xs
17、e tch qj yk_salary salary ;/lq;/class AAA:public GX,public XSG, public XSY,public DXSYprivate:/int jiangli;/獎(jiǎng)勵(lì)int lq;/是否領(lǐng)取public:/int get_jiangli() return jiangli;void qingjia()/請(qǐng)假函數(shù)if(get_gz()=1) GX:qingjia();if(get_gz()=4) DXSY:qingjia();void xiaoshou(int e)/銷售函數(shù)if(get_gz()=3) XSY:xiaoshou(e);if(g
18、et_gz()=4) DXSY:xiaoshou(e);void print()/輸出函數(shù)people:print();if(get_gz()=1) GX:print();if(get_gz()=2) XSG:print();if(get_gz()=3) XSY:print();if(get_gz()=4) DXSY:print();cout lq endl;void lingqian()lq=1;/工資發(fā)放void chushihua()GX:chushihua();XSG:chushihua();XSY:chushihua();DXSY:chushihua();lq=0;void menu
19、()/主菜單 cout歡迎使用工資發(fā)放系統(tǒng)endl;cout一、 員工信息管理 endl;cout1 初始化系統(tǒng) 2 職工信息輸出endl;cout3 添加職工 4 刪除職工 endl;cout5 修改信息 6 工資發(fā)放 endl;cout 7請(qǐng)假 8.保存退出endl;cout請(qǐng)輸入相應(yīng)編號(hào):i;switch(i)case 1:for(;1;)N+;char na20;int y, m, g,time,e;char c;cout請(qǐng)輸入員工信息endl;cout編號(hào): Nendl;cout姓名: na;cout出生年月,年: y;cout出生年月,月: m;cout工種: endl;cout1
20、.固定薪金的雇員 2.小時(shí)工 3.銷售員 4.帶薪銷售員endl;cout請(qǐng)選擇編號(hào)g;DXN-1.in_peole(N,na,y,m,g);DXN-1.chushihua();if(g=1) if(g=2)cout請(qǐng)輸入這個(gè)月總的工作間: time;DXN-1.zh_time(time);if(g=3)cout請(qǐng)輸入這個(gè)月總的銷售額: e;DXN-1.xiaoshou(e);if(g=4)cout請(qǐng)輸入這個(gè)月總的銷售額: e;DXN-1.xiaoshou(e);cout是否繼續(xù)輸入 Y確認(rèn) N取消c;if(c=Y)elsebreak;break;case 2:cout* 固定薪金職員*end
21、l;cout編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 固定月薪 請(qǐng)假天數(shù) 應(yīng)扣 實(shí)發(fā)工資 是否領(lǐng)取endl;for(int a=0; a=N; a+)if(DXa.get_gz()=1) DXa.print();cout*計(jì)時(shí)職員* endl;cout編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 工作時(shí)長 時(shí)薪 加班時(shí)長 實(shí)發(fā)工資 是否領(lǐng)取 endl;for(int b=0;b=N ; b+)if(DXb.get_gz()=2) DXb.print();cout*普通銷售員* endl;cout編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 銷售額 提成比例 應(yīng)扣 實(shí)發(fā)工資 是否領(lǐng)取endl;for(int c=0
22、;c=N ; c+)if(DXc.get_gz()=3) DXc.print();cout*帶薪銷售員*endl;cout編號(hào) 姓名 出生年月 工種 獎(jiǎng)勵(lì)薪金 固定月薪 銷售額 提成比例 請(qǐng)假天數(shù) 應(yīng)扣 實(shí)發(fā)工資 是否領(lǐng)取endl;for(int d=0;d=N ; d+)if(DXd.get_gz()=4) DXd.print();break;case 3:for(;1;)N+;char na20;int y, m, g,time,e;char c;cout請(qǐng)輸入員工信息endl;cout編號(hào): Nendl;cout姓名: na;cout出生年月,年: y;cout出生年月,月: m;cout工種: endl;cout1.固定薪金的雇員 2.小時(shí)工 3.銷售員 4.帶薪銷售員endl;cout請(qǐng)選擇編號(hào)g;DXN-1.in_peole(N,na,y,m,g);DXN-1.chushihua();if(g=1) if(g=2)cout請(qǐng)輸入這個(gè)月總的工作間: time;DXN-1.zh_time(time);if(g=3)cout請(qǐng)輸入這個(gè)月總
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 英文設(shè)備貸款合同模板
- 董事長秘書助理崗位職責(zé)
- 九年級(jí)化學(xué)上冊(cè) 第三章 維持生命之氣-氧氣3.2 制取氧氣教案(新版)粵教版
- 八年級(jí)物理上冊(cè) 1.1《希望你喜愛物理》第1課時(shí)教案 (新版)粵教滬版
- 2024-2025學(xué)年七年級(jí)地理上冊(cè) 第三章 天氣與氣候 第二節(jié) 氣溫的變化與分布教案 (新版)新人教版
- 高中歷史 5.2 無產(chǎn)階級(jí)革命導(dǎo)師恩格斯教案2 新人教版選修4
- 2024年高中化學(xué) 第四章 電化學(xué)基礎(chǔ) 第一節(jié) 原電池教案 新人教版選修4
- 武術(shù)作業(yè)設(shè)計(jì)人教版八下初中二年級(jí)體育教學(xué)設(shè)計(jì)
- 船長課件人教版
- 心電圖出科課件
- 供應(yīng)鏈的未來發(fā)展趨勢(shì)和預(yù)測(cè)報(bào)告
- 志愿服務(wù)課件教學(xué)課件
- 2023年四川省林業(yè)和草原局直屬事業(yè)單位招聘考試真題
- 臨床輸血知識(shí)培訓(xùn)
- 期中試卷(第1-3單元)(試題)-2024-2025學(xué)年三年級(jí)上冊(cè)數(shù)學(xué)滬教版
- 急救小知識(shí)科普講座
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 公園綠化養(yǎng)護(hù)服務(wù)投標(biāo)方案
- BS EN ISO 15848-1-2015 工業(yè)閥-逸散性排放的測(cè)量、試驗(yàn)和鑒定程序(中文)
- 期中家長會(huì)二年級(jí)數(shù)學(xué)
- 《智慧農(nóng)業(yè)》的ppt完整版
評(píng)論
0/150
提交評(píng)論