c语言模拟时钟定时程序,模拟时钟的程序怎么写?

#include

#include

#include

#include

#include #define PI 3.141592653589793

int h,m,s,i,l,mon,y,d;

struct time t;

struct date data;

draw() {

gettime(&t); //取得时间信息到t

s=t.ti_sec; //秒

h=t.ti_hour; //时

m=t.ti_min; //分

getdate(&data); //取得日期信息到data

y=data.da_year; //年

mon=data.da_mon; //月

d=data.da_day; //日

//画出钟的外圆(即是轮廓)

setcolor(11);

circle(300,200,152);

setcolor(3); circle(300,200,157); //画出60个分钟刻度

for(i=0;i<60;i+=1) {

if(i%5==0) l=140;

else l=145;

line(300+150*sin(i*PI/30),200-150*cos(i*PI/30), 300+l*sin(i*PI/30),200-l*cos(i*PI/30)); } //画秒针

setcolor(19);

line(300,200,300+140*sin(s*PI/30),200-140*cos(s*PI/30)); //画分针

setcolor(3); line(300,200,300+110*sin(m*PI/30),200-110*cos(m*PI/30)); //画时针

setcolor(11);

line(300,200,300+90*sin(((float)h+(float)m/60)*PI/6),200-90*cos(((float)h+(float)m/60)*PI/6)); //标注钟盘上的"3"、"6"、"9"、"12"

settextstyle(3,0,2); outtextxy(430,190,"3"); outtextxy(295,320,"6");

outtextxy(160,190,"9"); outtextxy(293,60,"12"); }

main() {

int gd=DETECT,gm; initgraph(&gd,&gm,""); //初始化屏幕模式

setbkcolor(8);

while(!kbhit()) //若有键盘输入则跳出(结束程序)

{ draw(); //绘制钟

settextstyle(3,0,5); setcolor(9);

outtextxy(60,170,"my clock");

gotoxy(35,17); //打印出数字形式的时间(hh:mm:ss)

if(h<10) printf("0");printf("%d:",h);

if(m<10) printf("0");printf("%d:",m);

if(s<10) printf("0");printf("%d",s);

gotoxy(33,18);

printf("%d:",y); //打印出日期(mm:dd)

if(mon<10) printf("0");printf("%d:",mon);

if(d<10) printf("0");printf("%d",d);

sound(200); //让喇叭以200HZ叫一声

delay(70); //延时0.07秒,即是声音延续0.07秒

nosound(); //停止声音

sleep(1); //停止一秒

cleardevice(); //清屏 } }

6f83fddf9cb9ff6843fffd45e1807199.gif

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值