当前位置:首页 » 操作系统 » 个性时钟源码

个性时钟源码

发布时间: 2022-06-08 18:10:21

⑴ 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

热点内容
解压水晶泥 发布:2025-01-10 23:27:23 浏览:634
小米摄像头如何改wifi密码 发布:2025-01-10 23:25:14 浏览:112
阿里云服务器首页 发布:2025-01-10 23:24:15 浏览:435
win2003单网卡搭建vpn服务器搭建 发布:2025-01-10 23:21:13 浏览:355
如何制作原始传奇脚本 发布:2025-01-10 23:00:30 浏览:118
小程序免费模板源码下载 发布:2025-01-10 22:55:23 浏览:234
gradle编译jar 发布:2025-01-10 22:54:36 浏览:797
服务器搭建棋牌游戏 发布:2025-01-10 22:53:49 浏览:643
java记事本程序 发布:2025-01-10 22:38:27 浏览:667
如何通过网吧电脑进入网吧服务器 发布:2025-01-10 22:22:30 浏览:707