@海之蓝@ 发表于 2006-6-6 06:00

〖求助〗各位学长帮俺看看

   设计一个简单的作图系统,要求在屏幕上可以任意作出圆(半径可变),矩形(边长可变),直线(长度可变),椭圆(大小可变)具体可参照操作系统里的附件里的画图软件。附带详细程序清单说明。


   问下这种C语言程序有没什么编的技巧啊??
   
   谢了!!!
    

绝望领域 发表于 2006-6-7 00:05

没什么技巧,就是一个调用图形函数库里的函数.可以去查一下相关的 函数库 的使用方法.

@海之蓝@ 发表于 2006-6-8 01:47

谢谢了!!!

绿水 发表于 2006-6-9 06:43

我这里有个你看看 

                              

/* WIN-TC BGI 图形编程模板sun314 20:15:33 */

#include "Conio.h"
#include "graphics.h"
#include "math.h"
#define closegr closegraph

void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, "");
}

int main(void)
{
   double a=0.1,b=0,x,y,xx=300,yy=220,w=3;
   int c=1;
   initgr();
   getch();
   for(a=0;a<=10000;a=a+0.01)
   {
      b=b+0.1;
      if(w==1){xx=xx+0.1;yy=yy+0.1;}
      if(w==2){xx=xx+0.1;yy=yy-0.1;}
      if(w==3){xx=xx-0.1;yy=yy-0.1;}
      if(w==4){xx=xx-0.1;yy=yy+0.1;}
      if(xx>=550&&w==1){w=4;cleardevice();}
      if(xx>=550&&w==2){w=3;cleardevice();}
      if(xx<=60&&w==3){w=2;cleardevice();}
      if(xx<=60&&w==4){w=1;cleardevice();}
      if(yy>=380&&w==1){w=2;cleardevice();}
      if(yy>=380&&w==4){w=3;cleardevice();}
      if(yy<=60&&w==2){w=1;cleardevice();}
      if(yy<=60&&w==3){w=4;cleardevice();}
      for(c=1;c<=6;c++)
      {
         setcolor(c);
          x=(sin((a+3*c)*3.1415926*20/180)*30)+sin((a+3*c)*3.1415926*200/180)*50+xx;
         y=(cos((a+3*c)*3.1415926*20/180)*30)+cos((a+3*c)*3.1415926*200/180)*50+yy;
         circle(x,y,8);
      }
      for(c=1;c<=6;c++)
      {
         setcolor(0);
         x=(sin((a+3*c-0.5)*3.1415926*20/180)*30)+sin((a+3*c-0.5)*3.1415926*200/180)*50+xx;
         y=(cos((a+3*c-0.5)*3.1415926*20/180)*30)+cos((a+3*c-0.5)*3.1415926*200/180)*50+yy;
         circle(x,y,8);
      }

    }

         



getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
closegr(); /* 恢复TEXT屏幕模式 */
return 0;
}

绿水 发表于 2006-6-9 06:44

运行后点回车

@海之蓝@ 发表于 2006-6-14 23:35

谢谢了,偶去试试!!
页: [1]
查看完整版本: 〖求助〗各位学长帮俺看看