C++实验集合.doc_第1页
C++实验集合.doc_第2页
C++实验集合.doc_第3页
C++实验集合.doc_第4页
C++实验集合.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

实验报告姓名: 董洪逾 班级: 12届信息管理专接本 学号: 44 实验名称实验一 VC+6.0集成环境的使用实验时间2012.3.25实验地点A2-501指导教师仇闽霞实验目的及要求1、在VC6.0中,实现动态分配内存,并使用分配的存储空间。要求建立工程文件Test1,源文件cpp1.cpp;2、编写一个程序,动态分配能存入 10 个 int 值的内存并通过键盘为这块内存赋值,然后输出这些值的和以及最小值,编译并运行这个程序。实验内容及步骤1、打开Microsoft Visual C+编译器,建立空白工程文件Test1和源文件cpp1.cpp;2、使用数组动态空间编写函数 数组动态空间格式:new 类型说明表达式 delete 指针表达式3、在cpp1.cpp中编写主程序,要求输入若干个数并输出最小值和他们的和;4、编译运行程序。【程序代码】/程序代码cpp1.cpp#includeconst int N=10;void main()int *p;p=new intN;cout 请输入 N 个int型数据: endl;for(int i=0; i pi;/计算和,判断最小值语句int min=p0,Sum=0;for(i=0;ipi)min=pi;Sum=Sum+pi;cout 您输入的 N 个int型数据是: endl;for(i=0; iN; i+)cout p i ;cout endl 最小值是: min;cout endl 累计和是: Sum;cout endl;delete p;结果综述 通过本次实验,了解了Microsoft Visual C+编译程序要完成3个方面的任务:编译预处理、编译处理和编译连接。了解并掌握了数组动态空间的使用。实验报告姓名: 董洪逾 班级: 12届信息管理专接本 学号: 44 实验名称实验二 使用函数模板实验时间2012.3.31实验地点A2-501指导教师仇闽霞实验目的及要求1、了解并初步掌握Microsoft Visual C+ 6.0集成环境。2、了解函数模板的概念,练习编制函数模板。3、用模板函数实现三个数值中按最小值到最大值的排序程序。实验内容及步骤1、建立工程文件Test2,并在该工程下创建源文件test2.cpp;2、利用函数模板编写程序函数模板的定义格式:template 函数定义3、在test2.cpp中编写主程序,输入大小不等的3个数;4、编译运行程序。【程序代码】#includeusing namespace std;template void mysort( T &a, T &b, T &c)T temp;if(ab)temp=a; a=b; b=temp;if(ac)temp=a; a=c; c=temp;if(bc)temp=b; b=c; c=temp;void main( )int a,b,c;cout 请输入3个数据: abc;mysort(a,b,c);cout 这三个数值按小到大的排序是: endl;couta,b,cendl;结果综述 用普通函数来实现抽象操作会迫使你定义多个函数实例,从而招致不小的维护工作和调试开销。解决办法是使用函数模板代替普通函数,于是,函数模板因运而生。通过本次实验,了解了函数模板的作用,掌握了函数模板的定义格式和使用方法。实验报告姓名: 董洪逾 班级: 12届信息管理专接本 学号: 44 实验名称实验三 使用多文件编程实验时间2012.4.7实验地点A2-501指导教师仇闽霞实验目的及要求1.建立工程文件Point、头文件Point.h和源文件Point.cpp;2.设计一个Point类,这个类描述屏幕上一个点的位置,其中成员函数Distance用于计算两个点的距离。这个类在Point.h中声明,在Point.cpp中实现;3.在Find.cpp中编写主程序,输入三角形的3个顶点坐标计算3条边的长度;4.编译运行程序。实验内容及步骤运行VC编译器,新建工程文件Point、头文件Point.h和源文件Point.cpp。【程序代码】/头文件point.h#include#includeusing namespace std;class Pointprivate:float x,y;public:Point(float x1=0,float y1=0)x=x1;y=y1;void Set(float x1,float y1)x=x1;y=y1;float Distance(Point p);float GetX()return x;float GetY()return y;/程序代码point.cpp#includePoint.h#includeusing namespace std;float Point:Distance(Point p)float d;d=sqrt(GetX()-p.GetX()*(GetX()-p.GetX() + (GetY()-p.GetY()*(GetY()-p.GetY();return d;void main()Point A,B,C;float x,y;cout请输入A点的坐标(X,Y):xy;A.Set(x,y);cout请输入B点的坐标(X,Y):xy;B.Set(x,y);cout请输入C点的坐标(X,Y):xy;C.Set(x,y);float d1=A.Distance(B);float d2=A.Distance(C);float d3=B.Distance(C);cout三条边的长度为:endl;coutAB=d1endlAC=d2endlBC=d3endl;结果综述通过本次实验,温习了C语言中自定义数据类型的两种用法(typedef和struct),区分了C语言与C+语言在用户自定义数据类型的不同,掌握了C+语言中关于数据成员和成员函数的两种定义方法,以及掌握了构造函数和析构函数的定义和应用。实验报告姓名: 董洪逾 班级: 12届信息管理专接本 学号: 44 实验名称实验四 公有继承的赋值兼容性规则实验时间2012.4.14实验地点A2-501指导教师仇闽霞实验目的及要求1、设计一个Point类,这个类描述屏幕上一个点的位置,用它派生一个线段类Line。2、为它们设计适当的成员函数,以便演示公有继承的赋值兼容性规则,以及构造函数、复制构造函数和析构函数的调用顺序。实验内容及步骤1、启动VC6.0,创建一个新的C+程序工程。2、创建一个新的C+程序文档,输入相应的代码。3、保存并运行程序【程序代码】#include#includeusing namespace std;class Point /基类private:float x,y;public:Point()Point(float a,float b):x(a),y(b) /x=a,y=b;Point(Point& a);float Distance(Point b);Point()coutPOINTendl;Point:Point(Point& a) /拷贝构造函数x=a.x;y=a.y; float Point:Distance(Point b)/成员函数return sqrt(x-b.x)*(x-b.x)+(y-b.y)*(y-b.y); class Line:public Point /派生类private:Point a,b;public:Line(float x1,float y1,float x2,float y2):a(x1,y1),b(x2,y2) /a=a点坐标float Display();Line()coutLINEendl;float Line:Display()return a.Distance(b); void main() Point a; Point b(7.8,9.8),c(34.5,67.8); a=c; cout两点之间距离是:a.Distance(b)endl; Line s(7.8,8.34,34.5,67.8); couts.Display()endl; 结果综述 通过本次试验,我们了解了构造函数和析构函数的用法,通过为它们设计适当的成员函数,了解了公有继承的赋值兼容性规则,以及构造函数、复制构造函数和析构函数在程序运行时的调用顺序。实验报告姓名: 董洪逾 班级: 12届信息管理专接本 学号: 44 实验名称实验五 使用向量实验时间2012.5.20实验地点A2-501指导教师仇闽霞实验目的及要求1、掌握泛型算法应用于普通数组;2、头文件、 的使用:数组升幂、降幂排序、正向反向输出数组内容;3、向量列表、泛型指针的定义与使用。实验内容及步骤实验内容已知有一个整型数组a,其内容为1 3 5 7 9 2 4 6 8 10。先对数组进行升序排序,再使用它产生向量b,然后再向尾部追加11,并按降序输出向量的内容和capacity()的内容。【程序代码】#include #include /升幂排序#include /降幂排序#include /向量(vector)类模板定义在头文件vector中using namespace std;void main()int A =1,3,5,7,9,2,4,6,8,10;int i,Len=10; /原型输出数组元素cout原数组A为endl;for(i=0;i10;i+)coutAi ;coutendl;/对数组进行升序排序sort(A,A+Len);cout升序排序为endl;copy(A,A+Len, ostream_iterator(cout, );coutendl;/定义向量表vectorB(A,A+10);/IA代表起始地址,IA+10代表结束地址cout向量表B为endl;for(i=0;i10;i+)coutBi ;/在向量表后插入数据B.push_back(11);coutendl降序输出向量为:endl;reverse_copy(B.begin(),B.end(), ostream_iterator(cout, );coutendlcapacity() = B.capacity()endl;结果综述 通过本次试验,我掌握了泛型算法在普通数组中的应用,并了解要输出数组的内容,对数组进行升幂排序、反转数组内容、复制数组内容等操作,需要包含头文件;要对数组进行降幂排序和检索,需要包含头文件。实验报告姓名: 董洪逾 班级: 12届信息管理专接本 学号: 44 实验名称实验六 虚函数的多态性实验时间2012.5.27实验地点A2-501指导教师仇闽霞实验目的及要求1、熟悉继承以及虚函数的多态性。2、写出程序中的抽象类是哪一个类?3、Sharp类中的虚函数area是什么虚函数,它起到什么作用?4、写出程序的运行结果。实验内容及步骤编写一个程序,用于计算正方形、矩形、直角三角形和圆的总面积(用虚函数实现多态)。要求:1、写出程序中的抽象类是哪一个类?2、Sharp类中的虚函数area是什么虚函数,它起到什么作用?3、写出程序的运行结果。【程序代码】#includeusing namespace std;class shapepublic: virtual double area()=0;double total(shape *s,int n) double sum=0.0; for(int i=0;iarea(); return sum;int main()shape *s5;s0=new square(4); s1=new triangle(3,6);s2=new rectangle(3,6);s3=new square(6);s4=new circle(10);for(int i=0;i5;i+)coutsi=area()endl;double sum=total(s,5);coutThe total area is:sumendl;return 0; ;class square:public shapeprotected:double H;public:square(double i)H=i;double area()return H*H;class circle:public squarepublic: circle(double r):square(r)double area()return H*H*3.14159;class trian

温馨提示

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

评论

0/150

提交评论