标题:c++画直角坐标求助
只看楼主
jylong123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-3-15
 问题点数:0 回复次数:7 
c++画直角坐标求助

rt...

[此贴子已经被作者于2007-3-15 21:01:41编辑过]

搜索更多相关主题的帖子: 直角 坐标 
2007-03-15 15:14
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
得分:0 
你的意思是不是让屏幕显示坐标值,还是把两个坐标线给标出来.

2007-03-16 20:50
jylong123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-3-15
得分:0 
我用c++编了个程序,根据一定的规则产生1组随机数据,我排序后想在坐标轴中把各点连接起来成一条曲线。

坐标轴我自己能参考网上的程序画出来 但是我不知道怎么才能用到我开始在c++中程序运行得来的数据,我不会用mfc。 不知道如何下口。请您帮个忙吧 我在线等 谢谢! 或者加我QQ 383127151
2007-03-16 21:18
nallu2006
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-3-14
得分:0 

先建立一个client 窗口
然后横向一个lineto ,纵向一个lineto ,就是坐标轴了,具体lineto 的位置和线粗细自己设置,
client 有个默认的(0,0)坐标点,你可以自己把坐标点重新设置到两个坐标的交叉点处setOrigin(Point p);

接下来就画点点吧
我没作过,不过感觉是这样做的
2007-03-16 21:26
jylong123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-3-15
得分:0 
#include"iostream"
using namespace std;
#include <stdlib.h>
#include <time.h>
class point
{
public:
int du;
int flag;
int sum;
void start(int ,int,point[] );
void change(int ,int ,point[]);

};


void point::start(int M,int N,point p[])
{
int i;
if(N>M||N<0||M<0)
{
cout<<"输入数据有误"<<endl;
return;
}
else cout<<"初始情况下的度为:"<<endl;
p[0].du=p[M-1].du=1;
i=0;
while(true)
{
if(i==0||i==M-1)
p[i].du=1;
else if(i>=M)
p[i].du=0;
else
p[i].du=2;
i++;
if(i>99)
break;
}
int sum=0;
for(i=0;i<100;i++)
{
cout<<p[i].du<<" ";
sum=sum+p[i].du;
}
cout<<endl;
cout<<"初始总度数为:"<<sum<<endl;

}


void point::change(int x,int y,point p[])
{
int i,n;
float j;
int sum=0;
for(i=0;i<100;i++)
{
sum=sum+p[i].du;
//cout<<p[i].du<<" ";
}
float pro[100],pros;
pros=0;
srand((unsigned int)time(NULL));
for(n=x;n<100;n++)
{
for(i=0;i<n;i++)
{
pro[i]=p[i].du/sum;
//cout<<p[i].du<<" ";
}
j=rand()/32767;
for(i=0;i<n;i++)
{
pros=pros+pro[i];
if(j<pros)
break;
}
p[i].du=p[i].du+y;
cout<<"p["<<i<<"].du=:"<<p[i].du<<endl;
cout<<"选中的点数为"<<i<<endl;
p[n].du+=y;
sum=sum+2*y;
}
cout<<"最终点的度数分布为:"<<endl;
for(i=0;i<100;i++)
{
cout<<p[i].du<<" ";
}

}

void main()
{
int x,y;
point z[100],p;
cout<<"请输入初始点数"<<endl;
cin>>x;
cout<<"初始点数为:"<<x<<endl;
cout<<"请输入连接的点数"<<endl;
cin>>y;
cout<<"初始连接点数:"<<y<<endl;
p.start(x,y,z);
p.change(x,y,z);
}



我只是不知道怎么把上面的程序嵌入mfc里面阿 郁闷了。我是初学者,好像说数据存在文档对象中,然后在视图对象中显示,可我就是不会阿。谢谢大家教我啊
2007-03-16 21:54
nallu2006
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-3-14
得分:0 

呵呵

[此贴子已经被作者于2007-3-16 22:14:28编辑过]

2007-03-16 22:13
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
得分:0 

这样的话,你直接用MoveTo和LineTo函数把这些点连接起来不就完了吗!


2007-03-16 22:23
jylong123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-3-15
得分:0 
我至少产生了100甚至更多的数据 好像比较夸张吧
2007-03-17 00:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-124413-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.125338 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved