C语言模拟时钟转动程序
(5页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
19.90 积分
#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=0;i<60;i++) /*划钟点上的短线*/ { if(i%5==0) l=15; else l=5; x1=200*sin(i*6*pi/180)+300; y1=200*cos(i*6*pi/180)+240; x2=(200-l)*sin(i*6*pi/180)+300; y2=(200-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2); } }#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=0;i<60;i++) /*划钟点上的短线*/ { if(i%5==0) l=15; else l=5; x1=200*sin(i*6*pi/180)+300; y1=200*cos(i*6*pi/180)+240; x2=(200-l)*sin(i*6*pi/180)+300; y2=(200-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2); } } main() { int x,y,i,k=1; int gdriver=9,gmode=2; unsigned char h,m,s; int o,p,q; float n; struct time t[1]; struct date d[1]; initgraph(&gdriver,&gmode,"c:\\tc"); initgraph(&gdriver,&gmode,"c:\\tc"); for(i=0;i<=6;i++) { settextstyle(TRIPLEX_FONT,HORIZ_DIR,i); /*控制输出字符的字体,方向,大小*/ cleardevice(); settextjustify(1,1); /*在指定坐标上输出字符串*/ outtextxy(300,80,"12") ; outtextxy(300,390,"6"); outtextxy(140,230,"9"); outtextxy(460,230,"3"); outtextxy(380,100,"1"); outtextxy(220,100,"11"); outtextxy(430,160,"2"); outtextxy(430,310,"4"); outtextxy(380,370,"5"); outtextxy(220,370,"7"); outtextxy(160,160,"10"); outtextxy(160,310,"8"); } init(); setwritemode(1); /*设置画线的输出模式*/ if(k!=0) { getdate(d); /*获得系统日期函数*/ o=d[0].da_year; p=d[0].da_mon; q=d[0].da_day; gettime(t); /*获得系统时间函数*/ h=t[0].ti_hour; m=t[0].ti_min; s=t[0].ti_sec; } setcolor(7); /*设置时针颜色*/ n=(float)h+(float)m/60; d(150,n,30); /*画出时针*/ setcolor(14); /*设置分针颜色*/ d(170,m,6); /*画出分针*/ setcolor(4); /*设置秒针颜色*/ d(190,s,6); /*画出秒针*/ while(!kbhit()) /*控制程序按下任意键退出*/ { while(t[0].ti_sec==s) gettime(t); gotoxy(44,18); /*使光标移动到指定坐标*/ printf("\b\b\b\b\b\b\b\b\b"); /*退格,使表示时间的字符串不断变化*/ sound(400); /*按给定的频率打开PC扬声器*/ delay(70); /*中断程序的执行,时间为70毫秒*/ sound(200); delay(30); nosound(); /*按给定的频率关闭PC扬声器*/ 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(); } if(s<10) /*用字符的形式输出时间*/ 关 键 词: 语言 模拟 时钟 转动 程序
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。