分享

制作一个电子时钟C语言版

 承诺程序员之家 2016-05-31

平常我们常见的电子时钟,能够显示当下的时分秒信息,并且能够随时变化递增,记录着时间的流逝。今天,我要用c语言来制作这样一款电子时钟,看时间这把杀猪刀如何“一刀一刀”溜掉。我会一步一步引导大家了解制作过程。

制作一个电子时钟C语言版——C语言编程实战

首先,我们可以想到,需要获取系统的时间函数,并且显示在cmd控制台中。time.h是c/c++日期和时间头文件,用于获取系统日期和时间等要求。首先给出提取显示当前时间的1.0版本电子时钟。

#include<stdio.h>

#include<time.h>

#include<string.h>

int main()

{

char str[50];//定义字符串用于存储时间

time_t t;

struct tm *nt;//tm是time.h中定义的一个结构体

制作一个电子时钟C语言版——C语言编程实战

t=time(NULL);

nt=localtime(&t);//获取当前时间

strftime(str,50,"%Y-% m-%d %H:%M:%S ",nt);//strftime是根据当前计算机区域设置格式化本地时间日期

printf("现在时刻:%s\n",str);//打印现在时刻

getch();

return 0;

运行的结果如下:

制作一个电子时钟C语言版——C语言编程实战可以看出,的确做到了显示当前时间,但是很明显这不是电子时钟,电子时钟要不断运行变换时间,而不是让时间凝滞。那么,我们怎么实现真正的电子时钟呢?

我们一起思考:如果要实现时间变化,需要不断重新获取当前时间,并且将之前的显示清除掉,然后再打印显示当前时间,这样循环往复。所以,需要增加一个while(1)死循环,同时要增加一个清屏函数,清除原来的显示。清屏函数常用的就是system("cls")。下面是改进后的2.0版代码。

#include<stdio.h>

#include<time.h>

#include<string.h>
int main()

{

char str[50];

time_t t;

struct tm *nt;

while(1)

{

system("cls");//清屏函数

t=time(NULL);

nt=localtime(&t);

strftime(str,50,"%Y-%m-%d %H:%M:%S “,nt);

printf("现在时刻:%s\n",str);

}

getch();

return 0;

}

然后运行程序,就可以实现电子时钟了,时间不断刷新,秒数递增,时间随之递增。

制作一个电子时钟C语言版——C语言编程实战感兴趣的朋友赶紧试验下吧,为了我们的编程梦想走的更远,一起加油吧!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多