ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:18.11KB ,
资源ID:6605160      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6605160.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象A面向对象习题南航皮德常资料.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象A面向对象习题南航皮德常资料.docx

1、面向对象A面向对象习题南航皮德常资料第8章习题:8-1、设计Date类,输出合法日期。#include using namespace std;12-25-2004.0) length=count; fltData=new floatlength; else length=1;; fltData=new floatlength; for(int i=0;ilength;i+) fltDatai=0;#.endl; delete fltData; length=0;.endl;% DataArray Obj(3); cout给DataArray对象赋值:endl; for(int i=0;i3;

2、i+) 5.0fetHours(tHour) break;) else cout您输入的数据不正确,请重新输入!endl; etPayment()元endl;,8-5、设计InvoiceItem类和商品销售类,完成如下功能:1)询问客户购买的商品名称和数量;2)从InvoiceItem对象获得每个商品的成本价;:3)在成本价基础上加上30利润,得到每个商品的单价;4)将商品单价与购买数量相乘,得到商品小计;5)将商品小计乘以6,得到商品的零售税;6)将商品小计加上零售税得到该商品的销售额;7)显示客户本次交易购买商品的小计、零售税和销售额。有效性检验:商品数量不能为负数。#include us

3、ing namespace std;class InvoiceItem char *desc; int units; float cost;public: InvoiceItem(char *d, int u=0, float c=0) desc = new char strlen(d)+1;: strcpy(desc, d); units = u; cost = c; InvoiceItem( ) delete desc; units = 0; cost = 0; % char *getDesc( ) return desc; int getUnits( ) return units; fl

4、oat getCost( ) return cost; ;class Sale float price, salesum, saletax, totalsum; int buynum;public: bool setnum(int, int); void calcSale(float p) price=p; 0.5f1.2f2.5fSaleetDesc( )t数量:; cout Inventoryi.getUnits( )t成本价:; cout Inventoryi.getCost( )元endl; etDesc(),name)=0) index=i;& if(index!=-1) break

5、; else cout您输入的商品不存在,请重新输入!endl; cout请输入购买数量: ; while(true)num; if(num,Inventoryindex.getUnits() break; else cout您输入的数量不正确,请重新输入!endl; , etCost()*; etDesc()endl; cout本次购买的商品数量:()endl; cout本次购买的商品单价:()元endl; cout本次购买的商品小计:()元endl; cout本次购买的零售税:()元endl; cout本次购买的销售额:()元endl;第9章习题:)9-1、定义NumDays类,功能是将以

6、小时(hour)为单位的工作时间转换为天数(day)。构造函数具有一个代表工作小时的参数,其他函数成员实现小时和天的存储和检索。同时,该类需重载、运算符。9-2、设计TimeOff类,用于计算雇员生病、休假和不支付报酬的时间。9-3、采用TimeOff类定义一个对象。要求用户输入某雇员已经工作的月数(months),然后采用TimeOff类对象计算并显示雇员因病休假和正常休假的最多天数。注意:雇员每月可以有12小时的带薪休假和8小时的生病休假。etHours() cout该月超过标准的生病休假小时数:().getHours()小时!n;: (hours); (offObj); cout请输入第

7、ihours; if(hours().getHours() cout该月超过标准的带薪休假小时数:().getHours()小时!n; (hours); (offObj); cout请输入第ihours;$ if(hours().getHours() cout该月超过标准的不带薪休假小时数:().getHours()小时!n; (hours); (offObj); * cout()的休假天数统计如下:n; cout因病休假的天数为:t().getDays()endl; cout带薪休假的天数为:t().getDays()endl; cout不带薪休假的天数为:t().getDays()endl

8、;第10章习题:10-2、设计Employee类,其数据成员能保存如下信息:雇员姓名:char *指针;雇员编号:格式为XXX-L,X是09之间的数字,L是AM之间的字母;受雇日期:向该类增加构造函数、析构函数和其他相关函数成员。设计Employee类的子类EmployeePay,其具有如下数据成员:月工资:double型变量;部门号:int型变量;【编写完整的程序,要求用户从键盘输入雇员信息,然后在屏幕上显示这些信息。.endl; Circle myCircle(0,0,; coutcenterX=()endl; coutcenterY=()endl; coutradius=endl; co

9、utArea=()endlendl; .endl; Rectangle myRectangle(12,15); coutwidth=()endl;) coutlength=()endl; coutArea=()endlendl;10-9、编写具有排序功能的类模板SortableArray,其是FreewillArray类模板的子类,具有一个函数成员,实现对数组元素的升序排列。编写一个完整的程序测试该模板。)template FreewillArray :FreewillArray( int s ) arraySize = s; aptr = new T s; if (aptr = 0) mem

10、Error(); for (int count = 0; count arraySize; count+) *(aptr + count) = 0;】template FreewillArray:FreewillArray ( const FreewillArray &obj ) arraySize = ; aptr = new T arraySize; if (aptr = 0) memError(); for(int count = 0; count arraySize; count+) *(aptr + count) = * + count);/template FreewillArra

11、y:FreewillArray( ) if (arraySize 0) delete aptr;)template void FreewillArray:memError( ) cout ERROR: allocate memory.n;$ exit(0);template void FreewillArray:subError(void)( cout ERROR: Subscript out of range.n; exit(0);template T &FreewillArray:operator (const int &sub) if (sub arraySize) subError()

12、; return aptrsub;#endif/#includetemplate class SortableArray : public FreewillArraypublic: SortableArray(int s) : FreewillArray ( s ) SortableArray(FreewillArray &obj) : FreewillArray(obj) void SelectionSort();template void SortableArray:SelectionSort() / 选择排序 int i, j, t, minIndex; for(i=0; iarrayS

13、ize-1; i+) minIndex=i; for(j=i+1; jarraySize; j+) if(aptrjaptrminIndex) minIndex=j; if( minIndex != i ) t=aptrminIndex; * aptrminIndex=aptri; aptri=t; )/#includeusing namespace std;#includevoid main(void) FreewillArray intTable(10); SortableArray sortTable(intTable); int i,x; for (i = 0; i 10; i+) ,

14、 cout请输入第i+1x; sortTablei = x; cout排序前:n;¥ for (i = 0; i 10; i+) cout sortTablei ; cout endl; cout排序后:n; ();* for (i = 0; i 10; i+) cout sortTablei ;第11章习题:11-1、Date类异常。#include using namespace std;class Datepublic:【 bool setDate(const int,const int,const int); void display(void); char * getMonth(co

15、nst int); class InvalidDay ; /异常类 class InvalidMonth ; /异常类private: int year;/存储日期的年份 int month; /存储日期的月份 int day; /存储日期的天数;/设置成员变量 /参数:mm:月份。dd:天数。yy:年份。/返回值:如果成功赋值则返回true,否则返回false/char* Date:getMonth(const int m ) if(m=1)* return January; else if(m=2) return February; else if(m=3) return March; e

16、lse if(m=4) return April; else if(m=5) return May; else if(m=6)) return June; else if(m=7) return July; else if(m=8) return August; else if(m=9) return September; else if(m=10) return October; else if(m=11)& return November; else return December;/设置成员变量 /参数:mm:月份。dd:天数。yy:年份。/返回值:如果成功赋值则返回true,否则返回f

17、alse/bool Date:setDate(const int mm,const int dd,const int yy) if(mm12) throw InvalidMonth(); /抛出异常 if(dd31) throw InvalidDay(); /抛出异常 year=yy; month=mm; day=dd; return true;/在屏幕上显示日期/void Date:display(void) / 按照12-25-2004的形式输出日期 coutmonth- day- yearn; / 按照December 25,2004的形式输出日期 coutgetMonth(month)

18、 day, yearn; / 按照25 December 2004的形式输出日期 coutday getMonth(month) yearn;void main(void) Date myDate;/存储日期 int year;/临时存储年份 int month;/临时存储月份 int day;/临时存储天数 try coutyear; coutmonth; coutday; (month,day,year); cout您输入的日期是:endl; (); coutendlendl; catch(Date:InvalidDay) cout您输入的日期天数错误!nendl; catch(Date:InvalidMonth) cout您输入的日期月份错误!nendl;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1