【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. 如果對您有幫助可以點贊、收藏、關注,將會是我最大的動力 ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章