面向对象A面向对象习题南航皮德常资料文档格式.docx
- 文档编号:15970063
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:12
- 大小:18.01KB
面向对象A面向对象习题南航皮德常资料文档格式.docx
《面向对象A面向对象习题南航皮德常资料文档格式.docx》由会员分享,可在线阅读,更多相关《面向对象A面向对象习题南航皮德常资料文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
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<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 习题 南航皮德常 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)