【C/C++】极简控制台小闹钟
链接地址:【C/C++】极简控制台小闹钟
一个自己捣鼓的很简单的控制台小闹钟,其实还蛮好玩的哈哈。
一、实现代码
#include<iostream>
#include <Windows.h>
#include <stdlib.h>
using namespace std;
void UpdateTime(int*, int*, int*); //倒计时函数
int main() {
cout << "利用倒计时响铃---需正常输入整数" << endl;
int* hour = new int();
int* minute = new int();
int* second = new int();
cout << "请输入您要设置闹钟的小时数:";
cin >> (*hour);
cout << "请输入您要设置闹钟的分钟数:";
cin >> (*minute);
cout << "请输入您要设置闹钟的秒数:";
cin >> (*second);
system("cls");
while (1)
{
SYSTEMTIME sys;
GetLocalTime(&sys); //获取本地时间
cout << "-------------闹钟----------------" << endl;
cout << " 北京时间:" << sys.wHour << "时" << sys.wMinute << "分" << sys.wSecond << "秒" << endl;
cout << endl;
cout << "闹钟将会在:" << (*hour) << "时" << (*minute) << "分" << (*second) << "秒后 响起" << endl;
(*second)--;
UpdateTime(hour, minute, second);
if ((*hour) == 0 && (*minute) == 0 && (*second) == 0) //时间到了
{
cout << "时间到啦,快起床啦" << endl;
int i = 20;
while (i > 0)
{
cout << '\a';
cout << "响铃" << 20 - i + 1 << "次" << endl;
i--;
Sleep(1000);
}
cout << "太阳下山了,闹钟关闭了" << endl;
break;
}
Sleep(1000);
system("cls");
}
return 0;
}
void UpdateTime(int* hour, int* minute, int* second)
{
if ((*hour) != 0 && (*minute) != 0 && (*second) == 0) //第一种情况-110
{
(*second) = 59;
(*minute)--;
if ((*minute) == 0)
{
(*minute) = 59;
(*hour)--;
}
}
else if ((*hour) != 0 && (*minute) == 0 && (*second) == 0) //第二种情况-100
{
(*hour)--;
(*minute) = 59;
(*second) = 59;
}
else if ((*hour) == 0 && (*minute) != 0 && (*second) == 0) //第三种情况-010
{
(*second) = 59;
(*minute)--;
}
}
二、运行效果
如有不足之处,还望指正 [1]。
如果对您有帮助可以点个赞或关注,将会是我最大的动力 ↩︎