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

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

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

小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:三四一六三六七二七!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

#include

#include

#include

int main()

{

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

time_t t;

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

t=time(NULL);

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

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

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

getch();

return 0;

运行的结果如下:

可以看出,的确做到了显示当前时间,但是很明显这不是电子时钟,电子时钟要不断运行变换时间,而不是让时间凝滞。那么,我们怎么实现真正的电子时钟呢?

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

#include

#include

#include

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 ",str);

}

getch();

return 0;

}

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

感兴趣的朋友赶紧试验下吧,为了我们的编程梦想走的更远,一起加油吧!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180406A09RUA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券