怎么用C++画类似这样函数sin(x)的图形

最好是在MFC中。先行谢谢!!加分20.
比如求Y=cos(x+0.3)+sin(x)这样复杂些的曲线怎么求取?坐标X,Y怎么定?而且显示坐标。

第1个回答  2008-10-21
#include"stdio.h"
#include"math.h"

void main()
{

double y;
int x,m;
for(y=1;y>=-1;y-=0.1)
{
m=asin(y)*10;

if(y<=0)
m=30-m;

for(x=1;x<m;x++)
printf("-");
printf("*");

if(y>=0)
{
for(;x<30-m;x++)
printf("-");
printf("*\n");
}

if(y<0)
{
for(;x<90-m;x++)
printf("-");
printf("*\n");
}
}
}

结果:
--------------**
----------*--------*
--------*------------*
------*----------------*
-----*------------------*
----*--------------------*
---*----------------------*
--*------------------------*
-*--------------------------*
*----------------------------*
*-----------------------------*
------------------------------*----------------------------*
-------------------------------*--------------------------*
--------------------------------*------------------------*
---------------------------------*----------------------*
----------------------------------*--------------------*
-----------------------------------*------------------*
------------------------------------*----------------*
--------------------------------------*------------*
----------------------------------------*--------*
--------------------------------------------**

如果只显示正弦曲线(*),不显示“-”,可以把程序里的三处printf("-")改成printf(" ")就哦了
第2个回答  2008-10-21
给你一个画余弦的代码
double y;
int x,m;
for(y=1;y>=-1;y-=0.1)
{
m=acos(y)*10;
for(x=1;x<m;x++)
printf(" ");
printf("0");
for(;x<62-m;x++)
printf(" ");
printf("0\n");
}本回答被提问者采纳
第3个回答  2008-10-21
void CMy1View::OnDraw(CDC* pDC)
{
CMy1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->Arc(50,50,100,100,100,75,50,75);
pDC->Arc(100,50,150,100,100,75,150,75);
}

主要的就是这些代码了

怎么用C++画类似这样函数sin(x)的图形
void main(){ double y;int x,m;for(y=1;y>=-1;y-=0.1){ m=asin(y)*10;if(y<=0)m=30-m;for(x=1;x<m;x++)printf("-");printf("*");if(y>=0){ for(;x<30-m;x++)printf("-");printf("*\\n");} if(y<0){ for(;x<90-m;x++)printf("-");printf("*\\...

如何用C++绘画sin(x)的图像
using namespace std;const double re[]={0,0.1736,0.342,0.5,0.6428,0.766,0.866,0.9397,0.9848,1};const int Num[]={0,3,7,10,13,15,17,19,20,20};const int space=20;int flag=0;int main(){ cout<<setiosflags(ios::fixed)<<setprecision(4);for(int i=0;i<=180;...

如何在c++中表示正弦函数
在C语言当中,sin 函数在标准库math.h当中。注意其输入参数单位是弧度,将角度转换为弧度,请将角度乘以 π\/180。功 能: 正弦函数 用 法: double sin(double x);例程:include <stdio.h> #include <math.h> int main(void) { double result, x = 0.5; result = sin(x); p...

用C++语言怎么表示sinx?
调用<math.h>或<cmath>头文件,使用方法是:doublea=sin(x);x代表弧度,也可以改变a的精度 即可直接使用sin(x),特别注意x应该为弧度制,如果不是弧度制需要转化为弧度制。C标准函数库(C Standard library)是所有符合标准的头文件(head file)的集合,以及常用的函数库实现程序,例如I\/O 输入输...

(C++)用数组如何"用*号输出正弦函数图形"?
double y;int x,m,i;printf("y=sin(x) [0<x<2*pi]\\n");for(y=1;y>=-1;y-=0.1){ if(y>=0){ m=asin(y)*10;for(x=1;x<m;x++)printf(" ");printf("*",m);for(;x<31-m;x++)printf(" ");printf("*\\n");} else{ m=-1*asin(y)*10;for(i=0;i<32;i+...

怎样用C++编程绘制y=sinx 的一段曲线?
下面是用MS VC++ API 写的绘曲线程序,画时序曲线,可缩放,画座标刻度..,现删去了一些功能(未删净),供参考。编译时若有警告信息,可以或略。设x0=0;dx=0.01;1000点。#include <afxwin.h>#include <stdio.h>#include <stdlib.h>#include <math.h>#include <Winuser.h>#pragma comment (lib, "LIBCMT....

C\/C++绘制函数图像
x=-1;m_prePoint = new CPoint(x, f(x));然后使用pDC-> MoveTo(m_prePoint) pDC-> LineTo(m_curPoint),然后每循环一步,取得下一个点的坐标,把下一个点的坐标赋给m_curPoint,把上一步的哪个当前点坐标赋给m_prePoint,然后再使用MoveTo和LineTo画线,依次类推,就可以画出曲线...

输入一弧度值x,输出正弦sin(x),余弦cos(x),用c++编译
程序如下:include <stdio.h> include <math.h> main(){ double x,s,p;printf("input value of x:");scanf("%lf",&x);s=cos(x);p=sin(x);printf("cos(%lf)=%lf\\n",x,s);printf("sin(%lf)=%lf\\n",x,p);}

用C++编写函数mySin(x)计算正弦函数,请问如何搞定?介绍一种经典的算法...
{ \/\/sin(x)=(x)-((x)^3\/(3!))+((x)^5\/(5!))-((x)^7\/(7!))...int i;\/\/项数 double c=1,s=0,xn;\/\/c为x^n前的系数,s为前n项的和,xn为x^n int flag;if(x<0) return -mySin(-x);x=fmod(x,2*PI);if(x<PI\/2) {flag=1;xn=x;} else if(x<PI) {...

C\/C++:sin1+sin2+sin3...+sinn在c语言中如何实现?
答:C语言有专门的三角函数库函数,如sin、cos等。使用时要包含头文件math.h,书写格式如sin(x)、cos(x)等;这些函数的形式参数是double型的且必须以弧度计,返回值也是double型。如本题面中的版式写成C语言就是sin(1)、sin(2)、sin(3)、sin(n)等,得用一个循环语句计算。

相似回答