iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >怎么使用C语言实现计时器
  • 180
分享到

怎么使用C语言实现计时器

2023-06-25 16:06:41 180人浏览 独家记忆
摘要

本篇内容主要讲解“怎么使用C语言实现计时器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用C语言实现计时器”吧!实现思路简单介绍一下我的实现思路:本文包括三个版本,分别是极简版、普通版、高

本篇内容主要讲解“怎么使用C语言实现计时器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用C语言实现计时器”吧!

实现思路

简单介绍一下我的实现思路:
本文包括三个版本,分别是极简版普通版高级版

  • 极简版:简单的单次倒计时,只能设置秒数,计时通过Sleep()函数实现(粗略倒计时),先输入秒数cnt,然后每过1秒(Sleep(1000),cnt减1,直到cnt变成0,就退出程序。

  • 普通版:可设置计时的hour,min,sec),计时通过time()函数实现(用来获取当前系统时间的秒数),进入while循环,判断系统时间秒数是否变化,如有变化,说明过了1秒。这时将秒数sec减1,当sec减到0,下一秒就将分钟min减1,同时sec变为59。分钟min和小时hour的变化关系与秒和分钟的关系类似。一直循环倒计时,直到hour,minsec都变为0,此时计时结束,进行报警提示printf(\a'))。

  • 高级版:在普通版的基础上,增加重复计时暂停计时的功能。首先需要设定计时时间,然后按下空格键开始计时,再次按下空格键,可以暂停倒计时,同时设置的倒计时时间具有记忆功能,即计时结束后,再次按下空格,依然按照上次设定的计时时间进行计时。

 1.极简版本

极简版代码很简单,就不多作介绍了。

#include <stdio.h>#include <windows.h>     //Sleep(ms)int main(){    int cnt = 0;    puts("输入秒数");    scanf("%d", &cnt);    while(cnt >= 0)    {        Sleep(1000);        printf("%d\r", cnt);        cnt--;    }    printf("计时结束\n");    return 0;}

运行效果

怎么使用C语言实现计时器

2.普通版本

普通版本也很简单,主要包括:

设置计时时间倒计时蜂鸣器报警(系统提示音)
#include <stdio.h>#include <time.h>int main(void){    int hour = 0, min = 0, sec = 0;    time_t time_sec = 0;    time_t old_sec = 0;    printf("请设置计时时间——时 分 秒\n");    scanf("%d%d%d", &hour, &min, &sec);    time(&time_sec);              //获取当前秒数(1970-1-1 00:00:00到现在)    printf("倒计时——%02d:%02d:%02d\r", hour, min, sec);    old_sec = time_sec;           //更新旧的秒数    while(hour > 0 || min > 0 || sec > 0)    {        time(&time_sec);          //获取秒数保存到time_t变量        if(time_sec != old_sec)   //如果秒数改变(计时达到1秒)        {            old_sec = time_sec;   //更新旧的秒数            if(sec > 0)                sec--;            //计时秒数减1            else            {                sec = 59;         //如果原秒数为0,则变为59                if(min > 0)                    min--;        //计时分钟减1                else                {                    min = 59;     //如果分钟数为0,则变为59                    hour--;       //计时小时数减1                }            }            printf("倒计时——%02d:%02d:%02d\r", hour, min, sec);        }    }    for(int i = 0; i < 5; i++)    {        printf("\a");             //响蜂鸣器(或系统提示音)        sleep(1);                 //延时1秒,太短电脑不发出声音    }    puts("\n计时结束\n");    return 0;}

运行效果

怎么使用C语言实现计时器

3.高级版本

在普通版本的基础上添加了菜单打印键盘按键扫描两部分代码。
程序的核心为 pause_flagmenu_flag这两个标志,前者控制倒计时的开始暂停继续,后者控制菜单是否需要刷新(只有程序第一次运行设置计时时间计时结束时才需要打印菜单)。

#include <stdio.h>#include <time.h>#include <coNIO.h>                 //kbhit()/_kbhit(),getch()#include <Windows.h>               //Sleep(ms)int main(void){    //动态计时参数(打印值)    unsigned int hour = 0, min = 0, sec = 0;    //默认值(设定的计时参数)    unsigned int hour_def = 0, min_def = 0, sec_def = 0;    time_t time_sec = 0;    time_t old_sec = 0;    char key;    int pause_flag = 1;            //暂停标志    int menu_flag = 1;             //菜单打印标志    while(1)    {                if(menu_flag == 1)        {            menu_flag = 0;            system("cls");          //Windows系统清屏命令            printf("================================\n"); //菜单            if(hour_def || min_def || sec_def)                printf("|\t倒计时时间:%02d:%02d:%02d\t |\n",\                       hour_def, min_def, sec_def);            else                printf("|\t未设置计时时间\t\t|\n");            printf("| S:设置 空格:开始/暂停 Q:退出 |\n");            printf("================================\n");            if(pause_flag == 0)            {                printf("计时结束\n");                for(int i = 0; i < 5; i++)                {                    printf("\a");             //响蜂鸣器(或系统提示音)                    sleep(1);                 //延时1秒,太短电脑不发出声音                }                pause_flag = 1;          //停止计时            }        }                key = 0;        if(_kbhit())                      //检测到按键按下            key = getch();                //读取按键        switch(key)        {            case 's':                     //按s/S设置计时时间            case 'S':                printf("请设置计时时间——时 分 秒\n");                scanf("%d %d %d", &hour_def, &min_def, &sec_def);                if(hour_def > 24 || min_def > 59 || sec_def > 59)                {                    //printf("时间设置失败\n");                    hour_def = min_def = sec_def = 0; //重置时间                }                hour = min = sec = 0;       //计时值清零                menu_flag = 1;              //打印菜单                break;            case ' ':                       //按空格键开始/暂停计时                if(hour_def || min_def || sec_def)   //如果时间有效                {                    if(pause_flag)                    {                        pause_flag = 0;     //开始计时或继续计时                        if(!hour && !min && !sec) //计数值为0                        {                            hour = hour_def;   //读取上次设置的时间                            min = min_def;                            sec = sec_def;                            //打印初始时间                            printf("倒计时——%02d:%02d:%02d\r",\                                   hour, min, sec);                        }                    }                    else                        pause_flag = 1;     //暂停计时                    time(&time_sec);        //获取当前秒数(1970-1-1 00:00:00到现在)                    old_sec = time_sec;     //更新旧的秒数                }                break;            case 'q':            case 'Q': printf("程序退出\n");return 0;        }                time(&time_sec);              //获取秒数保存到time_t变量        if(pause_flag == 0 && old_sec != time_sec)        {            old_sec = time_sec;       //更新旧的秒数            if(sec > 0)                sec--;                //计时秒数减1            else            {                sec = 59;             //如果原秒数为0,则变为59                if(min > 0)                    min--;            //计时分钟减1                else                {                    min = 59;         //如果分钟数为0,则变为59                    hour--;           //计时小时数减1                }            }            printf("倒计时——%02d:%02d:%02d\r", hour, min, sec);            if(!hour && !min && !sec) //计时结束                menu_flag = 1;        //打印菜单        }    }    return 0;}

运行效果

怎么使用C语言实现计时器

到此,相信大家对“怎么使用C语言实现计时器”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么使用C语言实现计时器

本文链接: https://www.lsjlt.com/news/305826.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用C语言实现计时器
    本篇内容主要讲解“怎么使用C语言实现计时器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用C语言实现计时器”吧!实现思路简单介绍一下我的实现思路:本文包括三个版本,分别是极简版、普通版、高...
    99+
    2023-06-25
  • c语言定时器功能怎么实现
    在C语言中,可以使用``头文件中的`sleep()`函数来实现简单的定时器功能。`sleep()`函数用于使程序暂停执行一段时间,参...
    99+
    2023-08-30
    c语言
  • 用C语言实现计算器功能
    本文实例为大家分享了用C语言实现计算器功能的具体代码,供大家参考,具体内容如下 代码如下: #include<stdio.h> //C语言编写计算器程序 ^_^ v...
    99+
    2024-04-02
  • 怎么使用C语言实现Hash表
    这篇“怎么使用C语言实现Hash表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用C语言实现Hash表”文章吧。什么是...
    99+
    2023-07-05
  • C语言光标旋转与倒计时功能怎么实现
    本篇内容介绍了“C语言光标旋转与倒计时功能怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、光标旋转首先问大家一个问题,大家觉得回车...
    99+
    2023-06-21
  • 怎么用C语言实现简单的计算器功能
    这篇文章主要讲解了“怎么用C语言实现简单的计算器功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C语言实现简单的计算器功能”吧!简单计算器,实现简单的加减乘除功能,选择对应的运算符输...
    99+
    2023-06-29
  • C语言怎么实现24点游戏计算器
    要实现24点游戏计算器,可以使用递归的方法来进行计算。以下是一个简单的C语言实现:```c#include #include #de...
    99+
    2023-08-18
    C语言
  • C语言实现计算器的代码怎么写
    这篇文章主要介绍了C语言实现计算器的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言实现计算器的代码怎么写文章都会有所收获,下面我们一起来看看吧。C语言计算器两种方法//一般做法#include&...
    99+
    2023-06-29
  • C语言实现简单计算器
    本文实例为大家分享了C语言实现简单计算器的具体代码,供大家参考,具体内容如下 实现效果如图: 实现代码如下: #include<stdio.h> #include...
    99+
    2024-04-02
  • C语言实现个税计算器
    最近在学C语言基础,在导师的指导下,先准备写个个税薪资计算器。这是一个简单的C语言小demo。主要用到了C语言的函数,if选择语句。 程序的主要代码如下(可运行): #inclu...
    99+
    2024-04-02
  • 怎么用C语言实现经典多级时间轮定时器
    本篇内容介绍了“怎么用C语言实现经典多级时间轮定时器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!多级时间...
    99+
    2024-04-02
  • 怎么使用Go语言实现时间轮
    本文小编为大家详细介绍“怎么使用Go语言实现时间轮”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Go语言实现时间轮”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。时间轮概述时间轮是一种基于时间概念的循环缓...
    99+
    2023-07-05
  • 怎么使用C语言实现音乐播放器
    本文小编为大家详细介绍“怎么使用C语言实现音乐播放器”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用C语言实现音乐播放器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。介绍该程序是一个小的DEMO,实现了以...
    99+
    2023-07-05
  • C语言小项目计时器的实现思路(倒计时+报警提示)
    目录实现思路 1.极简版本运行效果2.普通版本运行效果3.高级版本运行效果大家对计时器应该不陌生,我们在制定一个计划时,经常喜欢设置一个倒计时来规定完成时限,等到计时结束,...
    99+
    2024-04-02
  • 怎么使用C语言实现圣诞树
    要使用C语言实现圣诞树,你可以使用基本的输出函数 printf() 来打印出树的形状和装饰。下面是一个简单的示例代码:```c#include int main() {int height = 5; // 定义树的高度// 打印树的上半...
    99+
    2023-08-09
    C语言
  • C语言实现实时钟表
    本文实例为大家分享了C语言实现实时钟表的具体代码,供大家参考,具体内容如下 一、最终效果展示 效果图如下: 二、绘制静态秒针 代码如下: #include<graphics...
    99+
    2024-04-02
  • 怎么用c语言实现类
    在 c 语言中,类无法直接实现,但可以通过使用结构体、函数、指针和宏来模拟类行为。这种方式允许:使用结构体表示类的属性或字段。使用函数表示类的行为或方法。使用指针存储对结构体的引用,代表...
    99+
    2024-04-13
    c语言 c++ typedef
  • C#中使用Stopwatch计时器实现暂停计时继续计时功能
    最近程序上用到了计时功能,对某个模块进行计时,暂停的时候模块也需要暂停,启动的时候计时继续 用到了Stopwatch Stopwatch的命名空间是using System.Diag...
    99+
    2024-04-02
  • C/C++使用C语言实现多态
    目录1.多态的概念1.1什么是多态?1.2为什么要用多态呢?1.3多态有什么好处?2.多态的定义及实现2.1继承中构成多态的条件2.2虚函数2.3虚函数的重写2.4C++11 ove...
    99+
    2024-04-02
  • C语言如何实现古代时辰计时与现代时间换算
    这篇文章主要介绍“C语言如何实现古代时辰计时与现代时间换算”,在日常操作中,相信很多人在C语言如何实现古代时辰计时与现代时间换算问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现古代时辰计时与现代时...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作