| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 865 人关注过本帖
标题:[求助]关于画一条直线的程序
只看楼主 加入收藏
vivi
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-12-6
收藏
 问题点数:0 回复次数:4 
[求助]关于画一条直线的程序

关于画一条直线的,可显示不出直线,不知道哪里出了问题?特向大家求教!

#include <graphics.h> #include <conio.h> #include <stdio.h> #include <math.h> void midpoint(int x0,int y0,int x1,int y1,int color) {int dx,dy,d,x,y; dx=x1-x0; dy=y1-y0; m=dy/dx; d=dx-2*dy; x=x0;y=y0; putpixel(x,y,color); if(-1<m<1) while(x<x1) {if(d>0) d=d-2*dy; else {d=d-2*(dy-dx); y++;

x++;} putpixel(x,y,color);

} else while(x<x1) {if(d>0)d=d-2*dy; else {d=d-2*(dy-dx); x++; } y++; putpixel(x,y,color); } } void main() {int gdriver=DETECT,gmode; int x0,y0,x1,y1,color; initgraph(&gdriver,&gmode,"..\\BGI");

printf("data\n"); scanf("%d%d%d%d%d",&x0,&y0,&x1,&y1,&color); midpoint(x0,y0,x1,y1,color); getchar(); closegraph(); }

搜索更多相关主题的帖子: 直线 int include else 
2004-12-06 13:28
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

你的m在什么地方定义的??

if(-1<m<1) while(x<x1) {if(d>0) d=d-2*dy; else {d=d-2*(dy-dx); y++;

x++;} putpixel(x,y,color);

} else while(x<x1) {if(d>0)d=d-2*dy; else {d=d-2*(dy-dx); x++; } y++; putpixel(x,y,color); } }

看看有什么不对的????


差点把你忘了...
2004-12-06 13:57
vivi
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-12-6
收藏
得分:0 

忘了,不好意思,应是int dx,dy,d,x,y,m;

对不起,我看不出哪出错.请赐教!

2004-12-06 16:17
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
你的if else 中的while 判断都是(x&lt;x1),是你的本意么?

差点把你忘了...
2004-12-06 17:45
vivi
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-12-6
收藏
得分:0 
是啊,就是输入的坐标x要小于x1端点的坐标,难道那里出了问题?
2004-12-07 12:59
快速回复:[求助]关于画一条直线的程序
数据加载中...
 
   



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

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