c语言电子时钟程序

简介: c语言电子时钟程序
/* 电子时钟程序 */
// 来自公众号:c语言与cpp编程
#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
#include <time.h> 
typedef struct 
{ 
     int x; 
     int y; 
}Point; 
time_t now; 
struct tm *pt,t1,t2; 
int printpoint(Point p) 
{ 
     Point p1; 
     p1.x=p.x+2;  p1.y=p.y+4; 
     gotoxy(p1.x,p1.y);     printf("%c%c",2,2); 
     gotoxy(p1.x, p1.y+1);   printf("%c%c",2,2); 
     p1.y+=4; 
     gotoxy(p1.x,p1.y);     printf("%c%c",2,2); 
     gotoxy(p1.x,p1.y+1);   printf("%c%c",2,2); 
     return 0; 
} 
int print0(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0||i==12) 
                printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
          else 
                printf("%c%4s%c",2," ",2); 
     } 
     return 0; 
} 
int print1(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          printf("%5s%c"," ",2); 
     } 
     return 0; 
} 
int print2(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0||i==6||i==12) 
                printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
          else if(i>0&&i<6) 
               printf("%5s%c"," ",2); 
               else 
                printf("%c",2); 
     } 
     return 0; 
} 
int print3(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0||i==6||i==12) 
                printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
          else 
                printf("%5s%c"," ",2); 
     } 
     return 0; 
} 
int print4(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i<6)  printf("%c%4s%c",2," ",2); 
          else if(i==6) 
                    printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
               else printf("%5s%c"," ",2); 
     } 
     return 0; 
} 
int print5(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0||i==6||i==12) 
                printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
          else if(i>0&&i<6) 
                printf("%c",2); 
               else 
                printf("%5s%c"," ",2); 
     } 
     return 0; 
} 
int print6(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0||i==6||i==12) 
                printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
          else if(i>0&&i<6) 
                printf("%c",2); 
               else 
                printf("%c%4s%c",2," ",2); 
     } 
     return 0; 
} 
int print7(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0)   printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
          else       printf("%5s%c"," ",2); 
     } 
     return 0; 
} 
int print8(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0||i==6||i==12) 
                printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
           else  printf("%c%4s%c",2," ",2); 
     } 
     return 0; 
} 
int print9(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     { 
          gotoxy(p.x+1, p.y+i); 
          if(i==0||i==6||i==12) 
                printf("%c%c%c%c%c%c",2,2,2,2,2,2); 
          else if(i>0&&i<6) 
                printf("%c%4s%c",2," ",2); 
               else 
                printf("%5s%c"," ",2); 
     } 
     return 0; 
} 
int clear(Point p) 
{ 
     int i=0; 
     for(;i<13;i++) 
     gotoxy(p.x,p.y+i); printf("%16s"," "); 
     return 0; 
} 
int printtime(Point p, int n) 
{ 
     int a,b; 
     Point pp; 
     a=n/10, b=n%10; 
     pp.x=p.x+8, pp.y=p.y; 
     switch(a) 
     { 
         case 0: print0(p); break; 
         case 1: print1(p); break; 
         case 2: print2(p); break; 
         case 3: print3(p); break; 
         case 4: print4(p); break; 
         case 5: print5(p); break; 
    } 
    switch(b) 
    { 
         case 0: print0(pp); break; 
         case 1: print1(pp); break; 
         case 2: print2(pp); break; 
         case 3: print3(pp); break; 
         case 4: print4(pp); break; 
         case 5: print5(pp); break; 
         case 6: print6(pp); break; 
         case 7: print7(pp); break; 
         case 8: print8(pp); break; 
         case 9: print9(pp); break; 
    } 
    return 0; 
} 
int main() 
{ 
      Point phour, pmin, psec,point1,point2; 
      phour.x=9, pmin.x=32, psec.x=55; 
      phour.y=pmin.y=psec.y=7; 
      point1.x=25, point2.x=49; 
      point1.y=point2.y=7; 
      clrscr(); 
      textbackground(YELLOW);         /* 设置背景颜色*/
      textcolor(RED);      /* 设置数字显示颜色*/
      now=time(0); 
      pt=localtime(&now); 
      t1=*pt; 
      printtime(phour, t1.tm_hour); 
      printpoint(point1); 
      printtime(pmin, t1.tm_min); 
      printpoint(point2); 
      printtime(psec, t1.tm_sec); 
      while(1) 
      { 
           now=time(0); 
       pt=localtime(&now); 
           t2=*pt; 
           if(t2.tm_sec!=t1.tm_sec) 
           { 
             t1=t2; 
             clrscr(); 
             printtime(phour, t1.tm_hour); 
             printpoint(point1); 
             printtime(pmin, t1.tm_min); 
             printpoint(point2); 
             printtime(psec, t1.tm_sec); 
           } 
           if(bioskey(1)==0) continue; 
           else exit(0); 
      } 
      return 0; 
}  
相关文章
|
5月前
|
存储 自然语言处理 编译器
【C语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
100 1
|
7月前
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
156 1
|
7月前
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
200 1
|
7月前
|
编译器 C语言 计算机视觉
C语言实现的图像处理程序
C语言实现的图像处理程序
282 0
|
4月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
109 5
|
4月前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
118 4
|
4月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
107 1
|
4月前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
97 2
|
4月前
|
程序员 C语言
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门。本文深入探讨了指针的基本概念、声明方式、动态内存分配、函数参数传递、指针运算及与数组和函数的关系,强调了正确使用指针的重要性,并鼓励读者通过实践掌握这一关键技能。
86 1
|
6月前
|
存储 编译器 程序员
C语言程序的基本结构
C语言程序的基本结构包括:1)预处理指令,如 `#include` 和 `#define`;2)主函数 `main()`,程序从这里开始执行;3)函数声明与定义,执行特定任务的代码块;4)变量声明与初始化,用于存储数据;5)语句和表达式,构成程序基本执行单位;6)注释,解释代码功能。示例代码展示了这些组成部分的应用。
218 10