版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 告驗(yàn) 報(bào)實(shí) 實(shí)驗(yàn)課程: C+ 面向?qū)ο蟪绦蛟O(shè)計(jì) 學(xué)生姓名: 慎鏞日 學(xué) 號(hào): 8000608039 081 計(jì)算機(jī)軟件專業(yè)班級(jí): 日月11年2010 11 1 / 14 南昌大學(xué)實(shí)驗(yàn)報(bào)告 學(xué)生姓名: 慎鏞日 學(xué) 號(hào): 8000608039 專業(yè)班級(jí): 計(jì)算機(jī)軟件 081 實(shí)驗(yàn)類型: 驗(yàn)證 綜合 設(shè)計(jì) 創(chuàng)新 實(shí)驗(yàn)日期: 2010.11.12 實(shí)驗(yàn)成績(jī): 一、實(shí)驗(yàn)項(xiàng)目名稱:小型公司人員管理 二、實(shí)驗(yàn)?zāi)康模?1、理解繼承在面向?qū)ο蟪绦蛟O(shè)計(jì)中的重要作用; 2、理解繼承和派生的概念; 3、掌握通過(guò)繼承派生出一個(gè)新類的方法; 4、進(jìn)一步學(xué)習(xí)簡(jiǎn)單面向?qū)ο蟪绦虻木帉懀?5、理解多態(tài)的概念; 6、理解虛函數(shù)的
2、作用; 7、掌握虛函數(shù)的定義和使用方法; 8、學(xué)習(xí)實(shí)現(xiàn)多態(tài); 9、了解純虛函數(shù)和抽象類的概念和使用方法; 三、實(shí)驗(yàn)內(nèi)容 1、題目?jī)?nèi)容描述 2、輸入和輸出信息描述及數(shù)據(jù)類型確定; (1)、輸入數(shù)據(jù) 序號(hào) 輸入數(shù)據(jù)描述 數(shù)據(jù)類型 1 2 (2)、輸出數(shù)據(jù) 序號(hào) 輸出數(shù)據(jù)描述 數(shù)據(jù)類型 1 2 (3)、自定義數(shù)據(jù)類型 如果程序中有自定義數(shù)據(jù)類型,如枚舉、結(jié)構(gòu)體、聯(lián)合體等,請(qǐng)代碼方式列出并概要解釋其作用。 3、類的解釋 (1)、類的定義 例如: 類 Point 成員數(shù)據(jù)定義 成員數(shù)據(jù)作用描述 int m_X 2維坐標(biāo)點(diǎn)的 X坐標(biāo) 成員函數(shù)定義 成員函數(shù)功能描述 void SetX(int x); 設(shè)置
3、 2 維坐標(biāo)點(diǎn) X坐標(biāo) 2 / 14 (2)、類之間的關(guān)系 4、程序調(diào)試 錯(cuò)誤 錯(cuò)誤信息 是否 解決方法 序號(hào) 列出你認(rèn)為最重要的 10 個(gè)錯(cuò)誤信息 解決 (簡(jiǎn)要描述) 1 2 3 5、測(cè)試與結(jié)果分析 (1)、測(cè)試數(shù)據(jù)與結(jié)果(至少兩組) 源文件名 可執(zhí)行文件名 測(cè)試序號(hào) 測(cè)試輸入數(shù)據(jù)測(cè)試輸出結(jié)果是否正確結(jié)果分析 3 / 14 實(shí)驗(yàn)總結(jié) 三、 1、問(wèn)題總結(jié) ) 結(jié)合本次實(shí)驗(yàn)?zāi)康?,熟悉或掌握了那些?nèi)容。程序是否實(shí)現(xiàn)并測(cè)試通過(guò)1 )代碼是否獨(dú)立完成2 )那些方面的知識(shí)理解或掌握的不到位;程序存在什么問(wèn)題3 4)對(duì)于程序存在的問(wèn)題如何去改進(jìn),寫出其方法 、經(jīng)驗(yàn)總結(jié) 2)簡(jiǎn)述你在本題目積累了在開(kāi)發(fā)工具使
4、用、編成程序、調(diào)試程序、測(cè)試程序方面的1 實(shí)踐經(jīng)驗(yàn) 四、列出源代碼 源文件:employee.cpp #includeemployee.h #include using namespace std; employee:employee(char*n,int nu,char *s,int p,int sa,int y,int m,int d) strcpy(name,n); num=nu; strcpy(sex,s); 4 / 14 position=p; salary=sa; bdate.setyear(y); bdate.setmonth(m); bdate.setday(d); int e
5、mployee:getyear()return bdate.gety(); int employee:getmonth()return bdate.getm(); int employee:getday()return bdate.getd(); char* employee:getname()return name; int employee:getnum()return num; char* employee:getsex()return sex; int employee:getposition()return position; int employee:getsalary()retu
6、rn salary; inoutdata.cpp: #includemain.h void inoutdata(int n) ofstream outdata(data.txt,ios:app); char name20,sex4; int num,salary,year,month,day,area; 潣瑵?請(qǐng)輸入姓名:; cinname; 畯摴瑡?尼姓名:namenum; 畯摴瑡?尼編號(hào):numsex; 畯摴瑡?尼性別:sex; 畯摴瑡?尼職位:pn-1salary; 潣瑵?請(qǐng)輸入哪一年出生:; cinyear; 潣瑵?請(qǐng)輸入出生月份:; cinmonth; 潣瑵?請(qǐng)輸入出生在哪天:; c
7、inday; 畯摴瑡?尼生日:year-month-day; if(n=1) 5 / 14 manager m(name,num,sex,n-1,salary,year,month,day); 畯摴瑡?尼 薪水:m.getpay(); m.display(); if(n=2) 潣瑵?請(qǐng)選擇部門(1 、華北,2、華東):area; salesmanager sm(name,num,sex,n-1,salary,year,month,day,area-1); 畯摴瑡?尼 部門:ararea-1; 畯摴瑡?尼薪水:sm.getsmpay(); sm.display(); if(n=3) 潣瑵?請(qǐng)選擇
8、部門(1 、華北,2、華東):area; salesman s(name,num,sex,n-1,salary,year,month,day,area-1); 畯摴瑡?尼部門:ararea-1; 畯摴瑡?尼 薪水:s.getpay(); s.display(); if(n=4) technician t(name,num,sex,n-1,salary,year,month,day); 畯摴瑡?尼薪水: t.getpay(); t.display(); outdatai; if(i!=1&i!=2&i!=3&i!=4) 6 / 14 return; inoutdata(i); ; void ou
9、tf() char a; 潣瑵?是否要輸出所有數(shù)據(jù)(y/n)?a; if(a!=y&a!=Y)return; ifstream indata; indata.open(data.txt); while(indata.get(a) couta; indata.close(); void main() 潣瑵?請(qǐng)選擇要輸入的數(shù)據(jù):n1、總經(jīng)理 n2、銷售經(jīng)理 n3、銷售員 n4、技術(shù)員nendl; inout(); outf(); manager.cpp: #includemanager.h #include manager:manager(char*n,int nu,char *s,int p,i
10、nt sa,int y,int m,int d):employee(n,nu,s,p,sa,y,m,d) mpay=sa; manager:getpay() return mpay; void manager:pay() 7 / 14 mpay=mpay; void manager:display() 潣瑵?尼名字:getname()endl; 潣瑵?尼編號(hào):getnum()endl; 潣瑵?尼性別:getsex()endl; 潣瑵?尼職位:pgetposition()endl; 潣瑵?尼出生日期:?朼瑥敹牡?年?朼瑥潭瑮?尼月?朼瑥慤?尼日endl; 潣瑵?尼工資:getpay()endl;
11、 coutendl; salesman.cpp: #includesalesman.h #include salesman:getsale() return sale; salesman:getpay() pay(); return spay; salesman:salesman(char*n,int nu,char* s,int p,int sa,int y,int m,int d,int a):employee(n,nu,s,p,sa,y,m,d) sale=sa; area=a; void salesman:setsale(int p) sale=p; void salesman:pay
12、() spay=getsale()*4/100; char *salesman:getarea() 8 / 14 return ararea; void salesman:display() 潣瑵?尼名字:getname()endl; 潣瑵?尼編號(hào):getnum()endl; 潣瑵?尼性別:getsex()endl; 潣瑵?尼職位:pgetposition()endl; 潣瑵?尼出生日期:?朼瑥敹牡?年?朼瑥潭瑮?尼月?朼瑥慤?尼日endl; 潣瑵?尼工資:getpay()endl; 潣瑵?所屬部門:getarea()endl; coutendl; salesmanager.cpp: #inc
13、ludesalesmanager.h #include salesmanager:salesmanager(char*n,int nu,char* s,int p,int d,int m,int y,int sa,int a):salesman(n,nu,s,p,sa,y,m,d,a),manager(n,nu,s,p,sa,y,m,d) sale=sa; salesmanager:getsmpay() pay(); return smpay; salesmanager:getmpay() return manager:getpay(); void salesmanager:setsale(i
14、nt s) sale=s; void salesmanager:setpay(int g) gpay=g; void salesmanager:pay() smpay=5000+sale*5/1000; 9 / 14 char *salesmanager:getare() return getarea(); void salesmanager:display() 潣瑵?尼名字:salesman:getname()endl; 潣瑵?尼編號(hào):salesman:getnum()endl; 潣瑵?尼性別:salesman:getsex()endl; 潣瑵?尼職位:psalesman:getpositi
15、on()endl; cout ?出生日期:?猼污獥慭?機(jī)瑥敹牡?年?猼污獥慭?機(jī)瑥潭瑮?尼月?猼污獥慭?機(jī)瑥慤?尼日endl; 潣瑵?尼工資:getsmpay()endl; 潣瑵?所屬部門:getare()endl; coutendl; technician.cpp: #includeechnician.h #include technician:technician(char*n,int nu,char* s,int p,int sa,int y,int m,int d):employee(n,nu,s,p,sa,y,m,d) time=sa; technician:gettime() re
16、turn time; technician:getpay() pay(); return tpay; void technician:pay() tpay=time*25; void technician:display() getname()endl; 潣瑵?尼 名字:getnum()endl; 潣瑵?尼 編號(hào):getsex()endl; 潣瑵?尼 性別:10 / 14 潣瑵?尼職位:pgetposition()endl; 潣瑵?尼出生日期:?朼瑥敹牡?年?朼瑥潭瑮?尼月?朼瑥慤?尼日endl; 潣瑵?尼工資:getpay()endl; coutendl; 頭文件: empolyee.h:
17、#ifndef empolyee_h #define empolyee_h static char p420= 屻總經(jīng)理, 屻銷售經(jīng)理, 屻銷售員, 屻技術(shù)人員 ; class date /定義時(shí)間類 private: int year,month,day; /定義時(shí)間類的年月日 public: date() /時(shí)間類的構(gòu)造函數(shù) void setyear(int y=1988)year=y; void setmonth(int m=5)month=m; void setday(int d=16)day=d; int gety()return year; int getm()return mon
18、th; int getd()return day; ; class employee /基類,被雇傭者 private: char name20; /名字 int num; /編號(hào) char sex4; /性別 date bdate; /出生時(shí)間 int position; /職位 int salary; /薪水 public: employee() /基類構(gòu)造函數(shù) employee(char*n,int nu,char* s,int p,int sa,int y,int m,int d);/基類構(gòu)造函數(shù)的重載 int getyear(); int getmonth(); 11 / 14 in
19、t getday(); char* getname(); int getnum(); char* getsex(); int getposition(); int getsalary(); /虛升職函數(shù) virtual void promote() /virtual void pay()=0; 純虛的計(jì)算工資函數(shù) / virtual void display()=0; 純虛的顯示函數(shù) ; #endif main.h: #include #include using namespace std; #includeemployee.h #includesalesman.h #includemana
20、ger.h #includesalesmanager.h #includeechnician.h void inoutdata(int); manager.h: #includeemployee.h #ifndef manager_h #define manager_h class manager:public employee /定義經(jīng)理類,繼承employee類 private: int mpay; /定義經(jīng)理類的工資 public: manager(char*n,int nu,char *s,int p,int sa,int y,int m,int d); virtual void pr
21、omote() int getpay(); virtual void pay(); virtual void display(); ; #endif salesman.h #includeemployee.h 12 / 14 #ifndef salesman_h #define salesman_h static char ar420= /定義儲(chǔ)存部門的數(shù)組,以便后面你用整數(shù)來(lái)表示部門 屻華北地區(qū), 屻華東 ; class salesman:public employee /定義銷售員的類,繼承employee類 private: int sale,spay; /定義銷售量,和銷售員的工資變量
22、 int area; /定義銷售員的部門 public: salesman(char*n,int nu,char* s,int p,int sa,int y,int m,int d,int a); int getsale(); int getpay(); char* getarea(); void setsale(int); virtual void promote() /虛升職函數(shù) virtual void pay(); /虛計(jì)算工資的函數(shù) virtual void display(); /虛顯示函數(shù) ; #endif salesmanager.h: #includesalesman.h #includemanager.h #ifndef salesmanager_h #define salesmanager_h class salesmanager:public salesman,public manager /定義銷售經(jīng)理的類,繼承銷售員類和經(jīng)理類 private: int smpay,sal
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度商業(yè)綜合體店鋪裝修一體化服務(wù)合同
- 2025年度草莓種植與深加工一體化項(xiàng)目合同3篇
- 課題申報(bào)參考:南嶺走廊瑤族傳統(tǒng)建筑壁畫圖像敘事及活化研究
- 課題申報(bào)參考:面向患者情緒體驗(yàn)的大型醫(yī)療設(shè)備系統(tǒng)設(shè)計(jì)策略研究
- 課題申報(bào)參考:貿(mào)易面向型人工智能規(guī)則的發(fā)展及其特征研究
- 《短視頻編?。哼x題構(gòu)想+腳本制作+劇本策劃+鏡頭拍攝》課件全套 第1-11章 選題方向:從賬號(hào)定位出發(fā) - 綜合案例:短劇《錯(cuò)過(guò)》
- 二零二五年度車輛抵押借款合同(含提前還款)4篇
- 二零二五版金融科技項(xiàng)目?jī)?nèi)部股東轉(zhuǎn)讓合同4篇
- 二零二五年度工業(yè)級(jí)模具開(kāi)模設(shè)計(jì)與制造合同3篇
- 2025年度新型個(gè)人汽車抵押借款合同范本
- 2025年人民教育出版社有限公司招聘筆試參考題庫(kù)含答案解析
- 康復(fù)醫(yī)學(xué)治療技術(shù)(士)復(fù)習(xí)題及答案
- 完整版100以內(nèi)加減法混合運(yùn)算4000道100
- 2024年產(chǎn)權(quán)管理部年終工作總結(jié)例文(3篇)
- 《血管性血友病》課件
- 高三日語(yǔ)一輪復(fù)習(xí)日語(yǔ)助詞「に」和「を」的全部用法課件
- 機(jī)場(chǎng)地勤勞動(dòng)合同三篇
- 2024年山東省高考政治試卷真題(含答案逐題解析)
- 《用銳角三角函數(shù)解決問(wèn)題(3)》參考課件
- 訂婚協(xié)議書(shū)手寫模板攻略
- 風(fēng)水學(xué)的基礎(chǔ)知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論