#include "stdio.h"
#include "graphics.h"
#include "math.h"
#include "time.h"
#include "dos.h"
#include "stdlib.h"
#include "conio.h"
#define R 200
#define PI 3.1415926
#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(void)
void draw_bp(void)
void close(void)
void draw_kt(void)
int main(void)
{
int x,y,hc=0
int bx,by,ax,ay
int h,m,s
struct time t[1]
init()
draw_bp()
draw_kt()
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,h,6)
setcolor(4)
d(190,s,6)
while(!kbhit())
{
while(t[0].ti_sec==s)
gettime(t)
sound(400)
delay(70)
sound(200)
delay(30)
nosound()
setcolor(4)
d(190,s,6)
s=t[0].ti_sec
setfillstyle(SOLID_FILL,13)
floodfill(1,380,14)
setcolor(4)
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()
}
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(300,180,0,180,23,23)
ellipse(380,180,0,180,23,23)
arc(150,80,20,250,59)
}
close()
return 0
}
void init(void)
{
int driver,mode
driver=DETECT
initgraph(&driver,&mode,"c:\\tc")
cleardevice()
}
void draw_bp(void)
{
int x=300,y=240,i,n,l,ax,ay,bx,by
for(n=0n<27n++)
printf("\n")
for(n=0n<29n++)
printf(" ")
setbkcolor(0)
setcolor(14)
circle(x,y,R)
setcolor(12)
circle(x,y,190)
setfillstyle(SOLID_FILL,14)
floodfill(x,y,12)
setfillstyle(SOLID_FILL,13)
floodfill(1,1,14)
setcolor(2)
circle(x,y,2)
circle(x,y,5)
for(i=0i<60i++)
{
if(i%5==0)
l=15
else
l=5
ax=200*cos(i*6*PI/180)+300
ay=200*sin(i*6*PI/180)+240
bx=(200-l)*cos(i*6*PI/180)+300
by=(200-l)*sin(i*6*PI/180)+240
line(ax,ay,bx,by)
}
settextstyle(3,0,5)
outtextxy(260,380,"MADEIN CHINA")
}
void draw_kt(void)
{
int x=300,y=240
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)
setcolor(5)
circle(150,80,60)
setfillstyle(SOLID_FILL,14)
floodfill(150,80,5)
circle(450,80,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)
setfillstyle(SOLID_FILL,12)
floodfill(x+120,y+10,0)
setcolor(14)
circle(x+120,y+10,23)
setcolor(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)
}
void close(void)
{
getch()
closegraph()
}
给你2个选吧,都是原创:第1个:
#include<graphics.h>
#include<math.h>
#include<dos.h>
#define pi 3.1415926
#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=0i<60i++)
{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)
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()
}
第2个:
#include<graphics.h>
#include<math.h>
#include<dos.h>
#define PI 3.1415926
#define x0 320/*定义钟表中心坐标*/
#define y0 240
void DrawClock(int x,int y,int color) /*画表盘*/
{ int r=150/*表盘的半径*/
float th
setcolor(color)
circle(x,y,r)
circle(x,y,2)
}
void DrawHand(int x,int y,float th,int l,int color)
{
int x1,y1
x1=x+l*sin(th)
y1=y-l*cos(th)
setcolor(color)
line(x,y,x1,y1)
}
void main()
{int gdriver=DETECT,gmode
struct time curtime
float th_hour,th_min,th_sec
initgraph(&gdriver,&gmode,"")
setbkcolor(0)
while(! kbhit())
{
DrawClock(x0,y0,14)
gettime(&curtime) /*得到当前系统时间*/
gotoxy(35,20) /*定位输出位置*/
if((float)curtime.ti_hour<=12) /*午前的处理*/
{printf("AM ")
if((float)curtime.ti_hour<10) printf("0") /*十点之前在小时数前加零*/
printf("%.0f:",(float)curtime.ti_hour)
}
else /*午后的处理*/
{printf("PM ")
if((float)curtime.ti_hour-12<10) printf("0")
printf("%.0f:",(float)curtime.ti_hour-12)
}
if((float)curtime.ti_min<10) printf("0")
printf("%.0f:",(float)curtime.ti_min)
if((float)curtime.ti_sec<10) printf("0")
printf("%.0f",(float)curtime.ti_sec)
/*以下三行计算表针转动角度,以竖直向上为起点,顺时针为正*/
th_sec=(float)curtime.ti_sec*0.1047197551 /*2π/60=0.1047197551*/
th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0
th_hour=(float)curtime.ti_hour*0.523598775+th_min/12.0 /* 2π/12=0.5235987755 */
DrawHand(x0,y0,th_hour,70,2)/*画时针*/
DrawHand(x0,y0,th_min,110,3) /*分针*/
DrawHand(x0,y0,th_sec,140,12)/*秒针*/
sleep(1) /*延时一秒后刷新*/
cleardevice()
}
closegraph()
}
//图形库是EGE,下载后配置一下#include <iostream>
#include "graphics.h"
#include <math.h>
#include <time.h>
#include <windows.h>
#define x0 210.0
#define y0 210.0
#define r 200.0
POINT pt[60],pt_s[60],pt_m[60],pt_h[60],pt1[60]
using namespace std
int main()
{
initgraph(420,420)
setfillcolor(0xffccff)
setcolor(0xffccff)
fillellipse(x0,y0,10,10)
int s=45,m,h,n=0
while(n<60)
{
pt_s[s].x=x0+(int)((r-20)*cos((n-90)*3.1415926/30.0))
pt_s[s].y=y0+(int)((r-20)*sin((n-90)*3.1415926/30.0))
pt_m[s].x=x0+(int)((r-50)*cos((n-90)*3.1415926/30.0))
pt_m[s].y=y0+(int)((r-50)*sin((n-90)*3.1415926/30.0))
pt_h[s].x=x0+(int)((r-80)*cos((n-90)*3.1415926/30.0))
pt_h[s].y=y0+(int)((r-80)*sin((n-90)*3.1415926/30.0))
pt[s].x=x0+(int)(r*cos((n-90)*3.1415926/30.0))
pt[s].y=y0+(int)(r*sin((n-90)*3.1415926/30.0))
fillellipse(pt[s].x,pt[s].y,2,2)
n++
s++
if(s>=60)
{
s=0
}
}
for(int i=0i<12i++)
{
fillellipse(pt[i*5].x,pt[i*5].y,5,5)
}
int xs,ys,xm=-1,ym=-1,xh=-1,yh=-1
while(1)
{
int n,m
SYSTEMTIME st={0}
GetLocalTime(&st)
setcolor(0xffccff)
line(x0,y0,pt_s[st.wSecond].x,pt_s[st.wSecond].y)
xs=pt_s[st.wSecond].x
ys=pt_s[st.wSecond].y
if(pt_m[st.wMinute].x!=xm && pt_m[st.wMinute].y!=ym)
{
setcolor(0)
line(x0,y0,xm,ym)
xm=pt_m[st.wMinute].x
ym=pt_m[st.wMinute].y
setcolor(0xffccff)
}
line(x0,y0,pt_m[st.wMinute].x,pt_m[st.wMinute].y)
if(st.wHour>12)
{
n=st.wHour-12
}
else
{
n=st.wHour
}
m=(n*60+st.wMinute)/12
line(x0,y0,pt_h[m].x,pt_h[m].y)
Sleep(1000)
setcolor(0x0)
line(x0,y0,xs,ys)
fillellipse(x0,y0,10,10)
}
closegraph()
return 0
}