【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]


  1. 如果对您有帮助可以点个赞或关注,将会是我最大的动力 ↩︎

猜你喜欢

转载自www.cnblogs.com/CoutCodes/p/12557254.html