实验C大学教程第10章实验报告.docx

上传人:b****2 文档编号:2158693 上传时间:2022-10-27 格式:DOCX 页数:13 大小:17.34KB
下载 相关 举报
实验C大学教程第10章实验报告.docx_第1页
第1页 / 共13页
实验C大学教程第10章实验报告.docx_第2页
第2页 / 共13页
实验C大学教程第10章实验报告.docx_第3页
第3页 / 共13页
实验C大学教程第10章实验报告.docx_第4页
第4页 / 共13页
实验C大学教程第10章实验报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验C大学教程第10章实验报告.docx

《实验C大学教程第10章实验报告.docx》由会员分享,可在线阅读,更多相关《实验C大学教程第10章实验报告.docx(13页珍藏版)》请在冰豆网上搜索。

实验C大学教程第10章实验报告.docx

实验C大学教程第10章实验报告

【关键字】实验

班级:

计科1203姓名:

日期:

2013.11.15学号:

实验1创建SavingAccount类

1.实验内容:

创建一个SavingAccount类。

使用一个static数据成员annualInterestRate保存每个存款者的年利率。

2.代码实现:

//SavingAccount.h

classSavingAccount

{

public:

SavingAccount(double);

staticvoidmodifyInterestRate(double);

doublecalculateMonthlyInterest();//计算月利息与余额

voidshow();//显示余额

private:

doublestaticannualInterestRate;

doublesavingsBalance;

};

//SavingAccount.cpp

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

usingstd:

:

fixed;

#include

usingstd:

:

setw;

usingstd:

:

setprecision;

#include"SavingAccount"

SavingAccount:

:

SavingAccount(doubleBalance)//传递余额参数

{

savingsBalance=Balance;

}

voidSavingAccount:

:

modifyInterestRate(doubleRate)//传递利率参数

{

annualInterestRate=Rate;

}

doubleSavingAccount:

:

calculateMonthlyInterest()

{

savingsBalance+=savingsBalance*(annualInterestRate/12);

returnsavingsBalance;

}

voidSavingAccount:

:

show()

{

cout<<"Thismonth'snewsavingsbalanceis:

";

cout<

(2);

cout<

}

//testSavingAccount.cpp

#include"SavingAccount.h"

doubleSavingAccount:

:

annualInterestRate=0.00;

intmain()

{

doublea,b;

SavingAccountsaver1(2000.00);

saver1.modifyInterestRate(0.03);

a=saver1.calculateMonthlyInterest();

saver1.show();

SavingAccountsaver2(3000.00);

saver2.modifyInterestRate(0.03);

b=saver2.calculateMonthlyInterest();

saver2.show();

SavingAccountsaver11(a);

saver11.modifyInterestRate(0.04);

saver11.calculateMonthlyInterest();

saver11.show();

SavingAccountsaver22(b);

saver22.modifyInterestRate(0.04);

saver22.calculateMonthlyInterest();

saver22.show();

return0;

}

3.执行结果:

实验2创建IntegerSet类

1.实验内容:

创建IntegerSet类,它的每个对象可存储0到100范围内的整数。

集合在内部表示为0和1的数组。

默认构造函数将集合初始化为所谓的“空集合”,提供另一个构造函数,它接受一个整数的数组以及该数组的大小,并使用该数组初始化集合对象。

2.代码实现:

//IntegerSet.h

#ifndefINTEGER_SET_H

#defineINTEGER_SET_H

classIntegerSet

{

public:

IntegerSet()//默认构造函数初始化为空集合

{

emptySet();

}

IntegerSet(int[],int);//构造函数传入一个数组初始化

IntegerSetunionOfSets(constIntegerSet&);//并集

IntegerSetintersectionOfSets(constIntegerSet&);//交集

voidemptySet();//设为空集合

voidinputSet();//输入数组及大小

voidinsertElement(int);

voiddeleteElement(int);

voidprintSet()const;

boolisEqualTo(constIntegerSet&)const;

private:

intset[101];

intvalidEntry(intx)const

{

return(x>=0&&x<=100);

}

};

#endif

//IntegerSet.cpp

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

cerr;

#include

usingstd:

:

setw;

#include"IntegerSet.h"

IntegerSet:

:

IntegerSet(intarray[],intsize)

{

emptySet();//初始化为空集合

for(inti=0;i

insertElement(array[i]);//接受传入的数组和数组大小

}

voidIntegerSet:

:

emptySet()

{

for(inti=0;i<101;i++)

set[i]=0;

}

voidIntegerSet:

:

inputSet()

{

intnumber;

do

{

cout<<"Enteranelement(-1toend):

";

cin>>number;

if(validEntry(number))

set[number]=1;

elseif(number!

=-1)//数值为-1时,停止输入

cerr<<"InvalidElement\n";

}while(number!

=-1);

cout<<"Entrycomplete\n";

}

voidIntegerSet:

:

printSet()const

{

intx=1;

boolempty=true;

cout<<'{';

for(intj=0;j<101;j++)

{

if(set[j])

{

cout<

"\n":

"");

empty=false;

x++;

}

}

if(empty)

cout<

cout<

}

IntegerSetIntegerSet:

:

unionOfSets(constIntegerSet&r)

{

IntegerSettemp;

for(intn=0;n<101;n++)

if(set[n]==1||r.set[n]==1)

temp.set[n]=1;

returntemp;

}

IntegerSetIntegerSet:

:

intersectionOfSets(constIntegerSet&p)

{

IntegerSettemp;

for(inti=0;i<101;i++)

if(set[i]==1&&p.set[i]==1)

temp.set[i]=1;

else

temp.set[i]=0;

returntemp;

}

voidIntegerSet:

:

insertElement(intk)

{

if(validEntry(k))

set[k]=1;

else

cerr<<"Invalidinsertattempted!

\n";

}

voidIntegerSet:

:

deleteElement(intnumber)

{

for(inti=0;i<101;i++)

if(i==number)

set[i]=0;

}

boolIntegerSet:

:

isEqualTo(constIntegerSet&r)const

{

for(intj=0;j<101;j++)

if(set[j]!

=r.set[j])

returnfalse;

returntrue;

}

//testIntegerSet.cpp

#include

usingstd:

:

cout;

usingstd:

:

endl;

#include

#include"IntegerSet.h"

intmain()

{

IntegerSeta;

IntegerSetb;

IntegerSetc;

IntegerSetd;

cout<<"EntersetA:

\n";

a.inputSet();

cout<<"\nEntersetB:

\n";

b.inputSet();

system("pause");

system("cls");

c=a.unionOfSets(b);

cout<<"\nUnionofAandBis:

\n";

c.printSet();

d=a.intersectionOfSets(b);

cout<<"IntersectionofAandBis:

\n";

d.printSet();

if(a.isEqualTo(b))

cout<<"SetAisequaltoset

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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