好好学习,天天向上,学科吧欢迎您!
当前位置:首页 >> 最新范文 内容页

c++实验报告

c++实验报告 本文关键词:实验,报告

c++实验报告 本文简介:C++程序设计实验报告实验一:熟悉visualC++程序调试方法一、实验目的(1)熟悉VisualC++6.0开发环境;(2)掌握在VisualC++6.0开发环境调试程序的方法。二、实验内容(1)创建三个项目,项目类型分别为:Win32ConsoleApplication、Win32Applica

c++实验报告 本文内容:

C++程序设计实验报告

实验一:熟悉visual

C++程序调试方法

一、实验目的

(1)

熟悉Visual

C++

6.0

开发环境;

(2)

掌握在Visual

C++

6.0

开发环境调试程序的方法。

二、实验内容

(1)

创建三个项目,项目类型分别为:Win32

Console

Application、Win32

Application

和MFC

AppWizard(exe),分别编译运行各个程序,观察各种项目类型

程序的特点。

(2)

创建一个Win32

Console

Application

类型的项目,输入下面的代码,按

照要求对代码进行调试。

说明:下面的程序求100~1000

以内的水仙花数,所谓水仙花数就是一个三位

的整数,其个位数字、十位数字和百位数字的立方和等于该数本身的值,则这个数

称为水仙花数。

#include

“iostream.h“#include

“math.h“void

narcissus();

//

求水仙花数

void

main()

{

narcissus();

}

void

narcissus()

{

int

x1;

//

百位数字

int

x20;

//

十位数字+个位数字

int

x2;

//

十位数字

int

x3;

//

个位数字

int

count

=

0;

//

找到的水仙花数的总数

for(int

x=100;

x=0

pDemoWnd->ShowWindow(m_nCmdShow);

pDemoWnd->UpdateWindow();

m_pMainWnd=pDemoWnd;

return

true;

}

//消息映射

BEGIN_MESSAGE_MAP(CDemoWnd,CFrameWnd)

ON_MESSAGE(WM_PAINT,OnPaint)

ON_MESSAGE(WM_LBUTTONDOWN,OnLButtonDown)

ON_MESSAGE(WM_MOUSEMOVE,OnMouseMove)

END_MESSAGE_MAP()

//映射结束

CDemoWnd::CDemoWnd()//创造函数

{

//画图坐标

x1=0;

y1=0;

x2=0;

y2=0;

flag=0;//flag为1表示画矩形,为2表示画椭圆

}

void

CDemoWnd::OnPaint(WPARAM

wParam,LPARAM

lParam)

{

CPaintDC

dc(this);

CPen

pen,*poldpen;

if(flag==1)

{

pen.CreatePen(PS_SOLID,2,RGB(0,0,255));

poldpen=dc.SelectObject(

dc.Rectangle(x1,y1,x2,y2);

dc.SelectObject(poldpen);

}

if(flag==2)

{

pen.CreatePen(PS_SOLID,2,RGB(0,255,0));

poldpen=dc.SelectObject(

dc.Ellipse(x1,y1,x2,y2);

dc.SelectObject(poldpen);

}

flag=0;

}

void

CDemoWnd::OnLButtonDown(WPARAM

wParam,LPARAM

lParam)

{

//获取鼠标左键按下时的坐标

x1=LOWORD(lParam);

y1=HIWORD(lParam);

}

void

CDemoWnd::OnMouseMove(WPARAM

wParam,LPARAM

lParam)

{

//鼠标移动时判断左键和ctrl键是否均按下

if((wParam

//获取鼠标拖动时的坐标

x2=LOWORD(lParam);

y2=HIWORD(lParam);

//刷新界面重新绘制

InvalidateRect(NULL,1);

}

else

if((wParam

x2=LOWORD(lParam);

y2=HIWORD(lParam);

InvalidateRect(NULL,1);

}

}

运行结果:

(3)mfc相关知识:

1、MFC

应用程序框架

MFC

程序结构由MFC

类CwinApp

和CframeWnd

构成。

MFC

程序结构中,CFrameWnd

派生类对象提供应用程序的主窗口,CFrameWnd

派生类对象附属于应用程序类CWinApp

派生类对象的m_pMainWnd成员。

CWinApp

类实现WinMain

函数的功能。

MFC

将Windows

应用程序从开始运行、消息传递到结束运行所需的各步骤均封装在CWinApp

类中,CWinApp

类表示MFC

应用程序的应用对象。

用户应该声明

CWinApp

派生类为全局对象。用户从CWinApp

派生了一个应用程序类之后,可以重载InitInstance

成员函数来创建应用程序的主窗口对象。

应用程序主窗口

CframeWnd

的派生类对象的功能:

(1)

保存数据---数据成员;

(2)

消息处理函数---成员函数。

2、消息映射

消息映射本质上就是一个数组,MFC

使用消息映射建立消息和类的成员函数的对应关系。消息映射数组中存储的信息

(1)

所处理的消息;

(2)

消息应用的控件ID,或者ID

范围;

(3)

消息所传递的参数;

(4)

消息所期望的返回值。

(4)

总结实验的心得体会,实验中遇到的困难以及解决的方法等。

遇到的困难:

a)

刚接触mfc,有许多地方和API有区别,不知道如何应对;

b)

不大熟练消息映射的编写流程。

解决方法:

a)

mfc在函数使用方法上与API略有不同,mfc中使用函数参数较少,更为简便。多练习几次就可以发现其中的练习与区别;

b)

消息映射需要手动添加,头文件里需要声明相应的函数,在BEGIN_MESSAGE_MAP(CDemoWnd,CFrameWnd)与END_MESSAGE_MAP()之间添加消息映射函数。

总结:初次接触mfc,在学习API基础上学习mfc较为容易,很容易就接受了新的环境和编程方式,这次实验相当于API到MFC的过渡,为以后学习基于对话框、单文档、多文档mfc

奠定了基础。

实验七

MFC

控件编程实验

一、实验目的

(1)

熟悉Visual

C++

6.0

开发环境;

(2)

掌握MFC

环境下标准控件的使用方法;

(3)

熟练掌握在Visual

C++

6.0

开发环境调试程序的方法。

二、实验内容

创建如图所示的基于对话框的应用程序,在图形显示区绘制一个矩形并用单色

画刷填充矩形内部。通过滚动条控件设置填充颜色,并在编辑框中显示颜色的RGB

值,通过单选按钮可以设置矩形的边框线型,“显示图形”复选框可以控制是否显

示矩形。设置完成后,单击“显示”按钮在“图形显示区”显示新的绘图效果。

单击“退出”按钮退出程序。

三、实验报告

(1)

列表说明各个控件的属性设置;

上图为本实验最终框图,本实验共用了18个控件,分别为:

3个group

box组框;

3个button按钮;1个check

box复选框;

4个radio

button单选框;

1个edit

box编辑框;

3个static

text静态文本;

3个horizontal

scroll

bar横向滚动条。

属性设置表

控件类型

ID

Caption

变量

说明

按钮一

IDC_START

启动

CButton

m_start

按钮二

IDC_STOP

停止

CButton

m_stop

按钮三

IDC_EXIT

退出

复选框

IDC_DISPLAY

显示图形

BOOL

m_display

组框一

IDC_STATIC

图形显示区

组框二

IDC_STATIC

颜色设置

组框三

IDC_STATIC

线形设置

单选框一

IDC_SOLIDLINE

实线

int

m_linestyle

Group

单选框二

IDC_DASHLINE

虚线

单选框三

IDC_DSAHDOTLINE

点画线

单选框四

IDC_DBDASHDOTLINE

双点划线

编辑框

IDC_RGB

CString

m_rgb

Read

only

静态文本一

IDC_STATIC

红色:

静态文本二

IDC_STATIC

绿色:

静态文本三

IDC_STATIC

蓝色:

滚动条一

IDC_RED

CScrollBar

m_red

Group

滚动条二

IDC_GREEN

CScrollBar

m_green

滚动条三

IDC_BLUE

CScrollBar

m_blue

(2)

列出控件功能的实现代码;

1.启动按钮---启动定时器

void

CShiyanqiDlg::OnStart()

{

//

TODO:

Add

your

control

no

TAG标签: