當前位置:編程學習大全網 - 編程語言 - 200高分 C語言程序設計 畫圖 問題 (WinTC)

200高分 C語言程序設計 畫圖 問題 (WinTC)

/*?WIN-TC?BGI?圖形編程模板?*/

#include?<dos.h>

#include?<math.h>

#include?"Conio.h"

#include?"graphics.h"

#define?closegr?closegraph

#define?PI?3.14

void?initgr(void)?/*?BGI初始化?*/

{

int?gd?=?DETECT,?gm?=?0;?/*?和gd?=?VGA,gm?=?VGAHI是同樣效果?*/

registerbgidriver(EGAVGA_driver);/*?註冊BGI驅動後可以不需要.BGI文件的支持運行?*/

initgraph(&gd,?&gm,?"");

}

int?main(void)

{

int?r?=?200;

int?cx;

int?cy;

int?i;

int?x1;

int?x2;

int?y1;

int?y2;

int?x3;

int?y3;

int?xh;

int?yh;

int?xm;

int?ym;

int?xs;

int?ys;

int?r_h?=?120;

int?r_m?=?150;

int?r_s?=?180;

struct?time?t;

initgr();?/*?BGI初始化?*/

/*****此部分添加妳自己的代碼,例如

line(25,?25,?220,?220);

circle(100,?100,?50);

等等*****/

cleardevice();

setwritemode(XOR_PUT);?

setbkcolor(BLUE);

setcolor(RED);

cx?=?getmaxx()/2;

cy?=?getmaxy()/2;

circle(cx,cy,r);

for(i=1;i<=60;i++)

{

setcolor(YELLOW);

if(i%5==0)

{

x3?=?cx?+?(r-10)*sin(i*PI/30);

y3?=?cy?+?(r-10)*cos(i*PI/30);

setfillstyle(SOLID_FILL,GREEN);

fillellipse(x3,y3,10,10);

}

else

{

x1?=?cx?+?r*sin(i*PI/30);

y1?=?cy?-?r*cos(i*PI/30);

x2?=?cx?+?(r-10)*sin(i*PI/30);

y2?=?cy?-?(r-10)*cos(i*PI/30);

line(x1,y1,x2,y2);

}

}

while(1)

{

gettime(&t);

xh?=?cx?+?r_h*sin(t.ti_hour%12*PI/6?+?t.ti_min*PI/360);

yh?=?cy?-?r_h*cos(t.ti_hour%12*PI/6?+?t.ti_min*PI/360);

xm?=?cx?+?r_m*sin(t.ti_min*PI/30?+?t.ti_sec*PI/3600);

ym?=?cy?-?r_m*cos(t.ti_min*PI/30?+?t.ti_sec*PI/3600);

xs?=?cx?+?r_s*sin(t.ti_sec*PI/30);

ys?=?cy?-?r_s*cos(t.ti_sec*PI/30);

setcolor(YELLOW);

line(cx,cy,xh,yh);

line(cx,cy,xm,ym);

setcolor(RED);

line(cx,cy,xs,ys);

sleep(1);/*這個地方可能會很頭疼?*/

setcolor(YELLOW);

line(cx,cy,xh,yh);

line(cx,cy,xm,ym);

setcolor(RED);

line(cx,cy,xs,ys);

}

getch();?/*?暫停壹下,看看前面繪圖代碼的運行結果?*/

closegr();?/*?恢復TEXT屏幕模式?*/

return?0;

}

dosbox上跑程序?抓圖

  • 上一篇:單片機 用c語言實現數字時鐘 圖已經給出
  • 下一篇:數據結構編程樹的重構題目如下?
  • copyright 2024編程學習大全網