博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
改进时钟(小熊时钟)
阅读量:6236 次
发布时间:2019-06-22

本文共 4481 字,大约阅读时间需要 14 分钟。

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
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

 

转载于:https://www.cnblogs.com/firstsy0709/p/3644030.html

你可能感兴趣的文章
Windows Server 8 开发预览版
查看>>
CentOS在同一个窗口打开文件夹
查看>>
从零开始学MVC3——创建项目
查看>>
java笔记:熟练掌握线程技术---基础篇之解决资源共享的问题(中)--中篇
查看>>
Windows MDL原理总结
查看>>
12篇学通C#网络编程——第二篇 HTTP应用编程(上)(转)
查看>>
SSH服务连接时常见问题解答
查看>>
SQL Server2012中的Throw语句尝试
查看>>
[观点]尽可能的缓存
查看>>
怎么了解某一研究领域的总体发展趋势
查看>>
关于MapControl和PageLayoutControl同步的一点分析
查看>>
Convert an object into Json using SBJson or other JSON library
查看>>
C++中的类所占内存空间总结
查看>>
Java之命令模式(Command Pattern)
查看>>
WCF RIA Services 简单应用
查看>>
毕业了,校园里走走看看——华中科技大学
查看>>
C#.NET 添加图片水印
查看>>
wcf系列5天速成——第一天 binding的使用(1)
查看>>
ExtJs布局之viewport
查看>>
Lua学习笔记
查看>>