C语言绘制简单时钟小程序_第1页
C语言绘制简单时钟小程序_第2页
C语言绘制简单时钟小程序_第3页
C语言绘制简单时钟小程序_第4页
C语言绘制简单时钟小程序_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第C语言绘制简单时钟小程序本文实例为大家分享了C语言绘制时钟小程序的具体代码,供大家参考,具体内容如下

先贴效果图给大家先看看

基本机制是通过获取系统的时钟去绘制图线进行展示

贴出代码,大家可以直接使用的.程序我进一步的讲解

#includegraphics.h

#includeconio.h

#includemath.h

#includetime.h

#definehigh480

#definewidth640

#definepi3.141592

intmain()

initgraph(high,width);

intcenter_x,center_y;

center_y=width/2;

//320

center_x=high/2;//240

SYSTEMTIMEti;//获取系统的时间

//秒针属性

intsecondEnd_x,secondEnd_y;

intsecondLenth=120;

secondEnd_x=center_x+secondLenth;

secondEnd_y=center_y;

floatsecondAngle=0;

//分钟属性

intminuteEnd_x,minuteEnd_y;

floatminuteAngle=0;

intminuteLenth=90;

minuteEnd_x=center_x+minuteLenth;

minuteEnd_y=center_y+minuteLenth;

//

时钟属性

inthoursEnd_x,hoursEnd_y;

floathoursAngle=0;

inthoursLenth=60;

hoursEnd_x=center_x+hoursLenth;

hoursEnd_y=center_y+hoursLenth;

BeginBatchDraw();

while(1)

{

//获取时间

GetLocalTime(ti);

//绘制中心坐标

//setlinecolor(WHITE);

//fillcircle(center_x,center_y,2);

//绘制一个表盘

setbkcolor(BLACK);

setlinestyle(PS_SOLID,1);

setlinecolor(WHITE);

circle(center_x,center_y,130);

//outtextxy(center_x-25,center_y+width/6,"我的时钟");

//输出字符串(VC6)

TCHARs[]=_T("我的时钟");

outtextxy(210,400,s);

//绘制表盘刻度

int

x,y,i;

for(i=0;ii++)

{

x=center_x+125*sin(i*2*pi/60);

y=center_y-125*cos(i*2*pi/60);

//一刻钟

if(i%15==0)

{

bar(x-5,y-5,x+5,y+5);

}

elseif(i%5==0)//5分钟

{

circle(x,y,3);

}

else

{

putpixel(x,y,WHITE);//小白点

}

}

//转动秒针

secondAngle=ti.wSecond*2*pi/60;

//

2*pi/60=一秒钟走的角度

ti.wSecond

=系统当前秒

secondEnd_x=center_x+secondLenth*sin(secondAngle);

secondEnd_y=center_y-secondLenth*cos(secondAngle);

//转动分钟

minuteAngle=ti.wMinute*2*pi/60

+secondAngle/60;

minuteEnd_x=center_x+minuteLenth*sin(minuteAngle);

minuteEnd_y=center_y-minuteLenth*cos(minuteAngle);

//转动时钟

hoursAngle=ti.wHour*2*pi/12+minuteAngle/60;

hoursEnd_x=center_x+hoursLenth*sin(hoursAngle);

hoursEnd_y=center_y+hoursLenth*cos(hoursAngle);

//绘制秒针

setlinecolor(YELLOW);

setlinestyle(PS_SOLID,1);

line(center_x,center_y,secondEnd_x,secondEnd_y);

//绘制分钟

setlinecolor(BLUE);

setlinestyle(PS_SOLID,3);

line(center_x,center_y,minuteEnd_x,minuteEnd_y);

//绘制时钟

setlinecolor(RED);

setlinestyle(PS_SOLID,5);

line(center_x,center_y,hoursEnd_x,hoursEnd_y);

FlushBatchDraw();

Sleep(50);

//隐藏秒针

setlinecolor(BLACK);

line(center_x,center_y,secondEnd_x,secondEnd_y);

//隐藏分针

setlinecolor(BLACK);

line(center_x,center_y,minuteEnd_x,minuteEnd_y);

//隐藏时针

setlinecolor(BLACK);

line(center_x,center_y,hoursEnd_x,hoursEnd_y);

}

EndBatchDraw();

_getch();

closegraph();

return0;

}

第一:秒钟角度转动的讲解

1.首先数学基础不错的都知道,一个圆圈,一圈的角度是2,所以一秒就是2/60.

2.angle角度就是指和12点钟方向的夹角,比如1点和12

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论