实验报告.docx

上传人:b****7 文档编号:8971394 上传时间:2023-02-02 格式:DOCX 页数:16 大小:36.04KB
下载 相关 举报
实验报告.docx_第1页
第1页 / 共16页
实验报告.docx_第2页
第2页 / 共16页
实验报告.docx_第3页
第3页 / 共16页
实验报告.docx_第4页
第4页 / 共16页
实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

实验报告.docx

《实验报告.docx》由会员分享,可在线阅读,更多相关《实验报告.docx(16页珍藏版)》请在冰豆网上搜索。

实验报告.docx

实验报告

实验报告

院系:

信息科学与工程学院班级:

计科1203

姓名:

\学号:

9.10有time类的设置函数返回错误的信息

类的定义

#ifndefTIME_H

#defineTIME_H

classTime

{

public:

Time(int=0,int=0,int=0);

voidsetTime(int,int,int);

voidsetHour(int);

voidsetMinute(int);

voidsetSecond(int);

intgetHour();

intgetMinute();

intgetSecond();

voidprintUniversal();

voidprintStandard();

voidtext();

private:

inthour;

intminute;

intsecond;

};

#endif

成员函数的实现

#include

usingstd:

:

cout;

usingstd:

:

endl;

#include

usingstd:

:

setfill;

usingstd:

:

setw;

#include"Time.h"

Time:

:

Time(inthr,intmin,intsec)

{

setTime(hr,min,sec);

}

voidTime:

:

setTime(inth,intm,ints)

{

setHour(h);

setMinute(m);

setSecond(s);

}

voidTime:

:

setHour(inth)

{

hour=h;

}

voidTime:

:

setMinute(intm)

{

minute=m;

}

voidTime:

:

setSecond(ints)

{

second=s;

}

intTime:

:

getHour(){

returnhour;

}

intTime:

:

getMinute()

{

returnminute;

}

intTime:

:

getSecond()

{

returnsecond;

}

voidTime:

:

text()

{

if(getHour()<0||getHour()>23)

cout<<"\nthetimeisERROR";

else

if(getMinute()<0||getMinute()>59)

cout<<"\ntheminuteisERROR";

else

if(getHour()<0||getHour()>59)

cout<<"\nthesecondisERROR";

else;

}

 

voidTime:

:

printUniversal()

{

cout<

(2)<

"

<

(2)<

"<

(2)<

text();

}

voidTime:

:

printStandard()

{

cout<<''<<((getHour()==0||getHour()==12)?

12:

getHour()%12)

<<":

"<

(2)<

<<":

"<

(2)<

"AM":

"PM");

text();

}

测试函数

#include

usingstd:

:

cout;

usingstd:

:

endl;

#include"Time.h"

intmain()

{

Timet1;

Timet2

(2);

Timet3(21,34);

Timet4(12,25,42);

Timet5(27,74,99);

cout<<"constructedwith:

\n\nt1:

allargumentsdefaulted\n";

t1.printUniversal();

cout<<"\n";

t1.printStandard();

cout<<"\n\nt2:

hourspecified;minuteandseconddefaulted\n";

t2.printUniversal();

cout<<"\n";

t2.printStandard();

cout<<"\n\nt3:

hourandminutespecified;seconddefaulted\n";

t3.printUniversal();

cout<<"\n";

t3.printStandard();

cout<<"\n\nt4:

hour,minuteandsecondspecified\n";

t4.printUniversal();

cout<<"\n";

t4.printStandard();

cout<<"\n\nt5:

allinvalidvaluesspecified\n";

t5.printUniversal();

cout<<"\n";

t5.printStandard();

cout<

return0;

}

9.14HugeInteger类

类的定义

#ifndefHUGEINTEGER_H

#defineHUGEINTEGER_H

classHugeInteger

{

public:

HugeInteger();

voidinput();

voidoutput();

voidadd(inta[]);

int*get();

voidisZero(inta[]);

intsubstract(inta[]);

private:

intm[40];

};

#endif

成员函数的实现

#include

usingstd:

:

cin;

usingstd:

:

cout;

usingstd:

:

endl;

#include"HugeInteger.h"

constintsize=40;

HugeInteger:

:

HugeInteger()

{

for(inti=0;i

m[i]=0;

}

voidHugeInteger:

:

input()

{

intk[size];

inti,j;

intnum=0;

for(i=0;i

k[i]=0;

cout<<"Entersomeshu(位数小于40且-1截止):

"<

for(i=0;i

{

cin>>k[i];

if(k[i]<0)

{

k[i]=0;

break;

}

num++;

}

for(i=0,j=size-num;j

m[j]=k[i];

}

}

voidHugeInteger:

:

output(){

for(inti=0;i

{

cout<

}

}

voidHugeInteger:

:

add(inta[]){

ints[size];

inti,j;

intb=0;

for(i=0;i

s[i]=0;

for(i=size-1;i>=size;i--){

s[i]=m[i]+a[i]+b;

if(s[i]>9){

s[i]=s[i]%10;

b=1;

}

else

b=0;

}

for(i=0;i

if(s[i]>0)

cout<

}

}

int*HugeInteger:

:

get(){

returnm;

}

intHugeInteger:

:

substract(inta[])

{

ints[size];

inti,j;

for(i=0;i

s[i]=0;

for(i=0;i

{

if(m[i]>a[i]){

for(i=size;i>=0;i--){

if(m[i]

m[i]=m[i]+10;

m[i-1]=m[i-1]-1;

}

s[i]=m[i]-a[i];

}

for(i=0;i

{

if(s[i]>0)

cout<

}

return1;

}

if(m[i]

for(i=size-1;i>=0;i--){

if(m[i]>a[i]){

a[i]=a[i]+10;

a[i-1]=a[i-1]-1;

}

s[i]=a[i]-m[i];

}

cout<<"-";

for(i=0;i

if(s[i]>0)

cout<

}

return-1;

}

if(m[i]=a[i])

{

for(i=0;i

cout<

return0;

}

}

}

voidHugeInteger:

:

isZero(inta[]){

for(inti=size-1;i>=0;i--)

{

if(a[i]!

=0)

{

cout<<"此数非零:

"<<"\n";

break;

}

else

//(a[i]==0)

{

cout<<"此数为零:

"<<"\n";

break;

}

}

}

测试函数

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

#include

usingstd:

:

setfill;

usingstd:

:

setw;

#include"HugeInteger.h"

boolisNoEqualTo(intn);

boolisEqualTo(intn);

boolisGreaterThan(intn);

boolisLessThan(intn);

boolisGreaterThanOrEqualTo(intn);

boolisLessThanOrEqualTo(intn);

intmain()

{

intn;

HugeIntegerf1;

HugeIntegerf2;

cout<<"f1的操作:

";

f1.input();

f1.output();

cout<

cout<<"f2的操作:

";

f2.input();

f2.output();

cout<

cout<<"相加的操作:

";

f1.add(f2.get());

cout<

cout<<"相减的操作:

";

n=f1.substract(f2.get());

cout<

f2.isZero(f2.get());

if(isEqualTo(n)==false)

cout<<"!

=";

else

cout<<"=";

cout<

if(isNoEqualTo(n)==false)

cout<<"!

=";

else

cout<<"=";

cout<

if(isGreaterThan(n)==false)

cout<<"!

>";

else

cout<<">";

cout<

if(isLessThan(n)==false)

cout<<"

";

else

cout<<"<";

cout<

if(isGreaterThanOrEqualTo(n)==false)

cout<<"!

>=";

else

cout<<">=";

cout<

if(isLessThanOrEqualTo(n)==false)

cout<<"!

<=";

else

cout<<"<=";

cout<

return0;

}

boolisEqualTo(intn)

{

if(n!

=0)

returnfalse;

else

returntrue;

}

boolisNoEqualTo(intn)

{

if(n!

=0)

returnfalse;

else

returntrue;

}

boolisGreaterThan(intn)

{

if(n!

=1)

returnfalse;

else

returntrue;

}

boolisLessThan(intn)

{

if(n!

=-1)

returnfalse;

else

returntrue;

}

boolisGreaterThanOrEqualTo(intn)

{if(n==-1)

returnfalse;

else

returntrue;

}

boolisLessThanOrEqualTo(intn)

{

if(n!

=1)

returnfalse;

else

returntrue;

}

 

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

当前位置:首页 > 解决方案 > 学习计划

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

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