搜档网
当前位置:搜档网 › 面向对象程序设计-实验册

面向对象程序设计-实验册

面向对象程序设计-实验册
面向对象程序设计-实验册

学生实验报告册

(理工类)

课程名称:面向对象程序设计专业班级:_13计统2班_ 学生学号:___1305103038 学生:亚孟_ __

所属院部:计算机工程学院指导教师:吴刚

20 15 —20 16 学年第一学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸一律采用A4的纸。

实验报告书写说明

实验报告中一至四项容为必填项,包括实验目的和要求;实验仪器和设备;实验容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:C++基础程序设计实验学时: 3 同组学生:无实验地点:A107

实验日期:9.18 实验成绩:

批改教师:吴刚批改时间:

一、实验目的和要求

1.了解Visual C++6.0或者Visual C++2005以上版本的特点。

2.学会Visual C++6.0或者Visual C++2005以上版本的开发环境,来创建和调试标准的C++控制后台应用程序。

3.学会使用Visual C++6.0或者Visual C++2005以上版本的开发环境中的程序调试功能,例如单步执行、设置断点、观察变量值等。

4.掌握string类型的用法。

5.掌握C++语言编程时输入和输出格式控制。

6.掌握多文件结构的使用。

7.掌握重载函数的使用。

二、实验设备和环境

1.计算机每人一台。

2.安装WindowsXP或者以上版本操作系统。

3.安装Visual C++6.0或者Visual C++2005以上版本。

三、实验容及步骤

1.给出Visual C++调试一个简单应用程序的步骤,要求程序输出字符串“Hello!Welcome to C++!”。

程序:

#include

using namespace std;

int main()

{

cout<<"Hello!"<

cout<<"Welcome to C++!"<

return 0;

}

运行结果:

2.调试以下程序,观察运行结果。#include

using namespace std;

void main()

{

int a,b=10;

int&ra=a;

a=20;

cout<

cout<

cout<<&a<

cout<<&ra<

ra=b;

cout<

cout<

cout<

cout<<&a<

cout<<&ra<

cout<<&b<

}

运行结果及结果分析:

3.编写一程序,实现九九乘法表的2中格式输出,格式如下:(1) 1 2 3 4 5 6 7 8 9

1 1

2

3

4

5

6

7

8 9

2 2 4 6 8 10 12 14 16 18

3 3 6 ·······

4 4 8 ·······

5 5 10 ·······

6 6 12 ·······

7 7 14 ·······

8 8 16 ·······

9 9 18 ·······(2) 1 2 3 4 5 6 7 8 9

1 1

2 2 4

3 3 6 9

4 4 8 12 16

5 5 10 15 20 25

6 6 12 18 24 30 36

7 7 14 21 28 35 42 49

8 8 16 24 32 40 48 56 64

9 9 18 27 36 45 54 63 72 81 注:要求每种输出格式均写成函数形式

程序:

#include

using namespace std;

int main()

{

int i,j;

cout<<"显示1:"<

for(i=1;i<10;i++)

{

for(j=1;j<10;j++)

{

cout<

}

cout<

}

cout<

for(i=1;i<10;i++)

{

for(j=1;j<=i;j++)

{

cout<

}

cout<

}

return 0;

}

运行结果:

4.将第3题改成多文件结构实现。要求该工程中有3个.cpp文件和1个.h文件。程序:

.h:

#include

using namespace std;

int cfb1(int x,int y);

int cfb2(int x,int y);

.cpp:

(1)

#include "3head.h"

void main()

{

int i,j;

cout<

cout<

(2)

#include "3head.h"

int cfb1(int i,int j)

{

cout<<"显示1:"<

for(i=1;i<10;i++)

{

for(j=1;j<10;j++)

{

cout<

}

cout<

}

return 0;

(3)

#include "3head.h"

int cfb2(int i,int j)

{

cout<<"显示2:"<

for(i=1;i<10;i++)

{

for(j=1;j<=i;j++)

{

cout<

}

cout<

}

return 0;

}

5.编程实现比较两个数的大小,求较大值(要求使用重载函数实现)。程序:

#include

using namespace std;

int max(int a,int b)

return a>b?a:b;

}

int main()

{

int m,n;

cout<<"Enter two integer:";

cin>>m>>n;

cout<<"The bigger is:"<

return 0;

}

运行结果:

6.编写一个程序,判断一个字符串是否为另一个字符串的子串,若是,返回字串在主串中的位置。要求不适用strstr函数,自己编写一个子函数实现。(建议使用string类型,而非字符数组。)程序:

#include

#include "string.h"

using namespace std;

void main()

{

char a[]="how are you?";

char b[]="are";

int i=0,j,na,nb,flag;

na=strlen(a);

nb=strlen(b);

flag=1;

for(i=0;i!='\0';i++)

{

if(a[i]==b[j]) j++;

}

}

运行结果:

四、实验体会

熟悉了C++开发环境的使用,对C++编程有了初步的了解,能够编写一些简单的和C类似的程序。

实验项目名称:类与对象实验学时: 3

同组学生:无实验地点:A107

实验日期:9.25 实验成绩:批改教师:吴刚批改时间:

一、实验目的和要求

1.掌握类和对象的概念、定义方法以及类与对象的简单用法。

2.掌握成员函数的实现与调用方法。

3.深刻领会类与对象的区别。

4.理解类实现数据隐藏和封装的原理。

5.掌握构造函数、拷贝构造函数、分析构造函数的定义和使用,尤其注意组合类中它们的调用顺序。

二、实验设备和环境

1.计算机每人一台。

2.安装WindowsXP或者以上版本操作系统。

3.安装Visual C++6.0或者Visual C++2005以上版本。

三、实验容及步骤

1.用面向对象的程序设计方法实现栈的操作。栈又叫堆栈,是一个常用的数据结构,它是一种运算受限的线性表,仅允许在表的一端进行插入和删除运算,是一种后进先出表。

提示:栈用一维整型数组来表示,栈的大小定义为10;栈定义为一个类stack;实现栈的创建、进栈和出栈、栈的消亡。进栈函数:void push(int n);出栈函数:int pop(void);

程序:

#include

using namespace std;

const int maxsize=10;

class stack

{

public:

void init()

{

top=-1;

}

void push(int n);

int pop();

void dead();

private:

int top;

int data[maxsize];

};

void stack::push(int n)

{

if(top==maxsize)

{

cout<<"栈已满!"<

}

else

{

top++;

data[top]=n;

}

}

int stack::pop()

{

if(top<0)

{

cout<<"栈下溢!"<

return 0;

}

else

{

top--;

return data[top+1];

}

}

void stack::dead()

{

if(top<0)

{

cout<<"栈下溢!"<

}

else

{

top--;

cout<<"栈中还剩"<<(top+1)<<"个元素"<

}

}

int main()

{

stack seqstack;

int i,x,m;

seqstack.init();

cout<<"请输入10个数字:";

for(i=0;i

{

cin>>x;

seqstack.push(x);

}

cout<<"请输入你所需要的操作:"<

cout<<1<<""<<"元素出栈!"<

cout<<2<<""<<"栈的消亡!"<

cin>>m;

switch(m)

{

case 1:

{

for(i=0;i

cout<<""<

break;

}

case 2:

{

for(i=0;i

seqstack.dead();

break;

}

return 0;

}

}

运行结果:

2.将第1题中的实验容改为多文件结构实现。程序:

#include

using namespace std;

#define N 10

class stack

{

static int top;

int a[N];

public:

void push(int n);

void pop();

void die();

};

#include

int stack::top=0;

void stack::push(int n)

{

if(top

{

a[top++]=n;

cout<<"进栈数据:"<

}

else

cout<<"堆栈已经满了,不能再加数进去了!"<

void stack::pop()

{

if(top<=0)

cout<<"堆栈已经空了,没有数据了!"<

else

{

cout<<"出栈数据:";

cout<

}

}

void stack::die()

{

int i;

for(i=0;i

a[i]=0;

cout<<"消亡堆栈!"<

}

#include "head.h"

void main()

{

int n,m;

cout<<"输入两个你要输入的数据N和M:";

cin>>n>>m;

stack s;

s.push(n);

相关主题