整点报时源程序.doc_第1页
整点报时源程序.doc_第2页
整点报时源程序.doc_第3页
整点报时源程序.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

#include #define PI 3.1416#includemath.h#includedos.h#include#include#define S1 45#define S2 S1/2#define S4 S1/4#define S8 S1/8#define S16 S1/16enum FREQDEF L1=131,L2=147,L3=165,L4=175,L5=196,L6=220,L7=247, N1=262,N2=296,N3=330,N4=349,N5=392,N6=440,N7=494, H1=523,H2=587,H3=659,H4=698,H5=784,H6=880,H7=988, I1=1047,I2=1175,I3=1319,I4=1397,I5=1568,I6=1760,I7=1976song= N2,S4,N2,S8,N3,S16,N2,S16,N1,S4,L6,S4,L5,S8,L3,S8,L5,S8,L6,S8,N1,S2,L6,S4, L6,S8,N1,S8,N5,S8,N6,S8,N3,S8,N5,S8,N2,S1,N3,S4,N3,S8,N2,S8,N3,S8,N5,S4,N3,S4, L5,S8,L3,S8,L5,S8,L6,S8,N1,S2,L6,S4,L6,S8,N1,S8,L6,S8,L6,S8,L2,S8,L3,S8,L5,S1,N2,S4, N2,S4,N5,S4,N6,S8,N5,S8,N4,S2,N5,S2,N6,S4,N5,S8,N3,S8,N2,S8,N3,S16,N2,S16,N1,S8,L6,S16, N1,S16,N2,S1,N3,S4,N2,S8,N3,S8,N5,S4,N3,S4,L5,S8,L3,S8,L5,S8,L6,S8,N1,S2,L6,S4, L6,S8,N1,S8,N2,S8,L6,S8,N1,S8,N3,S8,N2,S1,0;/*编写报时音乐*/void init_sceen(int,int,int); /*画时钟屏幕*/void sec();void main()int x0=320,y0=240,r0=150; /* 时钟的中心位置(320,240) 以及 半径(150) */init_sceen(x0,y0,r0);sec();closegraph();void init_sceen(int x0,int y0,int r0)int i,x,y,graphdriver,graphmode;char s10;float alpha,a0=90;graphdriver=DETECT;initgraph(&graphdriver,&graphmode,); /* 初始化图形系统 */setbkcolor(0); /* 设置背景颜色为黑色 */setcolor(2); /* 用绿色画出时钟的边框 */fillellipse(x0,y0,r0+50,r0+30);fillellipse(x0,y0,r0+50,r0+30);setcolor(2); fillellipse(200,80,30,50);fillellipse(200,100,18,30);fillellipse(430,80,30,50);fillellipse(430,100,18,30); /* 用绿色画出耳朵 */setcolor(0);circle(260,180,15);circle(380,180,15);circle(260,180,2);circle(380,180,2); /* 用黑色画出眼睛 */setcolor(2);line(260,220,180,210);line(260,240,175,240);line(260,260,180,270);line(380,220,460,210);line(380,240,465,240);line(380,260,460,270); /* 用绿色画出胡子 */setfillstyle(1,1); /* 把时钟钟面以外都填成蓝色 */floodfill(x0-r0-50,y0,2);for(i=12;i=1;i-) /* 计算出数字112的位置 并在相应的位置输出数字*/ alpha=(a0+30*(11-i)*PI/180)+0.05; x=x0+cos(alpha)*r0-10; y=y0-sin(alpha)*r0-5; /* 使显示的数字水平 */ sprintf(s,%2d,i); setcolor(4); settextstyle(0,0,1); /* 设置输出数字的字体 大小 */ outtextxy(x,y,s); /*画出刻度*/ for(i=60;i=1;i-) alpha=(a0+6*(60-i)*PI/180)+10; /* 使显示的刻度水平 */ x=x0+cos(alpha)*(r0-20); y=y0-sin(alpha)*(r0-20); setcolor(14); if(i%5=0) circle(x,y,5); else circle(x,y,2); floodfill(x,y,14); setlinestyle(0,0,3); /*以上部分的作用是完成表盘的设计*/ void sec(void)int x,y,i,j,k,xj,yj,xk,yk,xi,yi,x0=320,y0=240,r0=150;union REGS r;unsigned char *shijian=;unsigned char *daa=;struct time tim;struct date dat;float alphai,alphak,alphaj,a0=90;xi=x0;yi=y0;xj=x0;yj=y0;xk=x0;yk=y0;do x=38;y=12;gettime(&tim); /* 从本机中获取时间 */sprintf(shijian,%02d:%02d:%02d,tim.ti_hour,tim.ti_min,tim.ti_sec);char a10;setcolor(RED);sprintf(shijian,%02d:%02d:%02d,tim.ti_hour,tim.ti_min,tim.ti_sec);outtextxy(290,320,shijian);/* 显示时间 */if(0tim.ti_hour8); control=inportb(0x61); outportb(0x61,(control)|0x3); goal=(clock_t)dur+clock(); while(goalclock(); if(fre) outportb(0x61,control); goal=(clock_t)0; note=note+2; /* 整点报时 */ /*获取日期*/getdate(&dat);sprintf(daa,%02d-%02d-%02d,dat.da_year,dat.da_mon,dat.da_day);bar(255,290,385,310); /* 一数字的形式输出日期 */setcolor(RED);outtextxy(275,295,daa);x=290;y=460;setcolor(RED);outtextxy(230,y,Designed by DUAN ZHI HAO); /* 在指定位置显示字符 */setcolor(LIGHTRED);outtextxy(x,y0+20, WATCH );setlinestyle(0,0,3);k=tim.ti_hour;j=tim.ti_min;i=tim.ti_sec;alphak=(a0+30*(12-k)-j*5/60.*6)*PI/180;alphaj=(a0-6*j)*PI/180; /* 画秒针 */alphai=(a0+6*(60-i)*PI/180;x=x0+cos(alphai)*(r0-32);y=y0-sin(alphai)*(r0-32);setcolor(WHITE);line(x0,y0,xi,yi);setcolor(RED);line(x0,y0,x,y);xi=x;yi=y; /* 画分针 */ x=x0+cos(alphaj)*(r0-60);y=y0-sin(alphaj)*(r0-60);setcolor(WHITE);line(x0,y0,xj,yj);setcolor(12);line(x0,y0,x,y);xj=x;yj=y;/*

温馨提示

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

评论

0/150

提交评论