C++实现输出sin()函数图象
2011-11-22 10:18
281 查看
首先创建MFC单文档应用程序
在VIEW类中的Ondraw函数中添加代码
void CdsfsdsddsView::OnDraw(CDC* pDC)
{
CdsfsdsddsDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
CRect rect;
GetClientRect(rect);
int x0=rect.Width()/2;
int y0=rect.Height()/2;
pDC->MoveTo(0,y0);
pDC->LineTo(rect.Width(),y0);
pDC->MoveTo(x0,0);
pDC->LineTo(x0,rect.Height());
double step=3.1415926/100;
CString str;
for (int i=-200;i<=200;i++)
{
pDC->SetPixel(x0+i/200.0*rect.Width()/2,y0+sin(step*i)*rect.Height()/3,RGB(255,0,0));
if (i==0)
{
str="0.0";
pDC->TextOut(x0,y0,str);
str="Y";
pDC->TextOut(x0,0,str);
}
if (i==200)
{
str="X";
pDC->TextOut(rect.right-20,y0-20,str);
str="2π";
pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
}
if (i==100||i==-100)
{
str="π";
pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
}
if (i==-200)
{
str="-2π";
pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
}
str="(-2π,2π)的正弦函数图象";
pDC->TextOut(10,10,str);
}
}
在VIEW类中的Ondraw函数中添加代码
void CdsfsdsddsView::OnDraw(CDC* pDC)
{
CdsfsdsddsDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
CRect rect;
GetClientRect(rect);
int x0=rect.Width()/2;
int y0=rect.Height()/2;
pDC->MoveTo(0,y0);
pDC->LineTo(rect.Width(),y0);
pDC->MoveTo(x0,0);
pDC->LineTo(x0,rect.Height());
double step=3.1415926/100;
CString str;
for (int i=-200;i<=200;i++)
{
pDC->SetPixel(x0+i/200.0*rect.Width()/2,y0+sin(step*i)*rect.Height()/3,RGB(255,0,0));
if (i==0)
{
str="0.0";
pDC->TextOut(x0,y0,str);
str="Y";
pDC->TextOut(x0,0,str);
}
if (i==200)
{
str="X";
pDC->TextOut(rect.right-20,y0-20,str);
str="2π";
pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
}
if (i==100||i==-100)
{
str="π";
pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
}
if (i==-200)
{
str="-2π";
pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
}
str="(-2π,2π)的正弦函数图象";
pDC->TextOut(10,10,str);
}
}
相关文章推荐
- C++ 字符数组的拷贝、拼接、逆序输出 函数的实现
- C++实现字符串数组作为函数的参数的反序输出
- C++入门:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数
- C++ 实现把非静态成员函数作为回调函数(非static)
- C++ 实现句子中单词逆序输出
- matlab2c使用c++实现matlab函数系列教程-raylpdf函数
- 模版函数指针,C++委托的实现
- 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
- (转)C++多态的实现原理,C++中虚函数和多态
- C++【String类】String插入单个字符,插入字符串的函数实现
- 利用C++模板,代替虚函数实现类的静态多态性及动态继承
- C++实现链表函数
- 多线程环境下使用c++输出流和printf函数的区别
- C++小记:C++实现简易单链表模板类,重载输出流“<<”。
- 编译器对C++ 11变参模板(Variadic Template)的函数包扩展实现的差异
- 字符串替换空格: 请实现一个函数,把字符数组中的每个空格替换成“%20”。 例如输入“we are happy.”,则输出“we%20are%20happy.”。
- 探索c++的函数pow()的实现方法·数学与程序设计的结合(zz)
- 从零开始学C++之IO流类库(四):输出流格式化(以操纵子方式格式化,以ios类成员函数方式格式化)
- 使用IDispatch::Invoke函数在C++中调用C#实现的托管类库方法
- [c++] - 实现类似printf这样的函数