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

上传人:b****3 文档编号:15970063 上传时间:2022-11-17 格式:DOCX 页数:12 大小:18.01KB
下载 相关 举报
面向对象A面向对象习题南航皮德常资料文档格式.docx_第1页
第1页 / 共12页
面向对象A面向对象习题南航皮德常资料文档格式.docx_第2页
第2页 / 共12页
面向对象A面向对象习题南航皮德常资料文档格式.docx_第3页
第3页 / 共12页
面向对象A面向对象习题南航皮德常资料文档格式.docx_第4页
第4页 / 共12页
面向对象A面向对象习题南航皮德常资料文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

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

《面向对象A面向对象习题南航皮德常资料文档格式.docx》由会员分享,可在线阅读,更多相关《面向对象A面向对象习题南航皮德常资料文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

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

length=0;

DataArrayObj(3);

cout<

"

给DataArray对象赋值:

3;

{5.0fetHours(tHour))

break;

else

cout<

您输入的数据不正确,请重新输入!

}

etPayment()<

元"

>

8-5、设计InvoiceItem类和商品销售类,完成如下功能:

1)询问客户购买的商品名称和数量;

2)从InvoiceItem对象获得每个商品的成本价;

3)在成本价基础上加上30%利润,得到每个商品的单价;

4)将商品单价与购买数量相乘,得到商品小计;

5)将商品小计乘以6%,得到商品的零售税;

6)将商品小计加上零售税得到该商品的销售额;

7)显示客户本次交易购买商品的小计、零售税和销售额。

^

有效性检验:

商品数量不能为负数。

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;

boolsetnum(int,int);

voidcalcSale(floatp)

{price=p;

0.5f1.2f2.5fSaleetDesc()<

\t数量:

;

cout<

Inventory[i].getUnits()<

\t成本价:

Inventory[i].getCost()<

}etDesc(),name)==0)

index=i;

!

if(index!

=-1)break;

elsecout<

您输入的商品不存在,请重新输入!

请输入购买数量:

"

while(true)

{intnum;

cin>

num;

if(num,Inventory[index].getUnits()))break;

您输入的数量不正确,请重新输入!

etCost()*;

etDesc()<

本次购买的商品数量:

()<

本次购买的商品单价:

本次购买的商品小计:

本次购买的零售税:

本次购买的销售额:

第9章习题:

?

9-1、定义NumDays类,功能是将以小时(hour)为单位的工作时间转换为天数(day)。

构造函数具有一个代表工作小时的参数,其他函数成员实现小时和天的存储和检索。

同时,该类需重载+、-、++、――运算符。

9-2、设计TimeOff类,用于计算雇员生病、休假和不支付报酬的时间。

9-3、采用TimeOff类定义一个对象。

要求用户输入某雇员已经工作的月数(months),然后采用TimeOff类对象计算并显示雇员因病休假和正常休假的最多天数。

注意:

雇员每月可以有12小时的带薪休假和8小时的生病休假。

etHours())

cout<

该月超过标准的生病休假小时数:

().getHours()<

小时!

\n"

(hours);

(offObj);

cout<

请输入第"

个月带薪休假的累计小时数:

hours;

if(hours>

().getHours())

该月超过标准的带薪休假小时数:

个月不带薪休假的累计小时数:

该月超过标准的不带薪休假小时数:

&

的休假天数统计如下:

因病休假的天数为:

\t"

().getDays()<

带薪休假的天数为:

不带薪休假的天数为:

第10章习题:

10-2、设计Employee类,其数据成员能保存如下信息:

雇员姓名:

char*指针;

雇员编号:

格式为XXX-L,X是0~9之间的数字,L是A~M之间的字母;

~

受雇日期:

向该类增加构造函数、析构函数和其他相关函数成员。

设计Employee类的子类EmployeePay,其具有如下数据成员:

月工资:

double型变量;

部门号:

int型变量;

编写完整的程序,要求用户从键盘输入雇员信息,然后在屏幕上显示这些信息。

CirclemyCircle(0,0,;

centerX="

centerY="

.

radius="

Area="

endl<

."

RectanglemyRectangle(12,15);

width="

length="

10-9、编写具有排序功能的类模板SortableArray,其是FreewillArray类模板的子类,具有一个函数成员,实现对数组元素的升序排列。

编写一个完整的程序测试该模板。

template<

classT>

FreewillArray<

T>

:

FreewillArray(ints)

arraySize=s;

aptr=newT[s];

if(aptr==0)memError();

for(intcount=0;

count<

arraySize;

count++)

*(aptr+count)=0;

]

classT>

FreewillArray<

FreewillArray(

constFreewillArray&

obj)

arraySize=;

aptr=newT[arraySize];

for(intcount=0;

*(aptr+count)=*+count);

~FreewillArray()

{if(arraySize>

0)

delete[]aptr;

voidFreewillArray<

memError()

{cout<

ERROR:

allocatememory.\n"

exit(0);

subError(void)

Subscriptoutofrange.\n"

T&

operator[](constint&

sub)

{if(sub<

0||sub>

arraySize)subError();

returnaptr[sub];

#endif

//

#include"

classSortableArray:

publicFreewillArray<

{public:

SortableArray(ints):

FreewillArray<

T>

(s){}

SortableArray(FreewillArray<

&

obj):

FreewillArray<

(obj){}

voidSelectionSort();

voidSortableArray<

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<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

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

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