首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 程序开发 > C/C#/C++ > 正文
  • 用C++实现的一个时钟程序
      2007-7-4  来源:网络资源  编辑:Jsbulo  热度:

    #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*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();
    }