個性時鍾源碼
⑴ C語言 電子時鍾源代碼程序 帶圖 謝謝 最好有注釋
#include <stdio.h>
#include <time.h>
#include"stdlib.h"
#include "windows.h"
void main ()
{
while(1)
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( " 07The current date/time is: %s", asctime (timeinfo) );
Sleep(1000);
system("cls");
}
}
⑵ C語言 時鍾 編程 源代碼 越繁復越好
幫你找了一個!希望對你有幫助……(個人覺得在C語言中比較花哨了)#include "stdio.h"
#include "graphics.h"
#include "math.h"
#include "time.h"
#include "dos.h"
#define r 200
#define pi 3.1415926
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300; /*遇到X(a,b,c) 就用x=a*cos(b*c*pi/180-pi/2)+300 替換*/
#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240; /*遇到Y(a,b,c) 就用y=a*sin(b*c*pi/180-pi/2)+240; 替換*/
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) /*宏定義不是說明或語句,在行末不必加分號,如加上分號則連分號也一起置換*/
/*
那麼就是當執行d(200,12,6)時 相當於寫了3句話
首先X(a,b,c) 也就是X(200,12,6) 這時計算x=200*cos(12*6*pi/180-pi/2)+300
也就是計算出了 以半徑為200,度數為12 步長為6 (實際上就是72度 但是這里又減去了pi/2 也就是72-45=27度)
的那點的橫坐標 也就是x的數值
然後執行Y(a,b,c)也就是Y(200,12,6)這時計算y=200*sin(12*6*pi/180-pi/2)+240
也就是計算出了 以半徑為200,度數為12 步長為6 (實際上就是72度 但是這里又減去了pi/2 也就是72-45=27度)
的那點的縱坐標 也就是y的數值
最後是 line(300,240,x,y) 也就是 畫線 這樣指針就出來了
那麼這里第一個參數是設置半徑長度 第二個參數是設置度數 第三個參數是設置步長(度數)
*/
main()
{
int x=300,y=240,bx,by,bx1,by1,bx2,by2,bx3,by3,jd,i,j,k,h1,m1,hc=0,l,ax,ay,n,p=0;
char b[]={'I',' ',' ',' ',' ','T','e','l','l',' ',' ',' ',' ','Y','o','u'};
int driver=VGA,mode=VGAHI; /*定義圖形驅動器*/
int h,m,s; /*定義時針hour 分針minute 秒針second*/
struct time t[1]; /*定義一個結構體名為time的數組,只有一個成員t[0]*/
registerbgidriver(EGAVGA_driver);
initgraph(&driver,&mode,""); /*設置圖形驅動器*/
setbkcolor(0); /*設置背景色為黑色*/
for(n=0;n<=27;n++) printf("\n");
for(n=0;n<=29;n++)
printf(" ");
setcolor(14); /*設置前景色為黃色*/
circle(x,y,r); /*以300,240,半徑為200畫大圓*/
setcolor(12); /*設置前景色為洋紅色*/
circle(x,y,190); /* 內部小圓*/
/*設置填充樣式及顏色*/
setfillstyle(SOLID_FILL,14); /*實心填充*/
floodfill(x,y,12); /* 填充表盤 填充色為洋紅(12) */
setfillstyle(SOLID_FILL,13); /*實心填充*/
floodfill(1,1,14);
setcolor(2); /*設置為綠色*/
/*畫表心*/
circle(x,y,2); /*表心小圓*/
circle(x,y,5); /*表心大圓*/
/*眼睛*/
ellipse(x-80,y-70,0,360,23,65); /*左 外面的橢圓*/
ellipse(x+80,y-70,0,360,23,65); /*右 外面的橢圓*/
ellipse(x-80,y-60,0,180,23,23); /*左 裡面的橢圓*/
setfillstyle(SOLID_FILL,0); /*實型填充 填充顏色為黑色*/
floodfill(x-80,y-60,2); /*填充顏色 綠色*/
ellipse(x+80,y-60,0,180,23,23); /*右 裡面的橢圓*/
setfillstyle(SOLID_FILL,0); /*實型填充 填充顏色為黑色*/
floodfill(x+80,y-70,2); /*填充顏色 綠色*/
/* outtextxy(225,380,"EmBEdDed 06241 ShiwU");
outtextxy(245,400,"MaDE In HuaXiA"); *//*六個鬍子*/
setcolor(5); /* 粉紅色 */
line(x-120,y+70,x-250,y+90);
line(x-120,y+90,x-250,y+110);
line(x-120,y+110,x-250,y+130);
line(x+120,y+70,x+250,y+90);
line(x+120,y+90,x+250,y+110);
line(x+120,y+110,x+250,y+130);
/*畫耳朵*/
arc(150,80,0,360,60); /*畫圓弧(此處完全可以用圓來代替)*/
setfillstyle(SOLID_FILL,14); /*填充色黃色*/
floodfill(150,80,5);
arc(450,80,0,360,60);
setfillstyle(SOLID_FILL,14);
floodfill(450,80,5);
setcolor(14); /*擦除內部圓弧痕跡*/
arc(150,80,0,360,60);
arc(450,80,0,360,60);
/*畫嘴*/
setcolor(0);
ellipse(x,y+60,160,340,23,23); /*用圓弧畫嘴*/
/*畫側臉*/
circle(x+120,y+10,23); /*前景色為0 側面的圓圈*/
setfillstyle( SOLID_FILL,12); /*實型填充 顏色為12 淡洋紅*/
floodfill(x+120,y+10,0); /*以側面的圓心為中心 邊緣顏色為0 白色 進行對封閉圖形的填充*/
setcolor(14); /*設置前景色為黃色 清除內部圓弧痕跡*/
circle(x+120,y+10,23); /*重新畫小圈*/
setcolor(0); /*前景色為0 側面的圓圈*/
circle(x-120,y+10,23); /*以下同上*/
setfillstyle( SOLID_FILL,12);
floodfill(x-120,y+10,0);
setcolor(14);
circle(x-120,y+10,23);ellipse(x,y+60,0,180,23,23);
for(i=0;i<60;i++)
{if(i%5==0) l=15;<br> else l=5;<br> ax=200*cos(i*6*pi/180)+300;<br> ay=200*sin(i*6*pi/180)+240;<br> bx=(200-l)*cos(i*6*pi/180)+300;<br> by=(200-l)*sin(i*6*pi/180)+240;<br> line(ax,ay,bx,by);</p><p> }
setwritemode(1); /*這句無敵了*/
gettime(t); /*得到系統時間給數組t實際上就是給了t[0]*/
h=t[0].ti_hour; /*時針數值給h*/
m=t[0].ti_min; /*分針數值給m*/
s=t[0].ti_sec;
/*秒針數值給s*/
setcolor(7); /*設置前景色為7 淡灰色*/
/*第一個參數是設置半徑長度 第二個參數是設置起始度數 第三個參數是設置步長(度數)*/
d(150,h,30); /*以半徑為150,h為起始度數,步長為30度,時針總共一圈才走12下*/
setcolor(14); /*設置分針顏色 1 藍色*/
d(170,m,6); /*以半徑170,m為起始度數,步長為6度,分針一圈走60下*/
setcolor(4); /*設置秒針顏色 4 紅色*/
d(190,s,6); /*以半徑190,s為起始度數,步長為6度,秒針一圈走60下*/
while(!kbhit()) /*當不敲擊鍵盤時候一直循環*/
{ while(t[0].ti_sec==s) /*判斷當前系統時間是否與剛才得到的秒時間相等,一定相等,沒有刷新系統時間*/
gettime(t);
setcolor(4);
d(190,s,6); /*所以重新刷新系統時間*/
s=t[0].ti_sec;
setfillstyle(SOLID_FILL,13); /*實心填充*/
floodfill(1,380,14);
if(p<=15)
{ setbkcolor(hc); printf("%c",b[p]); }
else
setbkcolor(0);
p++;
setcolor(4); /*設置秒針顏色為2 綠色*/
d(190,s,6);
if (t[0].ti_min!=m) /*判斷當前系統時間(分)與剛才得到的分是否相等*/
{
setcolor(14);
d(170,m,6);
m=t[0].ti_min;
d(170,m,6);
}
if (t[0].ti_hour!=h)
{
setcolor(7);
d(150,h,30);
h=t[0].ti_hour;
d(150,h,30);
}
setcolor(hc++);
if(hc==12)
hc=0;
ellipse(300,300,160,340,23,23); /*眼睛*/
ellipse(220,170,0,360,23,65);
ellipse(380,170,0,360,23,65);
ellipse(220,180,0,180,23,23);
ellipse(380,180,0,180,23,23); arc(150,80,20,250,59);
arc(450,80,-70,165,59);
} getch();
getch();
}
⑶ 用vb做的時鍾程序源代碼
你要的程序代碼來了,已經驗證OK!!!
Private Sub Form_Load()
Timer1.Interval = 1000
Label1.AutoSize = True
Label1.Caption = ""
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Now
End Sub
你在窗體上添加一個timer控制項和一個label標簽,把上面的代碼復制進去看結果吧!以後共同努力!!!
⑷ 誰知道一些個性時鍾的代碼告訴我幾個,拜託!
有一個c 的:
#include<math.h>
#include<dos.h>
#include<graphics.h>
#define CENTERX 320 /*表盤中心位置*/
#define CENTERY 175
#define CLICK 100 /*喀嗒聲頻率*/
#define CLICKDELAY 30 /*喀嗒聲延時*/
#define HEBEEP 10000 /*高聲頻率*/
#define LOWBEEP 500 /*低聲頻率*/
#define BEEPDELAY 200 /*報時聲延時*/
/*表盤刻度形狀*/
int Mrk_1[8]={-5,-160,5,-160,5,-130,-5,-130, };
int Mrk_2[8]={-5,-160,5,-160,2,-130,-2-130, };
/*時針形狀*/
int HourHand[8]={-3,-100,3,-120,4, 10,-4,10};
/*分針形狀*/
int MiHand[8]={-3,-120,3,-120,4, 10,-4,10};
/*秒針形狀*/
int SecHand[8]={-2,-150,2,-150,3, 10,-3,10};
/*發出喀嗒聲*/
void Click()
{
sound(CLICK);
delay(CLICKDELAY);
nosound();
}
/*高聲報時*/
void HighBeep()
{
sound(HEBEEP);
delay(BEEPDELAY);
nosound;
}
/*低聲報時*/
void LowBeep()
{
sound(LOWBEEP);
}
/*按任意角度畫多邊形*/
void DrawPoly(int *data,int angle,int color)
{
int usedata[8];
float sinang,cosang;
int i;
sinang=sin((float)angle/180*3.14);
cosang=cos((float)angle/180*3.14);
for(i=0;i<8;i+=2)
{
usedata[i] =CENTERX+ cosang*data[i]-sinang*data[i+1]+.5;
usedata[i+1]=CENTERY+sinang*data[i]+cosang*data[i+1]+.5;
}
setfillstyle(SOLID_FILL,color);
fillpoly(4,usedata);
}
/*畫表盤*/
void DrawClock(struct time *cutime)
{
int ang;
float hourrate,minrate,secrate;
setbkcolor(BLUE);
cleardevice();
setcolor(WHITE);
/* 畫刻度*/
for(ang=0;ang<360;ang+=90)
{
DrawPoly(Mrk_1,ang,WHITE);
DrawPoly(Mrk_2,ang+30,WHITE);
DrawPoly(Mrk_2,ang+60,WHITE);
}
secrate=(float)cutime->ti_sec/60;
minrate=((float)cutime->ti_min+secrate)/60;
hourrate=(((float)cutime->ti_hour/12)+minrate)/12;
ang=hourrate*360;
DrawPoly(HourHand,ang,YELLOW);/*畫時針*/
ang=minrate*360;
DrawPoly(MiHand,ang, GREEN);/*畫分針*/
ang=secrate*360;
DrawPoly(SecHand,ang, RED);/*畫秒針*/
}
main()
{
int gdriver=EGA,
gmode=EGAHI;
int curpage;
struct time curtime ,newtime ;
initgraph(&gdriver,&gmode,"c:\\tc");
setbkcolor(BLUE);
cleardevice();
gettime(&curtime);
curpage=0;
DrawClock(&curtime);
while(1)
{
if(kbhit())
break; /*按任意鍵退出*/
gettime(&newtime); /*檢測系統時間*/
if(newtime.ti_sec!=curtime.ti_sec)/*每1秒更新一次時間*/
{
if(curpage==0)
curpage=1;
else
curpage=0;
curtime=newtime;
/*設置繪圖頁*/
setactivepage(curpage);
/*在圖頁上畫表盤*/
DrawClock(&curtime);
/*設置繪圖頁為當前可見頁*/
setvisualpage(curpage);
/*0分0秒高聲報時*/
if(newtime.ti_min==0&&newtime.ti_sec==0)
HighBeep();
/* 59分55至秒時低聲報時*/
else if(newtime.ti_min==59&&
newtime.ti_sec<=59)
LowBeep();/*其他時間只發出喀嗒聲*/
else
Click();
}
}
closegraph();
}
⑸ 易語言時鍾代碼
可以呀,給時鍾周期事件里的每個子程序加個判斷,利用程序集變數來控制子程序是否運行,按鈕事件中改變相應的變數,達到控制的目的,給你寫的源碼如下
在窗口中加三個標簽 三個按鈕 一個時鍾
.版本 2
.程序集 窗口程序集1
.程序集變數 cs1, 邏輯型
.程序集變數 cs2, 邏輯型
.程序集變數 cs3, 邏輯型
.子程序 _按鈕1_被單擊
時鍾1.時鍾周期 = 100
cs1 = 取反 (cs1)
.判斷開始 (cs1 = 真)
按鈕1.標題 = 「停止」
.默認
按鈕1.標題 = 「運行」
.判斷結束
.子程序 _按鈕2_被單擊
時鍾1.時鍾周期 = 100
cs2 = 取反 (cs2)
.判斷開始 (cs2 = 真)
按鈕2.標題 = 「停止」
.默認
按鈕2.標題 = 「運行」
.判斷結束
.子程序 _按鈕3_被單擊
時鍾1.時鍾周期 = 100
cs3 = 取反 (cs3)
.判斷開始 (cs3 = 真)
按鈕3.標題 = 「停止」
.默認
按鈕3.標題 = 「運行」
.判斷結束
.子程序 _時鍾1_周期事件
.判斷開始 (cs1 = 真)
子程序1 ()
.默認
.判斷結束
.判斷開始 (cs2 = 真)
子程序2 ()
.默認
.判斷結束
.判斷開始 (cs3 = 真)
子程序3 ()
.默認
.判斷結束
.子程序 子程序1
標簽1.標題 = 標簽1.標題 + 「1」
.子程序 子程序2
標簽2.標題 = 標簽2.標題 + 「2」
.子程序 子程序3
標簽3.標題 = 標簽3.標題 + 「3」
⑹ 求用vc編 指針式時鍾 源代碼!
只實現了大體的時鍾外觀
用MFC 建單文檔程序 在生成的CMainFram類中的PreCreateWindow中添加 cs.cx=200;
cs.cy=290;
然後在View類的OnDraw函數中添加如下代碼:
const CRect rcBounds(10,10,180,180);
const CRect rcInvalid(10,10,180,180);
pDC->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
CPen pen(PS_SOLID,6,RGB(0,122,122));
pDC->SelectObject(&pen);
pDC->Rectangle(rcBounds);
//顯示Colock中的3,6,9,12
pDC->TextOut(rcBounds.right/2-8,rcBounds.top+rcBounds.bottom/12,"12");
pDC->TextOut(rcBounds.right/2-4,rcBounds.bottom-rcBounds.bottom/12-17,"6");
pDC->TextOut(rcBounds.left+rcBounds.right/12,rcBounds.bottom/2-4,"9");
pDC->TextOut(rcBounds.right-rcBounds.right/12-8,rcBounds.bottom/2-4,"3");
CTime time = CTime::GetCurrentTime();
int nTime_s = time.GetSecond();
int nTime_m = time.GetMinute();
int nTime_h = time.GetHour();
int nLength_S,nLength_M,nLength_H;
if(rcBounds.right < rcBounds.bottom)
{
nLength_S = rcBounds.right/2 - rcBounds.right/7;
nLength_M = rcBounds.right/2 - rcBounds.right/6;
nLength_H = rcBounds.right/2 - rcBounds.right/5;
}
else
{
nLength_S = rcBounds.bottom/2 - rcBounds.bottom/7;
nLength_M = rcBounds.bottom/2 - rcBounds.bottom/6;
nLength_H = rcBounds.bottom/2 - rcBounds.bottom/5;
}
CPoint ptOrigin,ptEndS,ptEndM,ptEndH;
//Origin Point
ptOrigin.x = rcBounds.right/2;
ptOrigin.y = rcBounds.bottom/2;
CPen pen4(PS_SOLID,4,RGB(255,200,40));
pDC->SelectObject(&pen4);
pDC->Rectangle(rcBounds.right/2-1,rcBounds.bottom/2+1,rcBounds.right/2+1,rcBounds.bottom/2-1);
//Second
ptEndS.x = (long)(nLength_S*cos(((nTime_s-15)*360/60)*PI/180) + ptOrigin.x);
ptEndS.y = (long)(nLength_S*sin(((nTime_s-15)*360/60)*PI/180) + ptOrigin.y);
//Minute
ptEndM.x = (long)(nLength_M*cos(((nTime_m-15)*360/60)*PI/180) + ptOrigin.x);
ptEndM.y = (long)(nLength_M*sin(((nTime_m-15)*360/60)*PI/180) + ptOrigin.y);
//Hour
if(nTime_h>=12)
{
ptEndH.x = (long)(nLength_H*cos(( ((nTime_h-12)*5-15+ nTime_m/15 )*360/60)*PI/180) + ptOrigin.x);
ptEndH.y = (long)(nLength_H*sin(( ((nTime_h-12)*5-15+ nTime_m/15 )*360/60)*PI/180) + ptOrigin.y);
}
else
{
ptEndH.x = (long)(nLength_H*cos(( (nTime_h*5-15+ nTime_m/15 )*360/60)*PI/180) + ptOrigin.x);
ptEndH.y = (long)(nLength_H*sin(( (nTime_h*5-15+ nTime_m/15 )*360/60)*PI/180) + ptOrigin.y);
}
//Draw
CPen pen1(PS_SOLID,4,RGB(0,0,255));
pDC->SelectObject(&pen1);
pDC->MoveTo(ptOrigin);
pDC->LineTo(ptEndH);
CPen pen2(PS_SOLID,2,RGB(255,0,255));
pDC->SelectObject(&pen2);
pDC->MoveTo(ptOrigin);
pDC->LineTo(ptEndM);
CPen pen3(PS_SOLID,1,RGB(255,0,0));
pDC->SelectObject(&pen3);
pDC->MoveTo(ptOrigin);
pDC->LineTo(ptEndS);
在View類中添加OnInitialUpdate虛函數 設置一定時器
SetTimer(1,400,NULL);
在OnTimer函數中使窗口重繪
Invalidate();
⑺ 誰能提供一個24小時制的flash時鍾源碼
題外說句,老師幾乎每屆都能看到鍾的代碼,幾乎一看見鍾的flash就會減分的,就算你把鍾調成轉一圈25小時的,老師也不會打高分的。
下面是時針轉24小時的代碼,別忘畫個24小時的圓形時鍾刻度盤做背景。如果想改成一天轉36小時的鍾,就用360/36=10,然後把hourHand一句的15改成10就可以啦,當然別忘記畫36小時鍾的刻度盤……汗
24小時時鍾的代碼(時針是24進制的,分針,秒針都是60進制的)
_root.onEnterFrame = function() {
myDate = new Date();
hourHand._rotation = myDate.getHours()*15+(myDate.getMinutes()/2);
minuteHand._rotation = myDate.getMinutes()*6+(myDate.getSeconds()/10);
secondHand._rotation = myDate.getSeconds()*6;
};
需要注意的是除了畫背景圓形鍾的刻度盤,還要畫時針,分針,秒針這三個影片剪輯元件,並且把針尾旋轉點對准舞台中心否則會轉偏。大小寫不許錯,把時針剪輯的實例名稱寫成hourHand,分針實例名稱minuteHand,秒針實例名稱secondHand
⑻ 求MFC做的桌面時鍾源代碼!
貌似很難啊
⑼ C語言時鍾源代碼
#include<graphics.h> /* 引入graphic.h */
#include<math.h> /* 引入math.h */
#include<dos.h> /* 引入dos.h */
#define pi 3.1415926 /*定義pi=3.14159*/
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;
#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) /*定義……*/
void init() /*初始化程序*/
{int i,l,x1,x2,y1,y2; /*定義……*/
setbkcolor(1); /*設置顏色*/
circle(300,240,200); /*作園*/
circle(300,240,205);
circle(300,240,5);
for(i=0;i<60;i++) /*循環(算時間)*/
{if(i%5==0) l=15;
else l=5;
x1=200*cos(i*6*pi/180)+300;
y1=200*sin(i*6*pi/180)+240;
x2=(200-l)*cos(i*6*pi/180)+300;
y2=(200-l)*sin(i*6*pi/180)+240;
line(x1,y1,x2,y2);
}
}
main()
{
int x,y;
int gd=VGA,gm=2;
unsigned char h,m,s; /*定義*/
struct time t[1];
initgraph(&gd,&gm,"d:\\tc");
init();
setwritemode(1);
gettime(t);
h=t[0].ti_hour;
m=t[0].ti_min;
s=t[0].ti_sec; /*定義時分秒*/
setcolor(7); /*設置顏色*/
d(150,h,30);
setcolor(14);
d(170,m,6);
setcolor(4);
d(190,s,6);
while(!kbhit()) /*獲取鍵盤相應*/
{while(t[0].ti_sec==s)
gettime(t); /*C語言中得到時間的函數*/
sound(400); /*計算時間……*/
delay(70);
sound(200);
delay(30);
nosound();
setcolor(4);
d(190,s,6);
s=t[0].ti_sec;
d(190,s,6);
if (t[0].ti_min!=m)
{
setcolor(14);
d(170,m,6);
m=t[0].ti_min;
d(170,m,6);
}
if (t[0].ti_hour!=h)
{ setcolor(7);
d(150,h,30);
h=t[0].ti_hour;
d(150,h,30);
sound(1000);
delay(240);
nosound();
delay(140);
sound(2000);
delay(240);
nosound();
}
}
getch(); /*設置空格後退出*/
closegraph();
}
http://..com/question/121241211.html