面向对象实验报告_图文.docx
文本预览下载声明
面向对象程序设计
Visual C++.NET
实验报告
数学与统计学院
姓名: 李荣萍
学号: 1302140204
班级: 信息与计算科学1402
指导教师: 朱世华
实验一:Cdc类编程实例之正弦函数图形显示
实验目的
熟悉.net的开发平台,掌握CDC类的使用:文本的输出,数字的显示输出,点线图的绘制,位图的显示输出。
实验内容
在视图窗口中画一个坐标系,并做出正弦图形
实验步骤
新建MFC项目,命名为正弦,应用程序类型选择单文档,点击完成。
打开解决方案资源管理器-源文件-正弦view.cpp,编辑ondraw()函数,首先去除参数pdc的注释:void C正弦View::OnDraw(CDC*pDC),然后添加如下代码:
CRect rectClient;
GetClientRect(rectClient);
pDC-SetMapMode(MM_ANISOTROPIC);
pDC-SetWindowExt(1000,1000);
pDC-SetViewportExt(rectClient.right,- rectClient.bottom);
pDC-SetViewportOrg(rectClient.right/2, rectClient.bottom/2);
//绘制坐标轴
pDC-MoveTo(-500,0);
pDC-LineTo(500,0);
pDC-MoveTo(500,0);
pDC-LineTo(490,10);
pDC-MoveTo(500,0);
pDC-LineTo(490,-10);
pDC-MoveTo(0,-500);
pDC-LineTo(0,500);
pDC-MoveTo(500,0);
pDC-LineTo(490,10);
pDC-MoveTo(0, 500);
pDC-LineTo(-10, 490);
pDC-MoveTo(0, 500);
pDC-LineTo(10, 490);
pDC-MoveTo(0, 500);
pDC-LineTo(-10, 490);
//用循环标点
for(int i=-5;i=5;i++)
{
pDC-MoveTo(100*i,-5);
pDC-LineTo(100*i,5);
}
//标记刻度
CString str;
int i;
for(i=-5;i=5;i++)
{
str.Format(_T(%d),i);
pDC-TextOut(100*i,-5,str);
}
//正弦图像
//对采样点进行坐标计算和连续操作
pDC-MoveTo(-500,100*sin(-5.0));
for(i=-500;i=500;i++)
{
int y;
y=100*sin((float)i/100);
pDC-LineTo(i,y);
}
在正弦view.cpp开始处添加#inculde“math.h”
运行结果
总结
一直到添加代码都很顺利,最后运行一直显示sin是未定义的标示符,才明白没有把#inculde“math.h”加进去
实验二:鼠标画线程序制作:将鼠标移动轨迹画出来
一、实验目的
掌握消息处理函数的使用,掌握画笔的使用。
二、实验内容
使用消息处理函数以及画笔通过鼠标的移动在屏幕上画轨迹。
三、实验步骤
1、新建MFC项目,命名为Mousemove,应用程序类型选择单文档,点击完成。
2、先在mouseView.h中添加成员变量
protected:
COLORREF m_bColor;
UINT m_penwidth;
public:
CPen *oldpen;
bool m_flag;
CPointm_pro;
3、在mouseView.cpp中的构造函数中进行初始化:
CmouseView::CmouseView(): m_flag(false)
{
// TODO: 在此处添加构造代码
m_bColor=RGB(0,0,0);
m_penwidth=1;
}
4、在类视图中右击CmouseView,点击属性,在属性菜单中选择消息,添加OnLButtonDown、OnLButtonUp、OnMouseMove消息处理函数。
将三个消息处理函数代码修改如下:
void CmouseView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CDC *pDC=GetDC();
CPen mypen(P
显示全部