c语言电子时钟程序

举报
C语言与CPP编程 发表于 2021/06/03 23:27:52 2021/06/03
【摘要】 /* 电子时钟程序 */ // 来自公众号:c语言与cpp编程 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> typedef struct { int x; int y; }Point; time_t now; stru...

  
  1. /* 电子时钟程序 */
  2. // 来自公众号:c语言与cpp编程
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <conio.h>
  6. #include <time.h>
  7. typedef struct
  8. {
  9. int x;
  10. int y;
  11. }Point;
  12. time_t now;
  13. struct tm *pt,t1,t2;
  14. int printpoint(Point p)
  15. {
  16. Point p1;
  17. p1.x=p.x+2; p1.y=p.y+4;
  18. gotoxy(p1.x,p1.y); printf("%c%c",2,2);
  19. gotoxy(p1.x, p1.y+1); printf("%c%c",2,2);
  20. p1.y+=4;
  21. gotoxy(p1.x,p1.y); printf("%c%c",2,2);
  22. gotoxy(p1.x,p1.y+1); printf("%c%c",2,2);
  23. return 0;
  24. }
  25. int print0(Point p)
  26. {
  27. int i=0;
  28. for(;i<13;i++)
  29. {
  30. gotoxy(p.x+1, p.y+i);
  31. if(i==0||i==12)
  32. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  33. else
  34. printf("%c%4s%c",2," ",2);
  35. }
  36. return 0;
  37. }
  38. int print1(Point p)
  39. {
  40. int i=0;
  41. for(;i<13;i++)
  42. {
  43. gotoxy(p.x+1, p.y+i);
  44. printf("%5s%c"," ",2);
  45. }
  46. return 0;
  47. }
  48. int print2(Point p)
  49. {
  50. int i=0;
  51. for(;i<13;i++)
  52. {
  53. gotoxy(p.x+1, p.y+i);
  54. if(i==0||i==6||i==12)
  55. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  56. else if(i>0&&i<6)
  57. printf("%5s%c"," ",2);
  58. else
  59. printf("%c",2);
  60. }
  61. return 0;
  62. }
  63. int print3(Point p)
  64. {
  65. int i=0;
  66. for(;i<13;i++)
  67. {
  68. gotoxy(p.x+1, p.y+i);
  69. if(i==0||i==6||i==12)
  70. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  71. else
  72. printf("%5s%c"," ",2);
  73. }
  74. return 0;
  75. }
  76. int print4(Point p)
  77. {
  78. int i=0;
  79. for(;i<13;i++)
  80. {
  81. gotoxy(p.x+1, p.y+i);
  82. if(i<6) printf("%c%4s%c",2," ",2);
  83. else if(i==6)
  84. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  85. else printf("%5s%c"," ",2);
  86. }
  87. return 0;
  88. }
  89. int print5(Point p)
  90. {
  91. int i=0;
  92. for(;i<13;i++)
  93. {
  94. gotoxy(p.x+1, p.y+i);
  95. if(i==0||i==6||i==12)
  96. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  97. else if(i>0&&i<6)
  98. printf("%c",2);
  99. else
  100. printf("%5s%c"," ",2);
  101. }
  102. return 0;
  103. }
  104. int print6(Point p)
  105. {
  106. int i=0;
  107. for(;i<13;i++)
  108. {
  109. gotoxy(p.x+1, p.y+i);
  110. if(i==0||i==6||i==12)
  111. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  112. else if(i>0&&i<6)
  113. printf("%c",2);
  114. else
  115. printf("%c%4s%c",2," ",2);
  116. }
  117. return 0;
  118. }
  119. int print7(Point p)
  120. {
  121. int i=0;
  122. for(;i<13;i++)
  123. {
  124. gotoxy(p.x+1, p.y+i);
  125. if(i==0) printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  126. else printf("%5s%c"," ",2);
  127. }
  128. return 0;
  129. }
  130. int print8(Point p)
  131. {
  132. int i=0;
  133. for(;i<13;i++)
  134. {
  135. gotoxy(p.x+1, p.y+i);
  136. if(i==0||i==6||i==12)
  137. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  138. else printf("%c%4s%c",2," ",2);
  139. }
  140. return 0;
  141. }
  142. int print9(Point p)
  143. {
  144. int i=0;
  145. for(;i<13;i++)
  146. {
  147. gotoxy(p.x+1, p.y+i);
  148. if(i==0||i==6||i==12)
  149. printf("%c%c%c%c%c%c",2,2,2,2,2,2);
  150. else if(i>0&&i<6)
  151. printf("%c%4s%c",2," ",2);
  152. else
  153. printf("%5s%c"," ",2);
  154. }
  155. return 0;
  156. }
  157. int clear(Point p)
  158. {
  159. int i=0;
  160. for(;i<13;i++)
  161. gotoxy(p.x,p.y+i); printf("%16s"," ");
  162. return 0;
  163. }
  164. int printtime(Point p, int n)
  165. {
  166. int a,b;
  167. Point pp;
  168. a=n/10, b=n%10;
  169. pp.x=p.x+8, pp.y=p.y;
  170. switch(a)
  171. {
  172. case 0: print0(p); break;
  173. case 1: print1(p); break;
  174. case 2: print2(p); break;
  175. case 3: print3(p); break;
  176. case 4: print4(p); break;
  177. case 5: print5(p); break;
  178. }
  179. switch(b)
  180. {
  181. case 0: print0(pp); break;
  182. case 1: print1(pp); break;
  183. case 2: print2(pp); break;
  184. case 3: print3(pp); break;
  185. case 4: print4(pp); break;
  186. case 5: print5(pp); break;
  187. case 6: print6(pp); break;
  188. case 7: print7(pp); break;
  189. case 8: print8(pp); break;
  190. case 9: print9(pp); break;
  191. }
  192. return 0;
  193. }
  194. int main()
  195. {
  196. Point phour, pmin, psec,point1,point2;
  197. phour.x=9, pmin.x=32, psec.x=55;
  198. phour.y=pmin.y=psec.y=7;
  199. point1.x=25, point2.x=49;
  200. point1.y=point2.y=7;
  201. clrscr();
  202. textbackground(YELLOW); /* 设置背景颜色*/
  203. textcolor(RED); /* 设置数字显示颜色*/
  204. now=time(0);
  205. pt=localtime(&now);
  206. t1=*pt;
  207. printtime(phour, t1.tm_hour);
  208. printpoint(point1);
  209. printtime(pmin, t1.tm_min);
  210. printpoint(point2);
  211. printtime(psec, t1.tm_sec);
  212. while(1)
  213. {
  214. now=time(0);
  215. pt=localtime(&now);
  216. t2=*pt;
  217. if(t2.tm_sec!=t1.tm_sec)
  218. {
  219. t1=t2;
  220. clrscr();
  221. printtime(phour, t1.tm_hour);
  222. printpoint(point1);
  223. printtime(pmin, t1.tm_min);
  224. printpoint(point2);
  225. printtime(psec, t1.tm_sec);
  226. }
  227. if(bioskey(1)==0) continue;
  228. else exit(0);
  229. }
  230. return 0;
  231. }

文章来源: blog.csdn.net,作者:C语言与CPP编程,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41055260/article/details/112107073

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。