实验报告.docx
《实验报告.docx》由会员分享,可在线阅读,更多相关《实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
![实验报告.docx](https://file1.bdocx.com/fileroot1/2023-2/2/85395965-8df4-4874-b356-38101d1dc680/85395965-8df4-4874-b356-38101d1dc6801.gif)
实验报告
实验报告
院系:
信息科学与工程学院班级:
计科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;im[i]=0;
}
voidHugeInteger:
:
input()
{
intk[size];
inti,j;
intnum=0;
for(i=0;ik[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;jm[j]=k[i];
}
}
voidHugeInteger:
:
output(){
for(inti=0;i{
cout<}
}
voidHugeInteger:
:
add(inta[]){
ints[size];
inti,j;
intb=0;
for(i=0;is[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;iif(s[i]>0)
cout<
}
}
int*HugeInteger:
:
get(){
returnm;
}
intHugeInteger:
:
substract(inta[])
{
ints[size];
inti,j;
for(i=0;is[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;iif(s[i]>0)
cout<
}
return-1;
}
if(m[i]=a[i])
{
for(i=0;icout<
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;
}