标题:[求助]关于画一条直线的程序
只看楼主
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



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




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

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