登录
首页 电脑编程
回帖 发帖
正文

主题:求各位VC++高手帮忙

点击:3054 回复:5

如何用VC++实现以下式子:
h(k+1)=0.99h(k)+2, 其中h(0)=0,求h(1)、h(2)、h(3)……h(100)
并将其这些点的运动轨迹显示在对话框中
纵坐标是所求的值,横坐标是时间,每隔一秒取一个点,并和前一个点用直线连起来,请问这又如何编程。
请各位高手帮帮小女子表情
最后修改:2005-4-15 10:12:32
05-04-14 14:01
怎么,没人帮的了我吗???
最后修改:2005-4-15 20:27:45
05-04-15 20:27
那就告诉我那个式子怎么编好吗????
05-04-18 17:22
int x = 0, y = 0; // 第一个点坐标
int i, count = 100; // 循环计数,总点数
// 由客户区的宽度和总点数算出横坐标变化的步长
// 这样改变窗口大小始,水平方向图形始终満幅显示
// 很久未用 VC 了,不知道这个函数名是否正确
// 可以查一下 MSDN,我机器上未装 VC
CRect rc = GetClientXY( &rc)
int step = rc.Width() / count;
// 纵向比例调整
// 因为不知道最大的纵坐标为多少,图形可能超出客户区或者幅者太小而看不清
// 通过这个系数调整纵向的幅值
float ky = 1.0;
// 画笔移到第一个点
pDC->MoveTo(x, y);
// 后面的 count - 1 个点
for( i=1; i < count; ++i )
{
   // 计算下一点的坐标
   y = (0.99 * y + 2) * ky;
   x += step;
   pDC->LineTo(x, y);
}
将这段代码放在 OnDraw(CDC *pDC) 中,编译看看
05-04-19 11:03
纯属基础知识!
这样的问题也问?
好好看看编程书吧!!!
05-04-20 00:42
float h[101];
   h[0]=0;
   for(i=1;i<101;i++)
        h[i]=h[i-1]*0.99+2;
   剩下的工作就按你的方式显示就行了
07-07-29 16:15

工控新闻

更多新闻资讯