【C语言】简易倒计时器(报警提示)

  1. 前序
    最近几天学业有点繁重,所以一直没时间来谢谢博客,再加上我懒哈哈哈哈,所以鸽了几天哈哈哈哈哈(ಡωಡ)那接下来让我们来进入今天的主题【C语言】简单计时器的分享
    相信大家在生活中或多或少都有设置闹钟的习惯吧,就我个人而言,每天的早八都得7.30起床,所以闹钟就必不可少了,再者泡面泡的时候要等3分钟awa等等。
    原文参考如下
    链接

  2. 参考资料
    在开始编程之前,我们要先知道这个程序要用的头文件除了<stdio.h>这个头文件还有以下两个<time.h>和<Windows.h>。

  • <time.h>这个头文件主要的用途:返回一个值,即格林尼治时间1970年1月1日 的
    00:00:00到当前时刻的时长,时长单位是秒。在time()函数中有两种使用方式:
    (1)-----t1=time(NULL)或t1=time(0),
    将空指针传递给time函数,并将time()的返回值赋值给变量t1;
    (2) ------time(&t2);
    将变量t2的地址作为实参传递给time()函数,函数自动把结果传递给t2,不需要额外的赋值语句。
    这里我们将分别打出两种方式(time_t 其实等价于long int)

    从上图可以看出这两种方式的值都一样,那我们试试再运行一次看看会不会与上次的结果一样-------------------------------------di------------di--------------------------------------------------------

    不难看出,这两次的结果都不一样,那么聪明的你一定知道了这个time()的值会一直不断增加变化。
  • 对于代码中Sleep()在运行的时候要包括<Windows.h>头文件,Sleep一般被称为睡眠函数,指的是让系统休眠一段时间,()中是输入时间长度,一般是以毫秒为基本单位,即要休眠1s就要输入1000,以此类推。

3.代码区
介绍完了要用的头文件相关知识,接下来让我们进入编程┗|`O′|┛

#include <stdio.h>
#include <time.h>
#include<Windows.h>
int main(void)
{
    int hour = 0, min = 0, sec = 0;
    time_t time_sec = 0;       //time_t相当于long int
    time_t old_sec = 0;
    printf("请设置计时时间——时 分 秒(用空格隔开)\n");
    scanf_s("%d%d%d", &hour, &min, &sec);
    old_sec = time_sec;           //更新旧的秒数
    while (hour > 0 || min > 0 || sec > 0)
    {
        time(&time_sec);          //获取当前秒数(1970-1-1 00:00:00到现在),然后将秒数保存到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("还有多久就能干饭了:");
            printf("倒计时——%02d:%02d:%02d\r", hour, min, sec);
        }
    } 
    printf("\n");
    for (int i = 0; i < 20; i++)   //报警提示 时间倒计时结束会响20次
    {
        printf("警报响了%d次\r", i+1);
        printf("\a");             //响蜂鸣器(或系统提示音)
        Sleep(1000);                 //延时1秒,太短电脑不发出声音
    }
    puts("\n计时结束\n");
    return 0;
}
  • 运行效果如下┗|`O′|┛
    我们输入0 0 6即6秒,接着程序会进行倒计时,到0时会响起警报(电脑系统的警报声)
    一共会响20次,这个可以自己设置的红红火火恍恍惚惚
    在这里插入图片描述
    在这里插入图片描述
    那么今天的分享就over了~
  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值