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