欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    面向对象程序设计试卷C++实验报告.doc

    • 资源ID:1077037       资源大小:703.50KB        全文页数:89页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象程序设计试卷C++实验报告.doc

    1、四川师范大学计算机学院实 验 报 告 册院系名称: 计算机科学学院 课程名称: C+语言程序设计 实验学期 2013 年至 2014 年 第 一 学期专业班级: 计算机科学与技术2012级1班 姓名: 李玄基 学号: 2012110121指导教师: 杨军 实验最终成绩: 面向对象程序设计实验教学大纲实验学时:32实验个数:13实验学分:1课程性质:专业必修课适用专业:软件工程 计算机等教材及参考书:1.C+语言程序设计习题与实验指导,郑莉、傅仕星编著,北京:华大学出版社,20042.C+语言程序设计(第三版),郑莉、董渊编著,北京:清华大学出版社,2005大纲执笔人:杨军大纲审定人:刘芳实验课

    2、的性质与任务本课程实验大纲是面向计算机专业学生开设的C+程序设计实验课计划指导大纲,是依据面向对象程序设计课程教学计划指导大纲编制。本课程主要讲述了利用C+进行程序设计的思想和方法,既有面向过程和面向对象的程序设计的理论知识,又包括极强的实践应用能力的培养。本实验大纲力求结合该课程教学计划大纲的相应内容,由浅入深的指导学生了解和掌握如何利用C+程序设计语言进行程序设计,提高学生的动手能力,做到理论和实践相结合,培养学生理解,分析程序,编写,调试程序的能力,使之能把程序设计应用到今后的专业学习中。实验课程目的与要求实验目的:通过本课程的学习,使学生掌握面向过程的程序设计思想和编程思路,初步掌握面

    3、向对象的程序设计思想,学会调试程序,能独立编写实用的小型程序。实验要求:学生应该自始至终贯彻课程中所介绍的程序设计风格,养成良好的编程习惯;应独立完成所布置习题。为保证尽量在统一安排的上机时间内编译运行通过程序,学生应事先设计好程序。实验项目及内容提要面向对象程序设计实验课程序号实验项目编号实验名称学时必做选做学分数实验类型内容提要基本操作验证综合设计1一Visual C+开发环境入门2熟悉VC+开发环境2二C+简单程序设计4基本算法结构3三函数的应用2函数设计、模板函数4四类与对象6类的设计与使用5五C+程序的结构2作用域与生存期,静态成员6六数组、指针与字符串4三种常见编程元素的使用7七继

    4、承与派生6派生类的设计与使用8八多态性2运算符重载、动态多态9九群体类和群体数据的组织4群体类的设计10十泛型程序设计与C+标准模板库2STL库的使用11十一流内库与输入、输出2常用输入输出方法12十二异常处理2异常处理机制的设计13十三Windows应用程序框架2VC开发Windows程序方法实验内容安排: 实验一 Visual C+6.0开发环境应用入门1)使用Visual C+来建立一个非图形化的标准C+程序,编译、运行教材中的例3-3,用公式法求解PI的数值,并尝试利用其他方法求解并获得相同的结果。=16arctan(1/5)-4arctan(1/239)(arctan(x)=x-x/

    5、3+x5/5-x7/7+)求=?1.1 实验代码: / one get !#include#includeusing namespace std;double arctan( double x )double sqr = x * x;double e = x;double r = 0;int i = 1;while( e/i pow( 10.0,-18 ) )double f = e/i;r = ( i%4 = 1) ? r+f : r-f;e = e * sqr;i += 2;return r;int main( void )double a = 16.0 * arctan( 1/5.0 )

    6、;double b = 4.0 * arctan( 1/239.0 );/ 注意整数相除结果取整,参数需要写成1/5.0,1/239.0 cout =a - bendl;return 0;1.2 实验截图: 实验二 C+简单程序设计实验1)给定一个字符变量输出其二进制形式。例如char a=a; 其二进制为01100001。1.1实验代码:/ 将各种类型的数据转化成二进制表示(字符型(1个字节),整形(2个,4个字节),浮点型(4个,8个)/ c+支持函数重载,也就是函数名可以重复使用,然后就是通过函数参数的类型以及个数的不同来区别/ c+中有函数的形参默认/ c+支持内联函数#include

    7、int ShowBit( char m )unsigned int mask=0x80;int i;for( i=0;i8;i+ )if( ( m & mask ) = 0 )cout0;elsecout1;return 0;int main( void )int i;char b=a;coutb(97)字符的二进制:; ShowBit( b );coutendl;int a = 97;int * pc=&a;char * p = (char *) pc; p = p + 3;couta为浮点数数时的二进制:;for(i=0;i4;i+)ShowBit(*p);/coutendl; p-;co

    8、utendl;return 0;1.2实验截图: 2) 给定一个字符变量输出其二进制反转形式。例如char a=a; 其二进制为01100001,反转形式为10000110。(提示:使用位运算)2.1 实验代码:#includeusing namespace std;int ShowBit( char m )unsigned int mask=0x01;int i;for( i=0;i8;i+ )if( ( m & mask ) = 0 )cout0;elsecout1;mask=mask1;return 0;int main( void )int i;char b=a;coutb(97)字符

    9、的二进制逆序:; ShowBit( b );coutendl;int a = 97;int * pc=&a;char * p = (char *) pc; couta为浮点数数时的二进制逆序:;for(i=0;i4;i+)ShowBit(*p);/coutendl; p+;coutendl;return 0;2.2 实验截图: 3)袋子里有红,黄,蓝,绿,黑五种不同颜色的球若干个,从中取出三个不同颜色的球,编程输出每种取法及统计不同取法的总数(提示:使用枚举)3.1 实验代码:#include using namespace std;enum color red,yellow,blue,gre

    10、en,black ;bool isNum( int i ) int j=0; for( int k=0;k k & 1=1 ) j+; return j=3?true:false;void PrintResult( int i ) for( int k=0;kk&1=1 ) switch( k ) case red: coutred ; break; case yellow: coutyellow ; break; case blue: coutblue ; break; case green: coutgreen ; break; case black: coutblack ; break;

    11、 default: couterror ; break; coutendl;int main( void ) int j=0; cout可能的方案有:endl; for( int i=0;i=32;i+ ) if(isNum( i ) PrintResult( i ); j+; cout共有方案n= jendl; return 0;3.2 实验截图: 4) 选做)给定一个整型变量输出其二进制形式。4.1 实验代码:#includeusing namespace std;int ShowBit( int m )unsigned int mask=0x80;int i;for( i=0;i8;i+

    12、 )if( ( m & mask ) = 0 )cout0;elsecout 1;return 0;int main( void )int a;couta; coutThis intereges binary is:; ShowBit( a );coutendl;return 0;4.2 实验截图:实验三 函数的应用实验1) 用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。1.1 实验代码:#include/#includeusing namespace std;int Fibonacci( int i )long int k;if( i=1 )return 0;else i

    13、f( i=2 )return 1;elsereturn k = Fibonacci( i-1 )+Fibonacci( i-2 );int main( void )int n,i;long int j;int k = 0;coutn;for( i=1;i=n;i+ )j = Fibonacci(i);cout j;k+;if( k%4 = 0 )coutendl;return 0;1.2 实验截图:2)编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值2.1 实验代码:#include using namespace std;int max( int a,in

    14、t b );int max( int q,int w,int e );double max( double i,double j );double max( double k,double u,double p );int main( void ) int a,b,q,w,e; double i,j,p,u,k;cout a b;max( a,b );coutqwe;max( q,w,e);cout i j;max( i,j);cout k up;max( k,u,p );return 0;int max( int a,int b )if (ab) coutthe max number:aen

    15、dl; else coutthe max number:b=w )temp=q; if ( temp=e ) coutthe max number:tempendl; else coutthe max number:e=e )coutthe max number:tempendl; else coutthe max number:ej )coutthe max number:iendl;else coutthe max number:j=u)temp=k; if ( temp=p ) coutthe max number:tempendl; else coutthe max number:p=

    16、p )coutthe max number:tempendl;else coutthe max number:pendl; return 0;2.2 实验截图:实验四 类与对象实验1)定义一个CPU类,包含等级(Rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7,frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。1.1 实验代码:1:/*#includeusing

    17、namespace std;enum CPU_Rank p1 = 1,p2,p3,p4,p5,p6,p7 ;class CPUpublic:CPU( CPU_Rank r,double f,double v)rank = r;frequency = f;voltage = v;cout有参构造函数:构造了一个CPU!endl;CPU()rank = p1;frequency = 2.5;voltage = 100;cout无参构造函数:构造了一个CPU!endl;CPU( CPU & oldcpu )rank = oldcpu.rank;frequency = oldcpu.frequency

    18、;voltage = oldcpu.voltage;cout复制构造了一个CPU!endl;void Showinfo()coutrank :rankendl;coutfrequency :frequencyendl;coutvoltage :voltageendl;cout=endl; void Run()coutCPU开始运行!endl;void Stop()coutCPU停止运行!endl;CPU()cout析构了一个CPU!endl;private:CPU_Rank rank; double frequency;double voltage;int main( void ) CPU a

    19、( p6,3.2,220 );/测试带参数的构造函数a.Run();a.Stop();a.Showinfo();/显示性能参数CPU b;/测试不带参数的构造函数coutCPU bs prameterendl;b.Showinfo();/显示性能参数CPU c( a );/测试复制构造函数coutCPU cs prameterendl;c.Showinfo();/显示性能参数return EXIT_SUCCESS;*/2:#include using namespace std;enum CPU_Rank p1=1,p2,p3,p4,p5,p6,p7;class CPUprivate:CPU_

    20、Rank rank;int freauency; double voltage;public:/ 各函数的初始化 CPU(CPU_Rank r, int f,double v)/ 构造函数对对象进行初始化为特定的状态 rank = r; freauency = f; voltage = v; cout This is CPU construct program!endl;CPU()/ 析构函数表示对象的释放 cout This is CPU destroy function!endl;void run()cout The CPU is running normol!endl; void sto

    21、p()cout The CPU is stopping normol!endl;int main( void ) enum CPU_Rank rank;rank = p5;CPU cpu1( rank,1024,3.6 ); /定义相应类的对象cpu1.run();/调用类中的公有成员cpu1.stop();return 0;1.2 实验截图;2)定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类,观察

    22、这些类的构造函数和析构函数的调用顺序。2.1 实验代码:/*1:#includeusing namespace std;enum CPU_Rank p1 = 1,p2,p3,p4,p5,p6,p7 ;class CPUpublic:CPU()rank = p1;frequency = 2.5;voltage = 100;cout无参构造函数:构造了一个CPU!endl;CPU( CPU_Rank r,double f,double v)rank = r;frequency = f;voltage = v;cout有参构造函数:构造了一个CPU!endl;CPU( CPU & oldcpu )r

    23、ank = oldcpu.rank;frequency = oldcpu.frequency;voltage = oldcpu.voltage;cout复制构造函数:构造了一个CPU!endl;void Showinfo()coutrank :rankendl;coutfrequency :frequencyendl;coutvoltage :voltageendl;cout=endl;CPU()coutCPU析构函数被调用!endl;private:CPU_Rank rank; double frequency;double voltage;class RAMpublic:RAM()volu

    24、mn = 2;rank = 1;cout无参构造函数:构造了一个RAM!endl;RAM( int v,int r )volumn = v;rank = r;cout有参构造函数:构造了一个RAM!endl;RAM( RAM &oldram )volumn = oldram.volumn;rank = oldram.rank;cout复制构造函数:构造了一个RAM!endl;void Showinfo()coutvolumn:volumnendl;coutrank:rankendl;RAM()coutRAM析构函数被调用!endl;private:int volumn;/ 容量 int ran

    25、k;class CDROMpublic:CDROM()speed = 88;size = 4; cout无参构造函数:构造了一个CDROM!endl;CDROM( int s,int S )speed = s;size = S;cout有参构造函数:构造了一个CDROM!endl;CDROM( CDROM & oldcdrom )speed = oldcdrom.speed;size = oldcdrom.size; cout复制构造函数:构造了一个CDROM!endl;void Showinfo()coutspeed:speedendl;coutsize:sizeendl;CDROM()co

    26、utCDROM析构函数被调用!endl;private:int speed;int size;class COMPUTERpublic:COMPUTER()cout无参构造函数:构造了一个COMPUTER!endl;COMPUTER( CPU_Rank r,double f,double v,int v_ram,int r_ram,int s,int S ):cpu( r,f,v ),ram( v_ram,r_ram ),cdrom( s,S )cout有参构造函数:构造了一个COMPUTER!endl;COMPUTER( COMPUTER & oldcomp ):cpu(oldcomp.cp

    27、u),ram(oldcomp.ram),cdrom(oldcomp.cdrom) cout复制构造函数:构造了一个COMPUTER!endl;void Showinfo() coutcpu parameter:endl;cpu.Showinfo();coutram parameter:endl;ram.Showinfo();coutcdrom parameter:endl;cdrom.Showinfo();private:CPU cpu;RAM ram;CDROM cdrom;int main( void )COMPUTER computer1( p3,3.2,500,200,3,58,2 )

    28、;/测试带参的构造函数coutcomputer1s parameter:endl;computer1.Showinfo();cout=endl;COMPUTER computer2;/测试不带参的构造函数 coutcomputer2s parameter:endl;computer2.Showinfo();cout=endl;COMPUTER computer3( computer1 );/测试复制构造函数coutcomputer3s parameter:endl;computer3.Showinfo();cout=endl;return EXIT_SUCCESS;*/#include usi

    29、ng namespace std;enum CPU_Rank p1=1,p2,p3,p4,p5,p6,p7;class CPUprivate: CPU_Rank rank;int freauency; float voltage;public: CPU(CPU_Rank r=p1,int f=0,float v=0) rank=r; freauency=f; voltage=v; cout This is CPU construct programendl; CPU()cout This is CPU destroy functionendl; void run()cout The CPU i

    30、s runningendl; void stop()cout The CPU is Stoppingendl; class RAMprivate: int rank; int size;public: RAM( int r=0, int s=0) rank=r; size=s; void run()cout The RAM is runningendl; void stop()cout The RAM is Stoppingendl;class CDROMprivate: int rank; int size;public: CDROM ( int r=0, int s=0) rank=r;

    31、size=s; void run()cout The CDROM is runningendl; void stop()cout The CDROM is Stoppingendl;class Computerprivate: CPU cpu; RAM ram; CDROM cdrom; public: Computer(CPU c,RAM r,CDROM cd) cout This is the Computer Constructendl; cpu=c; ram=r; cdrom=cd; void run() cout This is Computer is runningendl; cp

    32、u.run(); ram.run(); void stop () cout This is Computer is stopendl; cpu.stop(); ram.stop();int main() enum CPU_Rank rank; rank=p5; CPU cpu1(rank,1024,3.6f); RAM ram(5,1024); CDROM cdrom(5,1024); Computer cp(cpu1,ram,cdrom); cp.run(); cp.stop(); return 0;2.2 实验截图:3) 定义一个Body类,拥有身高、体重等数据,能够根据身高、体重检测身体

    33、状况,要求设计相应的函数成员和构造函数。3.1 实验代码:#includeusing namespace std;class Bodyprivate:double High;double Weight;public:Body( double HighN,double WeightN )High = HighN;Weight = WeightN;cout有参构造函数被调用!endl;Body()High = 172.0; Weight = 68.5;cout无参构造函数被调用!endl;Body( Body &Nomorl )cout复制构造函数被调用!endl;High = Nomorl.High;Weight = Nomorl.Weight;void Set( double H,double W )High = H;Weight = W;void Show()cout身高High(单位cm):Highcmendl


    注意事项

    本文(面向对象程序设计试卷C++实验报告.doc)为本站会员(星星)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922