C++程序设计--实践考试.doc_第1页
C++程序设计--实践考试.doc_第2页
C++程序设计--实践考试.doc_第3页
C++程序设计--实践考试.doc_第4页
C++程序设计--实践考试.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

湘潭大学-计算机应用专业C+程序设计实践考试实验考核应在课程笔试后择时进行,并须在主考院校或主考院校委托单位进行。应考者须提供实验报告和提交实验考核的结果。实验环节为2学分,以下为实验大纲的具体内容。实验一:(1) 实验名称:Microsoft Visual C+ 6.0集成环境的使用(2) 实验目的和要求:了解并初步掌握Microsoft Visual C+ 6.0集成环境。(3) 实验内容:要求建立工程文件cpp1,源文件cpp1.cpp; 编写一个程序,动态分配能存入10个int值的内容并通过键盘为这块内存赋值,然后输出这些值的和以及最小值;编译并运行这个程序。注意:也可以直接选用第一章的程序进行练习。五、实验步骤1、启动VC6.0,创建一个新的C+程序2、输入相应的代码。3、保存程序 4、运行程序动态分配内存问题主要的程序代码如下:#includeusing namespace std;const int N=10;void main( )int *p=new intN;int i;for(i=0;ipi;float sum=0,min=p0;for(i=0;ipi) min=pi;cout最小值:minendl;cout和:sumendl;实验二:(1) 实验名称:使用函数模板。(2) 实验目的和要求:了解函数模板的概念,练习编制函数模板。(3) 实验内容:用模板函数实现三个数值中按最小值到最大值的排序程序。使用函数模板的程序代码如下:#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;cinabc;mysort(a,b,c);cout三个数由小到大排列为:a,b,cendl;实验三:(1) 实验名称:使用多文件编程。(2) 实验目的和要求:熟悉面向对象编程思想和多文件编程规范。(3) 实验内容:1) 建立工程文件Point,头文件Point.h和源文件cpp。2) 设计一个Point类,这个类描述屏幕上一个点的位置,其中成员函数Distance用于计算两个点的距离。这个类描述屏幕上一个点的位置,其中成员函数Distance用于计算两个点的距离。这个类在Point.h中声明,在Point. cpp文件中实现。3) 在文件Find.cpp中编写主程序,输入三角形的3个顶点坐标计算3条边的长度。4) 编译运行程序。5) 使用不同的方法编写成员函数Distance,以加深对课文的理解。编写的程序代码如下:/Point.h# if !defined (POINT_H)#define 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;#endif/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;/Find.cpp#includePoint.husing namespace std;void main( )Point A,B,C;float x,y;cinxy;A.Set(x,y);cinxy;B.Set(x,y);cinxy;C.Set(x,y);float d1=A.Distance(B);float d2=A.Distance(C);float d3=B.Distance(C);cout三条边的长度为:;coutd1endld2endld3endl;实验四:(1) 实验名称:公有继承的赋值兼容性规则。(2) 实验目的和要求:公有继承的赋值兼容性规则,构造函数,复制构造函数和析构函数的设计方法。(3) 实验内容:1) 设计一个Point类,这个类描述屏幕上一个点的位置,用它派生一个线段类line。2) 为它们设计适当的成员函数,以便演示公有继承的赋值兼容性规则,以及构造函数,复制构造函数和析构函数的调用顺序。3) 重新使用模板设计这个实验。/公有继承的赋值兼容性规则:#includeusing namespace std;class Point private: int x,y; public: Point(int a=0, int b=0)x=a; y=b;coutPoint.endl; void Showxy()coutx=x,y=yendl; Point()coutDelete Pointendl; ;class Line : public Pointprivate:Point A,B;public: Line(int x1, int y1, int x2, int y2):Point(11,22),A(x1,y1),B(x2,y2) coutLine.endl; void Show()coutA:endl;A.Showxy();coutB:endl;B.Showxy(); Line()coutDelete Lineendl;void main( )Line L1(3,4,5,6);L1.Show(); Point A(1,2); A.Showxy(); A=L1; A.Showxy();实验五:(1) 实验名称:使用向量。(2) 实验目的和要求:练习使用向量解决实际问题。(3) 实验内容:调试教材第7.3节的出圈游戏。/下面是源程序文件。/game.cpp#include #include using namespace std;class SeqListchar name10;public:void DispName()coutname;void SetName(char b)strcpy(name,b);void Joseph(vector&);/Joseph函数void SeqList:Joseph(vector&c)int m,star,i,j,k; cout请输入间隔数m(mm; /间隔数while (m20) /间隔数大于20,重新输入coutm;cout从第几个人的位置开始报数(不能大于c.size()star;while (starc.size() /coutstar;cout准备输入名字endl;getchar();/输入参加游戏人的名字char s10;for(i=0;ic.size();i+)cout第i+1个人的名字:;gets(s); ci.SetName(s);i=star-2; /从规定处开始报数vector:iterator p;p=c.begin();int length=c.size();for (k=1;k=length;k+)j=0; /报数while (jm) i+; if (i=c.size()/到终点,返回到第一个位置计数i=0;j+;if (k=length) break;ci.DispName(); /输出出圈人的信息cout,; c.erase(p+i); /删除出圈人的记录-i; /调整计数位置初始值/break语句跳转至此处,输出最后出列的编号ci.DispName();coutendl; void main( ) int length=0; coutlength; vectorc(length); SeqList game; game.Joseph(c); 实验六:(1) 实验名称:运算符重载。(2) 实验目的和要求:熟悉运算符重载。(3) 实验内容:重载“”运算符。下面是源程序文件。/fusu.cpp#include#includeclass fushuprivate:int shibu;int xubu;public:fushu(int s=0,int x=0)shibu=s;xubu=x;fushu operator-(fushu &z)return fushu(shibu-z.shibu,xubu-z.xubu);void shuchu()coutshibu;if(xubu!=0)coutsetiosflags(ios:showpos)xuburesetiosflags(ios:showpos)iendl;void main( )fushu z1(1,2),z2(3,4);z1.shuchu();z2.shuchu();fushu z3;z3=z1-z2;z3.shuchu( );实验七:(1) 实验名称:文件读写。(2) 实验目的和要求:熟悉使用文件的基本方法。(3) 实验内容:1) 为第9.3.3节的例子中的student类增加“名字”属性。2) 调试运行这个新的程序,重点掌握这种基本的文件存取方法。实验八:(1) 实验名称:虚函数的多态性。(2) 实验目的和要求:熟悉继承和包含以及虚函数的多样性。(3) 实验内容:1) 调试教材第10.6.4节的程序。2) 理解继承和包含的区别及其各自的应用场合。3) 通过单步跟踪,进一步理解虚函数,友元函数和重载的概念。/虚函数的多态性#include class baseprotected:int x,y;public:base(int i,int j)x=i;y=j;virtual void disp()=0;class triangle:public basepublic:triangle(int x,int y):base(x,y) void disp()coutArea of Trangle is:endl;coutx*y*0.5endl;class square:public bas

温馨提示

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

评论

0/150

提交评论