为什么画不了圆弧?

joyce02112003 2008-07-03 03:57:43
给定圆弧的起始角与终止角,半径自定,画一圆弧,我写的代码如下,但为什么总是画不出来,错在哪里?求高手指教!

#include "math.h"
#include "graphics.h"
#include "stdlib"

void yuanhu(int xc,int yc,int r,int th1,int th2)
{
int x,y,i;
double t;
x=xc+r*cos(th1*3.14159/180);
y=yc+r*sin(th1*3.14159/180);
moveto(x,y);
for(i=th1;i<=th2;i++)
{
t=i*3.14159/180;
x=xc+r*cos(t);
y=yc+r*sin(t);
lineto(x,y);
}
}

main()
{
int th1,th2;
int gd=DETECT,gm;
printf("input th1 and th2: ");
scanf("%f,%f",&th1,&th2);
initgraph(&gd,&gm,"");
setbkcolor(15);
setcolor(9);
yuanhu(320,240,100,th1,th2);
getch();
closegraph();
}
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqqqq 2008-07-08
  • 打赏
  • 举报
回复
moveto lineto 是画直线的吧.
ilovepc 2008-07-03
  • 打赏
  • 举报
回复
为什么不直接用函数呢?void far _Cdecl circle(int x, int y, int radius)
joyce02112003 2008-07-03
  • 打赏
  • 举报
回复
楼上说什么啊?
sansky99 2008-07-03
  • 打赏
  • 举报
回复

hgdiobj = CreatePen(...);
HGDIOBJ SelectObject(
HDC hdc, // handle to DC
HGDIOBJ hgdiobj // handle to object
);
xabcxyz 2008-07-03
  • 打赏
  • 举报
回复
逻辑上看不出问题来

yuanhu(320,240,100,th1,th2);

圆心:320,240
半径:100

以上参数是不是肯定能在你的图形设备显示方式下显示出来? 建议改为: 100,100,50试试

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧