面向?qū)ο驛面向?qū)ο罅?xí)題(南航皮德常)資料_第1頁
面向?qū)ο驛面向?qū)ο罅?xí)題(南航皮德常)資料_第2頁
面向?qū)ο驛面向?qū)ο罅?xí)題(南航皮德常)資料_第3頁
面向?qū)ο驛面向?qū)ο罅?xí)題(南航皮德常)資料_第4頁
面向?qū)ο驛面向?qū)ο罅?xí)題(南航皮德常)資料_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章習(xí)題:8-1、設(shè)計Date類,輸出合法日期。#include<iostream>usingnamespacestd;12-25-2004."<<endl;if(count>0){length=count;fltData=newfloat[length];}else{length=1;fltData=newfloat[length];}for(inti=0;i<length;i++)fltData[i]=0;}#."<<endl;delete[]fltData;length=0;}."<<endl;%DataArrayObj(3);cout<<"給DataArray對象賦值:"<<endl;for(inti=0;i<3;i++){5.0fetHours(tHour))break;)elsecout<<"您輸入的數(shù)據(jù)不正確,請重新輸入!"<<endl;}}etPayment()<<"元"<<endl;8-5、設(shè)計InvoiceItem類和商品銷售類,完成如下功能:1)詢問客戶購買的商品名稱和數(shù)量;2)從InvoiceItem對象獲得每個商品的成本價;3)在成本價基礎(chǔ)上加上30%利潤,得到每個商品的單價4)將商品單價與購買數(shù)量相乘,得到商品小計;5)將商品小計乘以6%,得到商品的零售稅;6)將商品小計加上零售稅得到該商品的銷售額;7)顯示客戶本次交易購買商品的小計、零售稅和銷售額。}有效性檢驗:商品數(shù)量不能為負(fù)數(shù)。#include<iostream>usingnamespacestd;classInvoiceItem{char*desc;>intunits;floatcost;public:InvoiceItem(char*d,intu=0,floatc=0){desc=newchar[strlen(d)+1];strcpy(desc,d);units=u;cost=c;}~InvoiceItem(){delete[]desc;units=0;cost=0;}%char*getDesc(){returndesc;}intgetUnits(){returnunits;}floatgetCost(){returncost;}};classSale{\\))floatprice,salesum,saletax,totalsum;intbuynum;public:boolsetnum(int,int);voidcalcSale(floatp)>{price=p;0.5f1.2f2.5fSaleetDesc()<<"\t數(shù)量:";cout<<Inventory[i].getUnits()<<"\t成本價:";cout<<lnventory[i].getCost()<<"元"<vendl;}etDesc(),name)==0)index=i;&if(index!=-1)break;elsecoutvv"您輸入的商品不存在,請重新輸入!"<<endl;}coutvv"請輸入購買數(shù)量:";while(true)v{intnum;cin>>num;if(num,lnventory[index].getUnits()))break;elsecout<<"您輸入的數(shù)量不正確,請重新輸入!"vvendl;}etCost()*;etDesc()vvendl;coutvv"本次購買的商品數(shù)量:"vvOvvendl;coutvv"本次購買的商品單價:"vv()vv"元"vvendl;coutvv"本次購買的商品小計:"vvOvv"元"vvendl;Acoutvv"本次購買的零售稅:"vv()vv"元"vvendl;coutvv"本次購買的銷售額:"vv()vv"元"vvendl;}第9章習(xí)題:9-1、定義NumDays類,功能是將以小時(hour)為單位的工作時間轉(zhuǎn)換為天數(shù)(day)。構(gòu)造函數(shù)具有一個代表工作小時的參數(shù),其他函數(shù)成員實現(xiàn)小時和天的存儲和檢索。同時,該類需重載+、一、++、運(yùn)算符。9-2、設(shè)計TimeOff類,用于計算雇員生病、休假和不支付報酬的時間。9-3、采用TimeOff類定義一個對象。要求用戶輸入某雇員已經(jīng)工作的月數(shù)(months),然后采用TimeOff類對象計算并顯示雇員因病休假和正常休假的最多天數(shù)。注意:雇員每月可以有12小時的帶薪休假和8小時的生病休假。etHours())cout<<"該月超過標(biāo)準(zhǔn)的生病休假小時數(shù):"<<().getHours()<<"小時!\n";(hours);(offObj);cout<<"請輸入第"<<i<<"個月帶薪休假的累計小時數(shù):\n";cin>>hours;if(hours>().getHours())@cout<<"該月超過標(biāo)準(zhǔn)的帶薪休假小時數(shù):"<<().getHours()<<"小時!\n";(hours);(offObj);cout<<"請輸入第"<<i<<"個月不帶薪休假的累計小時數(shù):\n";cin>>hours;$if(hours>().getHours())cout<<"該月超過標(biāo)準(zhǔn)的不帶薪休假小時數(shù):"<<().getHours()<<"小時!\n";(hours);(offObj);}*cout<<()<<"的休假天數(shù)統(tǒng)計如下:\n";cout<<"因病休假的天數(shù)為:\t"<<().getDays()<<endl;cout<<"帶薪休假的天數(shù)為:\t"<<().getDays()<<endl;cout<<"不帶薪休假的天數(shù)為:\t"<<().getDays()<<endl;}第10章習(xí)題:10-2、設(shè)計Employee類,其數(shù)據(jù)成員能保存如下信息:雇員姓名:char*指針;雇員編號:格式為XXX-L,X是0~9之間的數(shù)字,L是A~M之間的字母;@受雇日期:向該類增加構(gòu)造函數(shù)、析構(gòu)函數(shù)和其他相關(guān)函數(shù)成員。設(shè)計Employee類的子類EmployeePay,其具有如下數(shù)據(jù)成員:月工資:double型變量;部門號:int型變量;【編寫完整的程序,要求用戶從鍵盤輸入雇員信息,然后在屏幕上顯示這些信息."<<endl;CirclemyCircle(0,0,;cout<<"centerX="<<()<<endl;cout<<"centerY="<<()<<endl;\cout<<"radius="<<endl;cout<<"Area="<<()<<endl<<endl;."<<endl;RectanglemyRectangle(12,15);cout<<"width="<<()<<endl;)cout<<"length="<<()<<endl;cout<<"Area="<<()<<endl<<endl;}10-9、編寫具有排序功能的類模板SortableArray,其是FreewillArray類模板的子類,具有一個函數(shù)成員,實現(xiàn)對數(shù)組元素的升序排列。編寫一個完整的程序測試該模板。)template<classT>FreewillArray<T>::FreewillArray(ints){arraySize=s;aptr=newT[s];if(aptr==0)memError();for(intcount=0;count<arraySize;count++)*(aptr+count)=0;}】template<classT>FreewillArray<T>::FreewillArray(constFreewillArray&obj){arraySize=;;aptr=newT[arraySize];if(aptr==0)memError();for(intcount=0;count<arraySize;count++)*(aptr+count)=*+count);}/template<classT>FreewillArray<T>::~FreewillArray(){if(arraySize>0)delete[]aptr;)}template<classT>voidFreewillArray<T>::memError(){cout<<"ERROR:allocatememory.\n";$exit(0);}template<classT>voidFreewillArray<T>::subError(void)({cout<<"ERROR:Subscriptoutofrange.\n";exit(0);}template<classT>T&FreewillArray<T>::operator[](constint&sub)@{if(sub<0||sub>arraySize)subError();returnaptr[sub];}#endif]//#include""template<classT>classSortableArray:publicFreewillArray<T>{public:SortableArray(ints):FreewillArray<T>(s){}SortableArray(FreewillArray<T>&obj):FreewillArray<T>(obj){}voidSelectionSort();};template<classT>》voidSortableArray<T>::SelectionSort()//選擇排序{inti,j,t,minIndex;for(i=0;i<arraySize-1;i++){minIndex=i;for(j=i+1;j<arraySize;j++)if(aptr[j]<aptr[minIndex])minIndex=j;if(minIndex!=i){t=aptr[minIndex];*aptr[minIndex]=aptr[i];aptr[i]=t;}}})//#include<iostream>usingnamespacestd;#include"">voidmain(void){FreewillArray<int>intTable(10);SortableArray<int>sortTable(intTable);inti,x;for(i=0;i<10;i++){'cout<<"請輸入第,,<<i+1<<H個整數(shù):\nH;cin>>x;sortTable[i]=x;}cout<<,排序前:\n,;¥for(i=0;i<10;i++)cout<<sortTable[i]<<,,;cout<<endl;cout<<,排序后:\n,;();*for(i=0;i<10;i++)cout<<sortTable[i]<<,,;}第11章習(xí)題:@11-1、Date類異常。#include<iostream>usingnamespacestd;classDate{public:【boolsetDate(constint,constint,constint);voiddisplay(void);char*getMonth(constint);classInvalidDay{};//異常類classInvalidMonth{};//異常類private:intyear;//存儲日期的年份intmonth;//存儲日期的月份intday;//存儲日期的天數(shù)};》//設(shè)置成員變量〃參數(shù):mm:月份。dd:天數(shù)。yy:年份。//〃返回值:如果成功賦值則返回true,否則返回false//char*Date::getMonth(constintm){if(m==1)*return"January";elseif(m==2)return"February";elseif(m==3)return"March";elseif(m==4)return"April";elseif(m==5)return"May";elseif(m==6)return"June";elseif(m==7)return"July";elseif(m==8)return"August";Aelseif(m==9)return"September";elseif(m==10)return"October";elseif(m==11)&return"November";elsereturn"December";}//設(shè)置成員變量〃參數(shù):mm:月份。dd:天數(shù)。yy:年份。/〃返回值:如果成功賦值則返回true,否則返回false//boolDate::setDate(constintmm,constintdd,constintyy){if(mm<1||mm>12)throwlnvalidMonth();〃拋出異常if(dd<1||dd>31)throwlnvalidDay();//拋出異常year=yy;month=mm;day=dd;returntrue;}//在屏幕上顯示日期//voidDate::display(void){//按照"12-25-2004"的形式輸出日期cout<<month<<"-"<<day<<"-"<<year<<"\n";//按照"December25,2004"的形式輸出日期cout<<getMonth(month)<<""<<day<<","<<year<<"\n";//按照"25December2004"的形式輸出日期cout<<day<<""<<getMonth(month)<<""<<year<<"\n";}voidmain(void){DatemyDate;//存儲日期intyear;//臨時存儲年份

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論