• 改进时钟(小熊时钟)


      1 #include<graphics.h>
      2 #include<conio.h>
      3 #include<math.h>
      4 #include<stdio.h>
      5 #include<windows.h>
      6 #include<iostream.h> 
      7 #define PI 3.1415926 
      8 void Draw(int hour,int minute,int second)
      9 {
     10 double a_hour,a_min,a_sec;
     11 int x_hour,y_hour,x_min,y_min,x_sec,y_sec;
     12 int x_hour1,y_hour1,x_min1,y_min1,x_sec1,y_sec1; 
     13 a_sec = second*2*PI/60;
     14 a_min = minute*2*PI/60+a_sec/60;
     15 a_hour= hour*2*PI/12+a_min/12; 
     16 x_sec = 320 +(int)(115 * sin(a_sec));
     17 y_sec = 240 -(int)(115 * cos(a_sec)); 
     18 x_min = 320 + (int)(100 * sin(a_min));
     19 y_min = 240 - (int)(100 * cos(a_min)); 
     20 x_hour= 320 + (int)(70 * sin(a_hour));
     21 y_hour= 240 - (int)(70 * cos(a_hour));
     22 /*------------------------------------------------------*/
     23 x_sec1 = 320 +(int)(30 * sin(a_sec));
     24 y_sec1 = 240 -(int)(30 * cos(a_sec)); 
     25 x_min1 = 320 + (int)(20 * sin(a_min));
     26 y_min1 = 240 - (int)(20 * cos(a_min)); 
     27 x_hour1= 320 + (int)(20 * sin(a_hour));
     28 y_hour1= 240 - (int)(20 * cos(a_hour)); 
     29 setlinestyle(PS_SOLID,6);
     30 setcolor(WHITE);
     31 line(320,240,x_hour,y_hour);
     32 line(320, 240, 640-x_hour1,480-y_hour1 ); 
     33 setlinestyle(PS_SOLID,4);
     34 setcolor(LIGHTGRAY);
     35 line(320, 240, x_min, y_min);
     36 line(320, 240, 640-x_min1,480-y_min1 );
     37 setlinestyle(PS_SOLID,2);
     38 setcolor(RED);
     39 line(320, 240, x_sec, y_sec);
     40 //line(320, 240, x_sec1, y_sec1);
     41 line(320, 240, 640-x_sec1,480-y_sec1 );
     42 } 
     43 void main(void)
     44 {
     45 initgraph(640,480);
     46 /*----------------------------------------------------------------*/
     47 circle(320,240,4);
     48 circle(320,240,115);
     49 circle(320,240,120); 
     50 rectangle(300,360,340,400);
     51 rectangle(250,400,390,440); 
     52 circle(200,120,50);
     53 circle(200,120,45);
     54 
     55 circle(440,120,50);
     56 circle(440,120,45); 
     57 outtextxy(210,235,'9');
     58 outtextxy(425,235,'3');
     59 outtextxy(315,130,"12");
     60 outtextxy(315,339,'6'); 
     61 outtextxy(262,322,'7');
     62 outtextxy(260,145,"11");
     63 
     64 outtextxy(370,322,'5');
     65 outtextxy(370,145,'1'); 
     66 outtextxy(225,287,'8');
     67 outtextxy(408,287,'4'); 
     68 outtextxy(222,185,"10");
     69 outtextxy(410,181,'2'); 
     70 outtextxy(180,110,"");
     71 outtextxy(220,110,"");
     72 outtextxy(410,110,"星期"); 
     73 /*----------------------------------------------------------------*/ 
     74 setwritemode(R2_XORPEN); 
     75 SYSTEMTIME ti; // SYSTEMTIME是一个结构体 // 
     76 char Second_R[1],Second_L[1];
     77 char Minute_R[1],Minute_L[1];
     78 char Hour_R[1],Hour_L[1]; 
     79 while(!kbhit())
     80 {
     81 GetLocalTime(&ti); 
     82 // 把当前的时间给结构体变量ti,让它保存数据,用&ti作为实参是因为形参是指针,指针进行操作,直接改变原来的数据 //
     83 /*----------------------------------------------------------------*/
     84 switch(ti.wDayOfWeek)
     85 {
     86 case 0: setcolor(LIGHTRED);
     87 outtextxy(450,110,"");
     88 break; 
     89 case 1: setcolor(YELLOW);
     90 outtextxy(450,110,"");
     91 break; 
     92 case 2: setcolor(LIGHTCYAN);
     93 outtextxy(450,110,"");
     94 break; 
     95 case 3: setcolor(LIGHTBLUE);
     96 outtextxy(450,110,"");
     97 break; 
     98 case 4: setcolor(LIGHTGREEN);
     99 outtextxy(450,110,"");
    100 break; 
    101 case 5: setcolor(LIGHTMAGENTA);
    102 outtextxy(450,110,"");
    103 break; 
    104 case 6: setcolor(RGB(255,128,0));
    105 outtextxy(450,110,"");
    106 break;
    107 }
    108 /*----------------------------------------------------------------*/
    109 
    110 char Day[2],Month[2],Year[4]; 
    111 setcolor(CYAN);
    112 sprintf(Month,"%d",ti.wMonth);
    113 outtextxy(160,110,Month);
    114 sprintf(Day,"%d",ti.wDay);
    115 outtextxy(205,110,Day); 
    116 
    117 setcolor(LIGHTMAGENTA);
    118 sprintf(Year,"%d",ti.wYear);
    119 outtextxy(305,370,Year); 
    120 /*----------------------------------------------------------------*/ 
    121 Draw(ti.wHour,ti.wMinute,ti.wSecond);
    122 /*----------------------------------------------------------------*/ sprintf(Hour_R, "%d", ti.wHour %10);
    123 sprintf(Hour_L,"%d", (int)ti.wHour /10);
    124 outtextxy(272,420,Hour_L);
    125 outtextxy(280,420,Hour_R); 
    126 outtextxy(300,420,':');
    127 
    128 sprintf(Minute_R, "%d", ti.wMinute %10);
    129 sprintf(Minute_L,"%d", (int)ti.wMinute /10);
    130 outtextxy(312,420,Minute_L);
    131 outtextxy(320,420,Minute_R); 
    132 outtextxy(340,420,':');
    133 
    134 sprintf(Second_R, "%d", ti.wSecond %10);
    135 sprintf(Second_L,"%d", (int)ti.wSecond /10);
    136 outtextxy(352,420,Second_L);
    137 outtextxy(360,420,Second_R); 
    138 Sleep(1000);
    139 Draw(ti.wHour,ti.wMinute,ti.wSecond);
    140 }
    141 
    142 /*----------------------------------------------------------------*/
    143 
    144 getch();
    145 closegraph(); 
    146 }
    View Code
  • 相关阅读:
    计数排序
    CSS3变形
    前端内存泄露问题
    复杂对象的深拷贝
    JavaScript基本数据类型——Symbol
    随机打乱数组
    唯一重复的数字
    src和href的区别
    iframe的缺点
    link和@import的区别
  • 原文地址:https://www.cnblogs.com/firstsy0709/p/3644030.html
Copyright © 2020-2023  润新知