CLOCK.CPP
上传用户:wszmarenbt
上传日期:2013-04-26
资源大小:2552k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. #include<stdio.h>
  2. #include<dos.h>
  3. #include<conio.h>
  4. #include<math.h>
  5. #include<complex.h>
  6. #include<graphics.h>
  7. #define PI  3.14159
  8. int main(void)
  9. {
  10.    int X=300,Y=250,R=100,RR=130;
  11.    int X_HOUR,X_MINUTE,X_SECOND;
  12.    int Y_HOUR,Y_MINUTE,Y_SECOND;
  13.    int X_DRAW=0,Y_DRAW=0,R_DRAW=120;
  14.    int NUM=0;
  15.    struct  time T;
  16.    int driver=DETECT,mode;
  17.    registerbgidriver(EGAVGA_driver);
  18.    initgraph(&driver,&mode,"");
  19.    setlinestyle(0,1,3);
  20.    setcolor(LIGHTGRAY);
  21.    circle(X,Y,RR);
  22.    setlinestyle(0,1,1);
  23.    for(NUM=0;NUM<12;NUM++)
  24.    {
  25. setcolor(11);
  26. X_DRAW=X+R_DRAW*cos(NUM*2*PI/12);
  27. Y_DRAW=Y+R_DRAW*sin(NUM*2*PI/12);
  28. circle(X_DRAW,Y_DRAW,5);
  29. setfillstyle(1,11);
  30. if((NUM%3)==0)
  31. {
  32. floodfill(X_DRAW,Y_DRAW,11);
  33. }
  34.    }
  35.    while(!kbhit())
  36.    {
  37. gettime(&T);
  38. X_HOUR=X+(R/2)*cos(T.ti_hour*2*PI/12+T.ti_min*2*PI/(60*12)-PI/2);
  39. Y_HOUR=Y+(R/2)*sin(T.ti_hour*2*PI/12+T.ti_min*2*PI/(60*12)-PI/2);
  40. X_MINUTE=X+R*cos(T.ti_min*2*PI/60-PI/2)*3/4;
  41. Y_MINUTE=Y+R*sin(T.ti_min*2*PI/60-PI/2)*3/4;
  42. X_SECOND=X+R*cos(T.ti_sec*2*PI/60-PI/2);
  43. Y_SECOND=Y+R*sin(T.ti_sec*2*PI/60-PI/2);
  44. setcolor(YELLOW);
  45. line(X,Y,X_HOUR,Y_HOUR);
  46. setcolor(RED);
  47. line(X,Y,X_MINUTE,Y_MINUTE);
  48. setcolor(BLUE);
  49. line(X,Y,X_SECOND,Y_SECOND);
  50. delay(50);
  51. setcolor(BLACK);
  52. line(X,Y,X_HOUR,Y_HOUR);
  53. line(X,Y,X_MINUTE,Y_MINUTE);
  54. line(X,Y,X_SECOND,Y_SECOND);
  55.    }
  56.    getch();
  57.    closegraph();
  58.    return 0;
  59. }