第八、九章习题(截取讲课需要的).doc_第1页
第八、九章习题(截取讲课需要的).doc_第2页
第八、九章习题(截取讲课需要的).doc_第3页
第八、九章习题(截取讲课需要的).doc_第4页
第八、九章习题(截取讲课需要的).doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8-3 写出下列程序运行后的输出结果。1、#include #include class RMBint yuan, jiao, fen;void Norm()if(fen 9)jiao += fen/10;fen %= 10;if(jiao 9)yuan += jiao/10;jiao %= 10;void Error()coutdata not negative!endl;exit(1);public:RMB(int a=0, int b=0, int c=0)if(a0 | b0 | c0) Error();yuan = a;jiao = b;fen = c;Norm();void SetValume(int a=0, int b=0, int c=0)if(a0 | b0 | c0) Error();yuan = a;jiao = b;fen = c;Norm();void Output()coutyuan yuan,jiao jiao,fen fen= r.fen)fen -= r.fen;elseError();Norm();jiao = jiao + yuan*10;yuan = 0;if(jiao = r.jiao)jiao -= r.jiao;elseError();Norm();if(yuan = r.yuan)yuan -= r.yuan;elseError();Norm();return * this;RMB& operator * (int n)if(n0) Error();fen *= n;jiao *= n;yuan *= n;Norm();return * this;void main()RMB a, b(4,5,9), c, d(b), e;a.SetValume(2,8,5);c+a;c+b;d-a;e = d;e*3;a.Output();b.Output();c.Output();d.Output();e.Output();运行结果:2 yuan, 8 jiao, 5 fen4 yuan, 5 jiao, 9 fen7 yuan, 4 jiao, 4 fen1 yuan, 7 jiao, 4 fen5 yuan, 2 jiao, 2 fen3、(构造函数调用顺序:父类、成员变量、自身)#includeclass AXint x;public:AX(int xx=0)coutAX constructor.endl;AX()coutAX destructor.endl;void Output()coutx ;int Get() return x;class BX:public AXint y;AX z;public:BX(int xx=0, int yy=0): AX(xx), y(yy), z(xx+yy)coutBX constructor.endl;BX()coutBX destructor.end;void Output()AX:Output();coutGet() ;couty z.Get()endl;void main()BX a(5), b(10,20);a.Output();b.Output();运行结果:AX constructor.AX constructor.BX constructor.AX constructor.AX constructor.BX constructor.5 5 0 510 10 20 30BX destructor.AX destructor.AX destructor.AX destructor.AX destructor.4、#includeclass AYprotected:int a,b;public:AY(int aa=0, int bb=0)a=aa;b=bb;virtual void Computer()couta+b=a+bendl;class BY:public AYpublic:BY(int aa=0, int bb=0):AY(aa, bb) void Compute()couta-b=a-bendl;class CY:public BYpublic:CY(int aa=0, int bb=0):BY(aa, bb) void Compute()couta*b=a*bendl;class DY:public AYpublic:DY(int da=0, int db=0):AY(da, db)void Compute()if(b!=0)couta/b=a/bendl;elsecoutdivisor is zero!endl;void main()int n=10, m=5;AY ay(n,m);BY by(n,m);CY cy(n,m);DY dy(n,m);AY * a4=&ay, &by, &cy, &dy;for(int i=0; iCompute();AY &ax = cy;ax.Compute();AY aa=cy;aa.Compute();运行结果:10+5=1510-5=510*5=5010/5=210*5=5010+5=155、#include#include#includeconst int MaxSize=20;struct AAchar a10;int b;int operator(AA& x)return (bx.b)?1:0;int operator(AA& x)return (bx.b)?1:0;void operator+=(AA& x)b += x.b;float operator/(int n)return float(b)/n;ostream& operator(ostream& ostr, AA& x)ostrx.a x.b;return ostr;templateclass ListDataType listMaxSize;int n;public:List()n=0;List(DataType a, int);void OutMax();void OutMin();void OutMean();templateList:List(DataType a, int nn)if(nnMaxSize)coutthe valume of n not correct!endl;exit(1);n=nn;for(int i=0; in; i+) Listi=ai;templatevoid List:OutMax()int k=0;for(int i=1; ilistk) k=i;coutMaximum:listkendl;templatevoid List:OutMin()int k=0;for(int i=1; in; i+)if(listilistk) k=i;coutMinimum:listkendl;templatevoid List:OutMean()DataType s=list0;for(int i=1; in; i+) s+=listi;coutMean:s/nendl;void main()int a16 = 4,7,6,2,5,9;AA a24 = xxk,46, wr,44, nch,39, shyf,48;List b1(a1, 6);b1.OutMax();b1.OutMin();b1.OutMean();List b2(a2,4);b2.OutMax();b2.OutMin();b2.OutMean();运行结果:Maximum: 9Minimum: 2Mean: 5Maximum: shyf 48Minimum: nch 39Mean: 44.259-3 按照下面每个题目的要求编写出相应的函数1、利用一个文本文件保存100以内的所有素数。void Prime (char * fname)ofstream fs(fname);fs2 ;for(int i = 3; i100; i+=2)int k = int(sqrt(i);for(int j=2; j k)/表明i是一个素数fsi ;fs.close();2、利用一个二进制文件保存20个100以内的随机整数,要求保存的所有值各不相同。void Random(char * fname)int a20;int x;ofstream fs(fname, ios:binary);for(int i=0; i20; i+)while(i)x = rand() % 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论