C++作业6.docx

上传人:b****1 文档编号:2191196 上传时间:2023-05-02 格式:DOCX 页数:14 大小:119.49KB
下载 相关 举报
C++作业6.docx_第1页
第1页 / 共14页
C++作业6.docx_第2页
第2页 / 共14页
C++作业6.docx_第3页
第3页 / 共14页
C++作业6.docx_第4页
第4页 / 共14页
C++作业6.docx_第5页
第5页 / 共14页
C++作业6.docx_第6页
第6页 / 共14页
C++作业6.docx_第7页
第7页 / 共14页
C++作业6.docx_第8页
第8页 / 共14页
C++作业6.docx_第9页
第9页 / 共14页
C++作业6.docx_第10页
第10页 / 共14页
C++作业6.docx_第11页
第11页 / 共14页
C++作业6.docx_第12页
第12页 / 共14页
C++作业6.docx_第13页
第13页 / 共14页
C++作业6.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++作业6.docx

《C++作业6.docx》由会员分享,可在线阅读,更多相关《C++作业6.docx(14页珍藏版)》请在冰点文库上搜索。

C++作业6.docx

C++作业6

1、构建一个复数Complex类,其包含realPart实部和imaginaryPart虚部,提供构造函数可以初始化复数,同时提供实现复数加、复数减、复数乘和复数除的成员函数,并能将相应结果显示出来。

测试你所设计的复数类。

Complex.h

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

classComplex

{

public:

Complex(double,double,double,double);

voidcomplexAdd();//加

voidcomplexSub();//减

voidcomplexMul();//乘

voidcomplexDiv();//除

private:

doublerealPart1,realPart2;//记录实部

doubleimaginaryPart1,imaginaryPart2;//记录虚部

};

Complex.cpp

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

#include

usingstd:

:

setprecision;

#include"Complex.h"

Complex:

:

Complex(doubler1,doublei1,doubler2,doublei2)//将私有数据结构成员初始化

{

realPart1=r1;

realPart2=r2;

imaginaryPart1=i1;

imaginaryPart2=i2;

}

voidComplex:

:

complexAdd()

{

/*实部与实部相加,虚部与虚部相加

cout<<"("<

<<"+"<<"("<

<<"="<

//将上述代码格式稍作调整,在负数外面加括号

cout<<"("<

if(imaginaryPart1<0)

cout<<"("<

else

cout<

cout<<")+(";

if(realPart2<0)

cout<<"("<

else

cout<

if(imaginaryPart2<0)

cout<<"("<

else

cout<

cout<<")="<

if(imaginaryPart1+imaginaryPart2<0)

cout<<"("<

else

cout<

}

voidComplex:

:

complexSub()

{

/*实部与实部相减,虚部与虚部相减

cout<<"("<

<<")-("<

<<")="<

//将上述代码格式稍作调整,在负数外加上括号

cout<<"("<

if(imaginaryPart1<0)

cout<<"("<

else

cout<

cout<<")-(";

if(realPart2<0)

cout<<"("<

else

cout<

if(imaginaryPart2<0)

cout<<"("<

else

cout<

cout<<")="<

if(imaginaryPart1-imaginaryPart2<0)

cout<<"("<

else

cout<

}

voidComplex:

:

complexMul()

{

/*二项式乘法

cout<<"("<

<<"*"<<"("<

<<"="<

<<"+"<

//将上述代码格式稍作调整,在负数前加上括号

cout<<"("<

if(imaginaryPart1<0)

cout<<"("<

else

cout<

cout<<")*("<

if(imaginaryPart2<0)

cout<<"("<

else

cout<

cout<<")="<

if(realPart1*imaginaryPart2+realPart2*imaginaryPart1<0)

cout<<"("<

else

cout<

}

voidComplex:

:

complexDiv()

{

if(realPart2==0&&imaginaryPart2==0)

{

cout<<"分母不能为0!

"<

return;

}

/*乘以除数的共轭复数

cout<<"("<

<<"/"<<"("<

<<"="<<(realPart1*realPart2+imaginaryPart1*imaginaryPart2)/(realPart2*realPart2+imaginaryPart2*imaginaryPart2)

<<"+"<<(-realPart1*imaginaryPart2+realPart2*imaginaryPart1)/(realPart2*realPart2+imaginaryPart2*imaginaryPart2)<<"i"<

//将上述格式稍作调整,在负数外面加括号

cout<<"("<

if(imaginaryPart1<0)

cout<<"("<

else

cout<

cout<<")/("<

if(imaginaryPart2<0)

cout<<"("<

else

cout<

cout<<")="<

(2)<<(realPart1*realPart2+imaginaryPart1*imaginaryPart2)/(realPart2*realPart2+imaginaryPart2*imaginaryPart2)

<<"+";

if(-realPart1*imaginaryPart2+realPart2*imaginaryPart1<0)

cout<<"("<

(2)<<(-realPart1*imaginaryPart2+realPart2*imaginaryPart1)/(realPart2*realPart2+imaginaryPart2*imaginaryPart2)<<")"<<"i"<

else

cout<

(2)<<(-realPart1*imaginaryPart2+realPart2*imaginaryPart1)/(realPart2*realPart2+imaginaryPart2*imaginaryPart2)<<"i"<

}

test_Complex.cpp

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

#include"Complex.h"

intmain()

{

doubler1,r2,i1,i2;

cout<<"请输入第一个复数的实部和虚部:

"<

cin>>r1>>i1;

cout<<"请输入第二个复数的实部和虚部:

"<

cin>>r2>>i2;

ComplexC(r1,i1,r2,i2);

C.complexAdd();

C.complexSub();

C.complexMul();

C.complexDiv();

return0;

}

2、对本讲中的Time类,为其增加一个tick成员函数,其作用是将存放在Time对象中的时间递增1秒。

应确保你的Time对象始终处于可靠状态。

编写测试函数,测试你所修改后的Time类。

特别留意:

Ø递增到下一分

Ø递增到下一小时

Ø递增到下一天

Time.h

//DeclarationofclassTime.

//MemberfunctionsaredefinedinTime.cpp

//preventmultipleinclusionsofheaderfile

#ifndefTIME_H

#defineTIME_H

//Timeclassdefinition

classTime

{

public:

Time();//constructor

voidsetTime(int,int,int);//sethour,minuteandsecond

voidprintUniversal();//printtimeinuniversal-timeformat

voidprintStandard();//printtimeinstandard-timeformat

voidtick(int);

private:

inthour;//0-23(24-hourclockformat)

intminute;//0-59

intsecond;//0-59

};//endclassTime

#endif

Time.cpp

//Member-functiondefinitionsforclassTime.

#include

usingstd:

:

cout;

#include

usingstd:

:

setfill;

usingstd:

:

setw;

#include"Time.h"//includedefinitionofclassTimefromTime.h

//Timeconstructorinitializeseachdatamembertozero.

//EnsuresallTimeobjectsstartinaconsistentstate.

Time:

:

Time()

{

hour=minute=second=0;

}//endTimeconstructor

//setnewTimevalueusinguniversaltime;ensurethat

//thedataremainsconsistentbysettinginvalidvaluestozero

voidTime:

:

setTime(inth,intm,ints)

{

hour=h;//validatehour

minute=m;//validateminute

second=s;//validatesecond

}//endfunctionsetTime

//printTimeinuniversal-timeformat(HH:

MM:

SS)

voidTime:

:

printUniversal()

{

cout<

(2)<

"

<

(2)<

"<

(2)<

}//endfunctionprintUniversal

//printTimeinstandard-timeformat(HH:

MM:

SSAMorPM)

voidTime:

:

printStandard()

{

cout<<((hour==0||hour==12)?

12:

hour%12)<<":

"

<

(2)<

"<

(2)

<

"AM":

"PM");

}//endfunctionprintStandard

voidTime:

:

tick(intt)//将增加的秒数加到此刻的时间上

{

second=second+t;

if(second>=60)

{

minute=minute+second/60;

second=second%60;

}

if(minute>=60)

{

hour=hour+minute/60;

minute=minute%60;

}

if(hour>=24)

{

cout<<"\nwelcometoanotherday!

";

hour=hour%24;

}

if(second<0)

{

minute=minute+second/60-1;

second=second%60+60;

}

if(minute<0)

{

hour=hour+minute/60-1;

minute=minute%60+60;

}

if(hour<0)

{

cout<<"\nwelcometoyesterday!

";

hour=hour%24+24;

}

}

test_Time.cpp

//ProgramtotestclassTime.

//NOTE:

ThisfilemustbecompiledwithTime.cpp.

#include

usingstd:

:

cin;

usingstd:

:

cout;

usingstd:

:

endl;

#include"Time.h"//includedefinitionofclassTimefromTime.h

intmain()

{

Timet;//instantiateobjecttofclassTime

//outputTimeobjectt'sinitialvalues

cout<<"Theinitialuniversaltimeis";

t.printUniversal();//

cout<<"\nTheinitialstandardtimeis";

t.printStandard();//

inthr=-1,min=-1,sec=-1,i;

while(hr<0||hr>=24||min<0||min>60||sec<0||sec>60)

{

cout<<"\n请输入现在的时间:

(24小时制)"<

cout<<"请输入小时:

"<

cin>>hr;

cout<<"请输入分钟:

"<

cin>>min;

cout<<"请输入秒钟:

"<

cin>>sec;

}

t.setTime(hr,min,sec);//changetime

//outputTimeobjectt'snewvalues

cout<<"\n\nUniversaltimeaftersetTimeis";

t.printUniversal();//

cout<<"\nStandardtimeaftersetTimeis";

t.printStandard();

cout<

cout<<"\n请输入你想增加的秒数:

"<

cin>>i;

t.tick(i);

//outputTimeobjectt'snewvalues

cout<<"\n\nUniversaltimeafterTimetickis";

t.printUniversal();//

cout<<"\nStandardtimeafterTimetickis";

t.printStandard();

cout<

return0;

}//endmain

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2