1. 程式人生 > 實用技巧 >vc6.0graphics.h庫建立鐘錶

vc6.0graphics.h庫建立鐘錶

#include<stdio.h>
#include<time.h>
#include<graphics.h>//一個圖形繪製庫
#include<conio.h>
#include<math.h>
#include<windows.h>
#define pi 3.1415926535897932384626433832795028841971693//定義了一個常量pi(圓周率)
void main()
{
	time_t t1;//定義了一個time_t型別的變數,用來儲存日曆時間
	
	struct tm *T1;//定義了一個struc tm 型別結構體變數

	initgraph(700,700);//建立了一個繪圖視窗,大小為100*700.

	setbkcolor(BLACK);//設定了繪圖視窗的背景顏色

	setlinecolor(BLUE);//設定了線條顏色

	setlinestyle(PS_SOLID|PS_ENDCAP_ROUND,5);//設定了線條的分格,實線,圓端點,線條粗度

	circle(350,350,200);//畫圓,圓心為(350,350)半徑為200

	putpixel(350,350,RED);//繪製一個圓心,前兩個引數是園點位置,最後引數為圓點顏色

	setorigin(350,350);//將座標圓點移到引數位置


	double sspi=pi*2/360*6;//每一弧度的大小

	int i;


//用來表明時刻的小圓圈
	setlinecolor(WHITE);
	for (i=0;i<12;i++)
	{
		circle(200*cos(i*5*sspi),200*sin(i*5*sspi),1);
	}
	 

//用來表明時刻的小園點
	for (i<0;i<60;i++)
	{
		putpixel(200*cos(i*sspi),200*sin(i*sspi),WHITE);
	}
	int TT=100;//時針長度
	int MM=130;//分針長度
	int SS=160;//秒針長度
	while (1)
	{
		time(&t1);//time函式用來獲取當前的日曆時間
		T1=localtime(&t1);//將time函式所獲得的時間用localtime函式轉換為struct tm 型別

		setlinecolor(BLUE);
		line(0,0,(int)(TT*cos((15-T1->tm_hour*5)*sspi)),(int)(TT*sin((T1->tm_hour*5-15)*sspi)));//繪製時針
	
		setlinecolor(RED);
		line(0,0,(int)(MM*cos((15-T1->tm_min)*sspi)),(int)(MM*sin((T1->tm_min-15)*sspi)));//繪製分針
		
		setlinecolor(GREEN);
		line(0,0,(int)(SS*cos((15-T1->tm_sec)*sspi)),(int)(SS*sin((T1->tm_sec-15)*sspi)));//繪製秒針
	
		Sleep(100);//sleep函式將程式掛起一段時間,引數為毫秒。標頭檔案為windows.h
		setlinecolor(BLACK);//將線條顏色配置為黑色,用來隱藏時針,分針,秒針
		line(0,0,(int)(TT*cos((15-T1->tm_hour*5)*sspi)),(int)(TT*sin((T1->tm_hour*5-15)*sspi)));
		line(0,0,(int)(MM*cos((15-T1->tm_min)*sspi)),(int)(MM*sin((T1->tm_min-15)*sspi)));
		line(0,0,(int)(SS*cos((15-T1->tm_sec)*sspi)),(int)(SS*sin((T1->tm_sec-15)*sspi)));

	}
	
	_getch();//按任意鍵繼續,使得繪圖視窗停留,該函式標頭檔案時conio.h
}

結果圖: