面向对象A面向对象习题南航皮德常资料.docx
- 文档编号:3059126
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:12
- 大小:18.01KB
面向对象A面向对象习题南航皮德常资料.docx
《面向对象A面向对象习题南航皮德常资料.docx》由会员分享,可在线阅读,更多相关《面向对象A面向对象习题南航皮德常资料.docx(12页珍藏版)》请在冰豆网上搜索。
面向对象A面向对象习题南航皮德常资料
第8章习题:
8-1、设计Date类,输出合法日期。
#include
usingnamespacestd;
12-25-2004."< if(count>0) {length=count; fltData=newfloat[length]; }else {length=1; { fltData=newfloat[length]; } for(inti=0;i fltData[i]=0; } ."< delete[]fltData; length=0; } ."< 》 DataArrayObj(3); cout<<"给DataArray对象赋值: "< for(inti=0;i<3;i++) {5.0fetHours(tHour)) break; else cout<<"您输入的数据不正确,请重新输入! "< } } etPayment()<<"元"< > } 8-5、设计InvoiceItem类和商品销售类,完成如下功能: 1)询问客户购买的商品名称和数量; 2)从InvoiceItem对象获得每个商品的成本价; 3)在成本价基础上加上30%利润,得到每个商品的单价; 4)将商品单价与购买数量相乘,得到商品小计; 5)将商品小计乘以6%,得到商品的零售税; 6)将商品小计加上零售税得到该商品的销售额; 7)显示客户本次交易购买商品的小计、零售税和销售额。 ^ 有效性检验: 商品数量不能为负数。 #include 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数量: "; cout< "; cout< }etDesc(),name)==0) index=i; ! if(index! =-1)break; elsecout<<"您输入的商品不存在,请重新输入! "< } cout<<"请输入购买数量: "; while(true) {intnum; cin>>num; if(num,Inventory[index].getUnits()))break; elsecout<<"您输入的数量不正确,请重新输入! "< } / etCost()*; etDesc()< cout<<"本次购买的商品数量: "<<()< cout<<"本次购买的商品单价: "<<()<<"元"< cout<<"本次购买的商品小计: "<<()<<"元"< cout<<"本次购买的零售税: "<<()<<"元"< cout<<"本次购买的销售额: "<<()<<"元"< } 第9章习题: ? 9-1、定义NumDays类,功能是将以小时(hour)为单位的工作时间转换为天数(day)。 构造函数具有一个代表工作小时的参数,其他函数成员实现小时和天的存储和检索。 同时,该类需重载+、-、++、――运算符。 9-2、设计TimeOff类,用于计算雇员生病、休假和不支付报酬的时间。 9-3、采用TimeOff类定义一个对象。 要求用户输入某雇员已经工作的月数(months),然后采用TimeOff类对象计算并显示雇员因病休假和正常休假的最多天数。 注意: 雇员每月可以有12小时的带薪休假和8小时的生病休假。 etHours()) cout<<"该月超过标准的生病休假小时数: "<<().getHours()<<"小时! \n"; (hours); (offObj); cout<<"请输入第"< \n"; cin>>hours; if(hours>().getHours()) 、 cout<<"该月超过标准的带薪休假小时数: "<<().getHours()<<"小时! \n"; (hours); (offObj); cout<<"请输入第"< \n"; cin>>hours; if(hours>().getHours()) cout<<"该月超过标准的不带薪休假小时数: "<<().getHours()<<"小时! \n"; (hours); (offObj); } & cout<<()<<"的休假天数统计如下: \n"; cout<<"因病休假的天数为: \t"<<().getDays()< cout<<"带薪休假的天数为: \t"<<().getDays()< cout<<"不带薪休假的天数为: \t"<<().getDays()< } 第10章习题: 10-2、设计Employee类,其数据成员能保存如下信息: 雇员姓名: char*指针; 雇员编号: 格式为XXX-L,X是0~9之间的数字,L是A~M之间的字母; ~ 受雇日期: 向该类增加构造函数、析构函数和其他相关函数成员。 设计Employee类的子类EmployeePay,其具有如下数据成员: 月工资: double型变量; 部门号: int型变量; 编写完整的程序,要求用户从键盘输入雇员信息,然后在屏幕上显示这些信息。 ."< CirclemyCircle(0,0,; cout<<"centerX="<<()< cout<<"centerY="<<()< . cout<<"radius="< cout<<"Area="<<()< ."< RectanglemyRectangle(12,15); cout<<"width="<<()< cout<<"length="<<()< cout<<"Area="<<()< } 10-9、编写具有排序功能的类模板SortableArray,其是FreewillArray类模板的子类,具有一个函数成员,实现对数组元素的升序排列。 编写一个完整的程序测试该模板。 ! template FreewillArray : FreewillArray(ints) { arraySize=s; aptr=newT[s]; if(aptr==0)memError(); for(intcount=0;count *(aptr+count)=0; } ] template FreewillArray : FreewillArray( constFreewillArray&obj) { arraySize=; aptr=newT[arraySize]; if(aptr==0)memError(); for(intcount=0;count *(aptr+count)=*+count); } , template FreewillArray : ~FreewillArray() {if(arraySize>0) delete[]aptr; } template voidFreewillArray : memError() {cout<<"ERROR: allocatememory.\n"; < exit(0); } template voidFreewillArray : subError(void) {cout<<"ERROR: Subscriptoutofrange.\n"; exit(0); } template T&FreewillArray : operator[](constint&sub) ! {if(sub<0||sub>arraySize)subError(); returnaptr[sub]; } #endif // #include"" template classSortableArray: publicFreewillArray {public: ( SortableArray(ints): FreewillArray SortableArray(FreewillArray FreewillArray voidSelectionSort(); }; template voidSortableArray : SelectionSort()//选择排序 {inti,j,t,minIndex; for(i=0;i { minIndex=i; ~ for(j=i+1;j if(aptr[j] minIndex=j; if(minIndex! =i) {t=aptr[minIndex]; aptr[minIndex]=aptr[i]; aptr[i]=t; } } } — // #include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 习题 南航皮德常 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)